There used to be a time where computer programming used to be limited to a handful of people. Today, computer programming is for anyone interested. A question I have not seen asked is "Why are we lowering our standards in regards to what language a newbie should learn?"
Many reasons, but I'll list a few. Easier languages allow for increased productivity when programming, faster way of grasping programming basics, and less problems for newbies.
- Aren't companies the ones looking for increased productivity? I thought increased productivity comes from a team effort on a project rather than the language itself, maybe I am wrong.
- Sure, something like C# would be a faster way to gain the basic skill needed to advance, but do you understand the basics? Understanding is more important than just using.
- Newbies will always find problems, no matter what. I know some newbies want to be 'daring' and go for lower level languages first, but I lower languages 'kind of' force you to learn the basics. Without the basics, you are good as gone. Problems are basic, finding them is tedious, fixing them is easy, but thinking is the challenging part.
I jumped from PHP to C++, which was possible since PHP has a simliar syntax structure to C and C++. Why is it that newbies are told to get into Python, Java, or C# then go on to C++? It is still a matter of choice and depends on motivation of the person. Lets's say a person chooses C++ and is motivated to learn it, then it is more than probable that person will learn it as opposed to the person driven by an impulse to suddenly build something (like an MMO!) on a computer.
Some people want only the basics, some the advanced, and some just want to build. Totally understandable, but when someone is looking to learn C++ I'd suggest looking at history and reading about programming motivations the see if C++ is needed for the job.