Yeah, your caution about dipping into the religious wars over programming languages is smart. But it doesn't get me exercized, because I think we just need to use the right language for each situation.
The best C++ programmers are still using C++ to do system-level programming or to code performance bottlenecks in applications. Lesser C++ programmers flocked to Java and now C# for their "training wheel" features that make up for a relative deficit in programming skill (I should hasten to add that C++ is so difficult to do right--to avoid hanging yourself--that the skills required of a good C++ programmer set the bar so extraordinarily high that nobody should be ashamed of using Java or C#). TANSTAAFL: Built-in bounds checking and memory management and all the other protective features of Java and C# come with a necessary price in the form of lower performance and code bloat. Sometimes that overhead is unacceptable and you just have to use C/C++.
The right language for the job sometimes takes you to unexpected places. Back when I was writing image processing software I did most of it in Visual Basic, of all things. But that was because the majority of the code didn't require high performance, to do things like managing the UI and file I/O. I used C/C++ only for the actual image processing routines, where performance is everything. One of the things I really like about Microsoft's .Net architecture is that it makes it easy to mix and match programming languages so that you get to pick the right language for any situation.
Peace, C++ still has its place, as do most other languages (though I still can't figure out why there should even be an abomination like Perl).
Geek Speak » in reply to oh, either that or stop writing software in languages like C++
Thou Shalt Have No Other Language Before ME!
