Since C++ is my favorite language, and the one that I am most comfortable with as it is my first programming language, I might be a bit biased. That being said, any experienced software developer would tell you C++ is freaking hard, and I accept that 100%. But so is quantum physics, calculus, marriage, self-discipline, taking seminars, talking with girls, and successfully initiating a hack in Watch Dogs.
C++ is a statically typed language, which in practice means that we as the programmer ought to tell the compiler what type each variable is. For someone who hasn’t learnt any other programming language before, this might seem like a trivial matter. But once you start to use dynamically typed languages like Python, Ruby and Perl, you’ll understand how a pain in the neck C++ is.
That being said, I love C++. I believe that C++ is the king of all programming languages, and all other language programmers ought to worship C++ programmers.
C++ is a super set of C, which is the mother of all programming languages, and has the Object Oriented Programming paradigm of Java, which gives it the best of both worlds.
Learning the language
Learning a language like Python is like learning to drive a bike. Learning C++ is like learning how to manufacture, assemble, and drive a car.
Dynamic languages == Faster Development
C++ == Power
Almost all AAA games are written in C++, starting from Assassin’s Creeds to Watch Dogs cause of the efficiency and flexibility of the language. That being said, C++ is not a general purpose language and thus not widely applicable for every domain. But by learning C++, you are learning not just the language, but bits of computer architecture, compiler design, operating systems, object oriented programming, memory management etc.. So learning C++ not only adds a programming language to your resume, but also makes it easier for you to learn other programming languages.
But, I’m warning you, learning C++ might not be the most efficient way for you to get into computer programming, especially when it’s the first programming language that you learn. I learned C++ as my first language, and I should be honest, that I wasn’t making anything useful for the first 1 and half years due to the major reason because C++ has very little application outside of the power hungry purposes like game development and coding operating systems. For any other application, people would use a much ‘easier’ language like Python or Java or C# and so on. The main reason why a person would start with C++ as their first language, is because its a part of their school or university curriculum, and for no other reason.
So if your’e looking for a more efficient way to get into programming, your best bet would be to start of with a language like Python which has so many applications in every field possible(especially hacking😉).
By this time you might have decided to either learn or not learn C++. If you do wanna learn, check out my tutorial series on learning just the language(not on making games with it), which is mainly aimed to make it easier for a person of any skill level, to learn the language at their pace. Its completely free, so be sure to check it out in the link given below.