A common point is being made in the threads here: "The downside of Clojure is that you need good, wise developers..."
The converse of this is that good, wise developers are going to (ultimately) _demand_ Clojure.
What I mean by this:
I was a Java programmer for years and increasingly started writing code in a more functional, immutable, dynamic style with the occasional need for meta-programming -- for the sheer need of being more productive and writing more robust code.
Yes, you can write functional, immutable, dynamic, code in Java and do meta-programming in Java!
It's just somewhat cumbersome and prickly.
Enter: Clojure.
I've seen many an 'unwise' programmer make just as much a mess of Java systems as people are suggesting they've seen in Clojure projects. It may be simply that Java slows you/your team down enough so that the messes of unwise programmers are just made more slowly.
But one wonders if this is really a win: you're probably also delivering your business value more slowly, as well.
:thinking-face:
The converse of this is that good, wise developers are going to (ultimately) _demand_ Clojure.
What I mean by this:
I was a Java programmer for years and increasingly started writing code in a more functional, immutable, dynamic style with the occasional need for meta-programming -- for the sheer need of being more productive and writing more robust code.
Yes, you can write functional, immutable, dynamic, code in Java and do meta-programming in Java!
It's just somewhat cumbersome and prickly.
Enter: Clojure.
I've seen many an 'unwise' programmer make just as much a mess of Java systems as people are suggesting they've seen in Clojure projects. It may be simply that Java slows you/your team down enough so that the messes of unwise programmers are just made more slowly.
But one wonders if this is really a win: you're probably also delivering your business value more slowly, as well.
:thinking-face: