I studied Computer Science, have always been a Java developer and I am still young, living in London.
I am considering picking up C++ more seriously so that I can spend more time closer to the metal where there is more to learn which is closer to my technical inclination.
However, I worry about the job market for C++ developers who want to be rewarded for their technical ability. I know in the past few years we have seen a boom in the financial industry around high performance systems, but are we seeing the tail end of C++'s popularity? [1]
It seems like a very vague question, but given the current trend, would I be shooting myself in the foot if I jumped the Java ship and embarked on a 5 year quest to learn to ins and outs of C++?
Is C++ here to stay as the language of choice for ultra high performance? Is there sustainable demand for the benefits of C++?
[1] http://langpop.com/timeline.html
System programming still considers C/C++ the best. Heavy applications that need good performance are still built using C/C++. For example, Google Chrome, Adobe Photoshop, Games etc.
For developing "Business Applications", they need a rapid delivery system, easiness of development, better collaboration etc., and most of the business systems consider Java programming. Because Java has a good collection of libraries and frameworks, great support and documentation. It's suitable for both desktop (Eclipse IDE is developed in Java) and web applications.
Other popular business application languages include Javascript (not related to Java in any ways), Python, Ruby, Scala etc.
So, you need to consider which is your preferred area to work on.
- If you are too much interested in developing OSs, drivers, games, or high-performance applications, you can go with C++.
- If you like to develop business systems (like websites, weather APIs, BigData analysis, this HackerNews website, social networks, online-shopping, share-trading platforms etc.) you can leave C++ and learn some trendy langs like Java or Ruby.