2 ms·
I've seen a lot of professional programmers pick up Clojure from varied backgrounds and come to write idiomatic functional Clojure. I don't actually know many p
by emidln 5y ago
I've seen a lot of professional programmers pick up Clojure from varied backgrounds and come to write idiomatic functional Clojure. I don't actually know many people who use Clojure daily whose first language was a Lisp or an ML, everyone seems to learn Javascript, Python, or Java. Some of the older programmers learned assembler or C/C++ first.
Clojure really encourages data-oriented programming, similar to what you often find in Python codebases. Mutation isn't the default in clojure for common data structures, so writing your iterative code is just more work than writing functional code using the immutable defaults. Language design has a big impact here. That's not to say you can't write imperative mutation heavy code in Clojure, but you're either going to fight the language or build up your own utility libraries to do it. It's there, but it's rarely idiomatic and often seen as a performance tradeoff.