Tuesday, December 21, 2010

The Semicolon Wars - a very nice article about the cacophony of programming languages

Here is the link for the article, written by Brian Hayes, who argues that programmers should rather communicate peacefully, rather than fight each other over the language they are using. In the end it didn't really reveal anything grandieuse, but his post was detailed and funny and nice to read.

Update: I've thought about the article and I feel I have to add to this post.

First of all, I have to admit, as the author of the initial article admited that he is a Lisp fan, that I like the C-like structure of programs (minus the pointers :D). Actually, I would go so far as to occasionally dream of building an application which would convert Python and F# and Lisp and all those wacky languages into a semicolon/curly bracket version that I could use, then convert it back to their normal format before compilation or use. I agree with the author that the syntax itself is not very relevant to the language, but it is relevant to the users. I can "read" C#-like code much easier because by now I am fluent in C#. I believe that a nice option is to have the kind of functionality I am describing: something that would not change the language, but would slightly change the syntax so that someone can read it more easily.

Second of all, I am amazed that something that started as a nice introduction to an idea would continue with an admission (of guilt >:) ) that the author likes Lisp and then abruptly end. He didn't mention anything about the .Net idea which tries to unify a lot of programmaing languages under an intermediate compiler language. This brings the great opportunity to use a library written in a language with an application written in another. If that is not a good idea, I don't know what is!


Brian Hayes said...

It's not liking Lisp that makes me feel guilty. It's writing about the silliness of disputes over which language is best, and then having to admit that I have a favorite language of my own. I want to be a peacemaker, but I'm not really impartial.

Siderite said...

Heh, thanks for commenting. The "guilty" part was from me, sentencing you. At least on my blog I can be judge, jury and executioner all in the same time :)

I agree with you that some languages are better at some jobs than others, but they are suited to some people better than others as well. I believe this is part of our personality as developers. It's like the clothes we wear, that declare to the world a bit of who we are. You cannot be impartial about programming languages more than you can be impartial about what you are getting dressed with when you go to work.