In Praise of C and C++
Introduction
While Java and C# have been receiving all of the publicity of late, a lot of software is still being written in C and C++. Indeed, many traditional languages such as COBOL, FORTRAN, and Ada are still in widespread use. Although I harbor a certain fondness for COBOL, and have written more Java code over the past five years than is probably good for me, I'm finding more and more that I'm drawn back to C and C++.
I'm coming back to C and C++ in part because I prefer stable development environments, and because I've come to appreciate the power of object-oriented scripting languages, particularly Ruby. Ruby is evolving rapidly, but then I don't try to write really long-lived code in a scripting language. I use scripting languages for code that I want to be able to write rapidly, to test ideas or to implement some valuable functionality quickly.
For applications that have to last a long time, I prefer to use C and C++. Java is kind of neat in some ways, but it has been a moving target. Just as you get an application working with one set of class libraries, the rest of the Java community adopts a different implementation as the "standard"at least for the next year or so. And to add to the fun, there are always the rumors about Java being radically changed by the addition of templates, something that would drastically alter the class libraries yet again.