Tuesday, 19 June 2012

Twitter arguments and languages

I recently got into a discussion/argument on twitter. I try to avoid this as it is basically impossible to argue properly in 140 character chunks but sometimes I succumb to the temptation.

This discussion was about Erlang and what it was good for. Towards the end the other guy said that he hated "Languages that cram bizarre "paradigms" down people's throats", to which I replied that if he doesn't like them then don't use them and to stop whining about it. Which is not a too bad reply in 140 characters.

Thinking about it later I realised that all languages cram their more or less bizarre paradigms down people's throats, some even multiple paradigms. It's just that we don't notice it when it is a paradigm with which we are familiar. I find functional programming natural so to me Erlang is just stating the obvious; it is much worse with these weird OO-languages which have some strange concepts like "mutable data". Whatever that is? And how can they live with not using {} for tuples?

Seriously, just pick the best language/paradigm for what you are doing, stop whining and get on with it. And accept the fact in a larger application there is generally no one best language so be prepared to go polyglot. Though I will admit that best is not always easy to define and you don't always like the answer.