Skip to content

On Programming Languages and Personal Taste

Today on devRant I saw another one of the all too common hate posts, this time on Python. You can read it yourself, and the comments on it, here: It was clear to me that this person was new to Python, and many of the points they made were easily explainable knowing a bit more about Python. But it is no good to systematically refute the arguments they make, because the root of the problem lies deeper.

Such rants which are just "I hate <XYZlang>" are quite stupid if you think about it. If everyone hated XYZlang, it wouldn't exist. The fact that XYZlang exists and people use it proves that you are wrong. (This is of course not to hate personally on the author of that particular post, or anyone else who has at some point complained along those lines.)

Many people argue that it's just a matter of taste/personal preference. While that may be true about, say, tabs-vs-spaces, with programming languages it's more of a matter of familiarity and understanding.

I used to "hate" Java, but as I've got more familiar with it I now find very few reasons to hate it any more. I have never hated Python, because it was the first programming language I learnt, so I was familiar with it and I thought that was how all programming languages should be. Then when I first started learning Java, which was very different, I thought it was very stupid.

When you first start learning another spoken language, you might think "what's with <grammar feature XYZ>? This is so unnecessary!". But if you take the time to understand the language, you will stop thinking about that and that's just how the language is. It takes a long time to reach that point, so it is not fair to just declare "Spanish is stupid" or whatever. Likewise, you cannot really say "I hate Python".

Here's another analogy: alcohol. Children and people who don't drink will likely think "alcohol is disgusting, it's so bitter and poisonous!", but to those who do drink it, they can enjoy and appreciate the subtlety of the bitterness and the psychological/physiological effects it has on you. This is what I think taste is. Not (just) an opinion, but an appreciation for the qualities of a thing. From sports to programming languages, one must understand the subtleties and history and reasoning behind something before deciding to hate it. And there is a difference between taste and preference.

First published: 2020-06-29
Last updated: 2020-06-29