Why would you learn C++ in 2016?
The target audience for the code I write is not the compiler but my coworkers and the gals and guys who will maintain the stuff after I leave a project.<p>So I prefer to choose a language where I can nicely express the intent of what I code. Java is a good compromise, because it&#x27;s easy to follow (even if it&#x27;s quite verbose and mainly stuck in the world of nouns).<p>C++ is hard for that. It&#x27;s an extremely complex language that got extended over the years and it takes a quite long time to master, for example compared to Java.<p>Yes I know, C++ is more &quot;capable&quot; than Java but it&#x27;s not efficient in the hours-spend-per-solved-problem way of things.<p>Yes I know, there are you C++ whiz kids out there who are insanely fast using the language. But I experienced teams using it, and in a team C++ does not scale well. Adding more and more features to it makes it a cool language, but not one which I like to use in my day job.<p>And I&#x27;m not sure what I&#x27;d use it for. I use Java for the day-to-day boring &quot;enterprise&quot; world, twiddle around with dynamic languages for the hobby (yay to the recurrence of lisp!) and for close to the hardware stuff I&#x27;d use plain C - which is a not so bad language at all. And it&#x27;s hard to beat speed-wise, writing C++ that keeps up with C is possible but not trivial.<p>And if I&#x27;d have to look forward I&#x27;d check out rust or go or even look at some really mindbending stuff like erlang. Parallelism can&#x27;t be evaded in the modern world and using a language tailored to that is a great thing. (Yea, I&#x27;m sure there also is a C++ library implementing the actor model).