I’m a big lover of Programming Languages. I know there is not one language suited for all tasks and whilst I may dislike certain languages I also realize that in the end most things can be accomplished in any of the common general purpose languages available today. Not all will be as concise or as readable or as “pure”, but give or take you can express most problems in a slew of different languages. Of course there is the odd whack job who thinks you can do everything in SQL or COBOL, in fact I remember meeting a guy who actually wrote a COBOL compiler in COBOL – now that was a dedicated individual!
When I wrote my Ph.D. I developed five different special purpose languages and wrote interpreters for them all. The core language was called CARESS – no it was not a contraceptive, but stood for “Concurrent Assignment REpresentation of Synchronous Systems”. It was even used by the third year undergraduates at the time. Nothing earth shattering but I felt the need to write these languages and they became a integral part of my Ph.D. Naturally, those languages don’t exist today. But many from the 70’s, 80’s, and 90’s do.
But why so many? I’d like to think it is not just about making money and market share, but rather because developers are passionate people who feel so strongly about their craft, that they design a whole language that enables them to express themselves perfectly.
Looking at the list I get a warm satisfaction seeing that my old love “C” is at 2, and Python is at 7 and rising.
I’m looking forward to doing a lot more with Python later this year, although sadly it seems my current project will take longer than I hoped – if only I had a more expressive language …