I am a university student studying programming based on myself I intend to specialize in front end as a first step.
thanks sir for replying.
Because a lot said to me you should start with c++ and data structures and algorithms before you learned any programming language and some said to me start with python.
So I was confused about setting my way.
Rest assured that this advice borders on nonsense.
Not knowing any programming language, you’ll have a very hard time understanding what is even meant by algorithms and data structures. Learning any programming language first is way easier, and also what the vast majority of people do.
C++ is not great as a beginner’s language. You do not need its troubles; I recommend you avoid it for now.
When I’m writing C++ for a few months, I recommended everyone start with C++.
After I switch to Python for a few months, I recommended everyone start with Python.
Then I learned Go and used that for a while; I I recommended everyone start with Go.
So long as you’re putting in the work and learning a language, you’re learning to program. The more programming you know, the easier it gets to switch between languages. Which language you start with doesn’t matter nearly so much as that fact that you start and keep at it!
thanks a lot of for your advice.
No so. The commonalities between ‘all’ programming languages – or even just all fairly well-known ones – are actually few. (Try me! I’ll find counterexamples.) However, most of the very most popular languages are related to each other, and so tend to be similar.
Having started with the ‘wrong’ first language really won’t cost you anything much.
Semiregularly I see aspiring/beginner programmers aim for a ‘strong base’. I do not really have data to back it up, but I have the feeling that this is unwise.
This concept of a ‘strong base’ very fuzzy (when exactly would you have attained this ‘strong base’, and what would you do next?), very likely misguided (since you – a beginner – do not yet have a decent overview of the field), and also might constrain your learning, e.g. by leading you to withhold from learning about certain things because you think you ‘aren’t ready yet’, or to focus on unimportant things (that you think lie on the route to the ‘strong base’).
I recommend against vague grand plans*, and suggest instead to do whatever. Your learning will be most efficient when focusing on stuff that interests you right in that moment, so just follow your nose. There’s not much you can do ‘wrong’, there is hardly any ‘damage’ to fear.
You’ll be hopping between various languages fairly easily anyway. This is not contingent on you first language.
* Not to say that plans in general are harmful! Rather, you are not obligated to follow a plan in learning to program. Some people find it easier to keep at it when they keep a study plan. If that’s you, than by all means do keep a plan.
I would recommend freecodecamp or theodinproject if you are planning to go the front end route, since both (esp the odin project) are focus on that end.
If you really only have time to pick one of those 2, i would recommend the odin project, they have projects that will ask you to build webpages and stuffs.
And keep solving problem on exercism to understand the language better since a lot of the problems here are designed to introduce you to various concepts of the chosen language and computer science that you might have missed.
If you prefer more interactive material, I can highly recommend these free resources:
- HTML & CSS Crash Course with Kevin Powell.
- Learn HTML and CSS with Per Harald Borgen.
Disclaimer, I used to work at Scrimba but I have seen how effective the format is for beginners to get started.