Fallacy of programming to any language

February 23, 2017

Somehow lately I have been in numerous discussions about programming languages, and which language is interesting, better, etc. The only consensus, is that there is no consensus. Different people choose different programming languages, and most of the time there are quite opinionated about them. (I do have my personal preferences, which I express them quite vividly ;)). However, there is another point that most people also agree:

If you are a programmer, you can learn and use any language.

I can easily agree with that. If someone knows the basic stuff of programming, and has learned the required discipline, the basic data structures and most important a certain way of thinking, then if it is much easier and faster to learn a new programming language. A programmer also has a large corpus of problems that he already well understands and can use them as playground in order to acquire the nuisances of the new language. It can be more hard if you learn also a new  programming paradigm, but even in this case the odds are much better.

However, the fallacy arrives from the distortion of the above sentence. A lot of people use this sentence in the following way:

You are already a good programmer, so I am sure it will be really easy for you to pick <<insert your worst possible language>> very fast and write code in it.

I regard this as a fallacy,because people mix ability with will. Pardon the improper wording but it sounds like the equivalent of : “You are a guy, I am sure you can have sex with any girl”. The reason that I do have the required skills (equipment in this case) to do something, does not mean that I want to do it. Of course, if I am forced I can certainly do it, but it will be bad performance, miserable, and in the end probably will leave a really bad feeling (sometimes even an trauma).   The reason people fall into this fallacy, is that they do not regard programming as an art, but as a mundane pressing of buttons that produces something useful after a proper level of coffee.

I do regard programming as a form of art, close to writing a prose (with more strict rules). It is not just the solving of a well formed mathematical problem (in many cases), but also a form of expression. This differentiates beautiful code, from ugly one. There is even research that shows programming in the brain activates more the language centers than the mathematical ones (for example here : https://computinged.wordpress.com/2017/01/23/scientists-looking-at-programmers-brains-see-more-language-than-mathematics-the-neuroscience-of-programming/ but I have not looked exhaustively into it).  So different programming languages matter because they are the tools of our expression (like a painter uses different types of brushes). These are very important tools, because as we shape our tools, the tools shape us back. I have seen very few people who are indifferent on the programming language they use, but even in this case most of them have quite strong preferences, but also quite tolerant on what they would use. Each person has different level of tolerance on different things, but it not always wise to test them. 😉

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: