Monday, April 19, 2010

Old but Not Dead Languages

How can it possibly be that in this survey of programming language popularity, the C programming language is back at number 1 position?

I love technology history more than the average person, but I am dumb-founded that with all the software engineering development, object-oriented design, and graphical user interface work that's happened over the decades, we are relying on a language designed before many practicing engineers were born! (People may complain about Verilog HDL's crustiness, but it's "only" 25 years old.)

Though software engineering is not my principal occupation, I do enjoy programming and languages. I know "C" well enough to quickly shoot myself in the foot, but think Java is a far more elegant language. It's sort of like I've heard that Python is a better scripting language, but everyone still uses Perl.

Anyone have explanations for why "C" remains so popular? Isn't this a significant reason why computers have so many security holes? When you hear about "buffer overrun" and "malicious code execution", think "C" pointers! I can see using "C" for embedded systems if resources are very limited, but otherwise, I'm truly surprised by this survey.

2 comments:

ColinW said...
This comment has been removed by the author.
ColinW said...

The old joke in Bell Labs was "C has all the power of assembly, but with the ease of use of assembly." Maybe C is popular because you can read K&R's book in an afternoon? Or because its grammar fits on six pages? Or because "C is a general-purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators."