Bryan Flamig talks about what purpose C++ still has now there are higher-level programming languages such as C# and Java: "My applications and mindset are anything but. I'm an engineer at heart, and currently am working hard on a new photo-image editor. This editor will be able to handle very large image files, and I try hard to make it scale reasonably well. This application does *not* fit the forms-based database application model at all. And the efficiency of the language chosen for development matters greatly. I just can't imagine reading in a 560MB image file with multiple layers in C# and having it display with any sort of real-timeness at all. I seriously doubt C# could, on its own, even handle such a task. (Having C# call out to some third party library, written in C++ or assembler doesn't count!)"
Also read the comments