Quote:
Originally Posted by Shoe Lace
Modern programming today is all about "good enough" because of how quickly computing power is scaling up. That in itself is a pretty big problem for reasons other than it being an actual problem (for now).
Time sensitive / critical applications will likely always be written in a low level language because the amount of overhead is less.
Look at Google. Why aren't they using .NET or even Python to serve all of their content? Because on a performance level it's not good enough. Most of their extremely time sensitive content is written in C++. This obviously falls out of the 95% case but my point was it's not a waste of time. There's always going to be time sensitive applications where squeezing out every last ounce of performance is of utmost importance.
Sure, I'm not saying it has no place.
It's just a very specific niche, and for the overwhelming majority of applications, it's not as if they are "good enough" but would have better been written in C. The high level language is usually the right choice on all fronts.
To take your google example, both python and java are also official languages used there. I'm not sure how the use breaks down, but I'd be willing to bet they aren't using C++ any place they don't have to.
If OP wants to learn modern computer programming, I don't see how you can argue that C++ is a better choice than something like python, haskell, or java, with a focus on learning high-level design.
If OP is specifically interested in understanding low-level details of how programs work, that is a different story. But that understanding will have very limited application to the actual writing of well crafted, well-designed real world programs.