Sure, there’s actually a bunch, but here’s a few interesting ones: haskell, Scala, Elixir, Lisp…
Joel Thoms

Joel, thanks for your reply.

I honestly do not want a flame war here, but there is a few things that came to mind while I was reading your reply:

  1. None of the languages you mention appear in the top 20 here: — I’m a true admirer of Lisp, Clojure, etc. so this was by no means a value statement. What I said was related to their popularity. Higher mathematics is very valuable, but it does not make it more accessible to the wider audience.
  2. The last two points belong together I think. The lack of (visible) structure leads to the lack of easy comprehension. Put it simply, wide spread languages have a large set of language elements which help segment code (code organisation) into classes, methods, interfaces, etc. (and this by the way does not mean that I would advocate the mindless use of inheritance for example). A pure functional language lacks most of these tools (few languages go as extreme as Lisp in this respect). FP gives you extreme freedom in creating the very world and (using macros etc.) even the very language you need. However this does not mean they are easily accessible, that’s all I’m saying.
  3. Something else… I think both OO and FP are valid ways to describe aspects of the world. Certain aspects are easier to describe as objects, certain other aspects lend themselves toward a functional approach. JavaScript is a great language as it gives you both options, you decide which tool to use for any given task.

You are saying this is all subjective. That is quite possible, but if you look at the programming language popularity charts, those seem to corroborate my argument. On the other hand, I do agree with you in that a dense pure FP code can be easily readable for the trained eye. It is just that there is less of those trained eyes, due to, I believe, those reasons I described.

In my view JavaScript became the huge success exactly because it is a rather pedestrian, eclectic and uncombed language. A language shaped by real life (btw. transpilation is a big help in this respect, dare I say transpilation is JavaScript’s missing macro facility).

I know this is all very subjective. Let us leave it at that! :)

Like what you read? Give Janos Jarecsni a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.