So, let’s see what can even differentiate two language which are both Turing complete?
- Performance
- Scalability
- Memory use
- Correctness
- Speed of delivery
- Speed of change
- Supported platforms
- Fun
Now let’s compare against Python:
- Clojure is more performant, but will start slower.
- Clojure will scale quite a lot more, both in cores on a single machine, or distributed.
- I’m not sure, but I think Python might actually better utilise memory. Though I might be wrong, I’ll say this is a tie possibly.
- I would argue Clojure tends to more correct code, due to tbe nature of FP, immutability and the REPL. But this is debatable and hard to demonstrate one way or another.
- I think both Python and Clojure are quite productive languages, with lots of existing high quality libraries, so I’ll say this is a tie.
- I’d argue Clojure code bases are quicker to evolve and change over time, again, mostly due to the nature of FP, immutability, the REPL, and the strong emphasis on simple designs. That said, this is also hard to demonstrate, so let’s call it a tie.
- I think Clojure maybe wins in supported platforms, because it can run in the browser as well with ClojureScript. But, that’s also arguable, so let’s make it a tie, since Python runs on quite a lot as well.
- Well, Clojure is just way more fun than Python. I mean, is there any language more fun to work with than Clojure?
There we go, Clojure beats or ties with Python on all aspects, so I guess… It’s overall a better Turing complete language.