Elm paradox


As Paul Graham’s blog has been replaying some pretty old posts so have I been reading them. A recent one was the python paradox. I think this applies pretty well to Elm at the moment. The Python Paradox was written in 2004 when Python, was still what one might call an esoteric language, that is, it wasn’t particularly popular. Whereby popular, we mean, used by many people, rather than liked by those that used it. Even at the time Python was very much loved by its users. Anyway the basic idea in the Python Paradox, is that programmers at the time did not learn Python because it was good for their resume, or it was good to find a job, because there were no python jobs. Because of this, it means that they were learning Python purely for the love of programming, and perhaps because Python seemed a bit different. Such programmers are nearly always good programmers, at the very least programmers with potential. Therefore companies should use Python in order to attract such developers, or at least require Python experience.

So it’s a paradox because programmers do not learn Python to get a job, but once companies wise up to this they start seeing Python experience as a major positive, and pretty soon it is a good language to learn if you want a job. Of course, the paradox resolved itself when Python became popular, and mainstream. Now, depending on how you measure it, Python is in the top 3,4, or 5 programming languages for popularity.

I think Elm might be in that sweet spot right now. I’m not saying Elm is going to become as popular are Python or anywhere near it, I’m saying that it represents a language the programmers do not learn beacuse they are looking for a job. I’d also note that Elm programmers seem to have a similar vibe that Python programmers had nearly two decades ago, a vibe of knowing a little known secret. Elm is similarly unpopular in that not many people use it, but popular in that those who do tend to love it. So I think the typical Elm programmer is probably a better programmer than your typical Javascript (or Python) programmer. Not because of anything inherent about the language, but just that the very fact that you’ve chosen to learn Elm probably correlates at least a little with programming aptitude. To put it another way, Javascript and Python are so popular, that someone who doesn’t have any real talent or love of programming but wants to get a good job, will, having done minimal research, choose one of those two languages to learn.

A perspective employee claiming experience in Javascript or Python could be good or bad, but one claiming experience of Elm is almost certainly not the worst of the worst.