I also suspect the initial jump into a purely functional paradigm (and then even further into code as data) might be too big of a hurdle to overcome for most developers, who are better off staying productive in their existing idioms.
I also suspect the initial jump into a purely functional paradigm (and then even further into code as data) might be too big of a hurdle to overcome for most developers, who are better off staying productive in their existing idioms.
As to your second point, I think code-as-data is both a smaller hurdle and a bigger part of Lisp than functional programming, which was always more of a thing in Scheme and really didn't catch up to "modern" FP until Clojure. Any programmer can appreciate the usefulness of macros and templates. The argument for pure functional programming is a lot more cerebral.
I'm sure I would have been more productive if I only knew one language. The "which language should I use?" conversation that seems so debilitating would simply never happen.
Perhaps I need to change the way I think. For solving maths problems and crunching numbers (I have most of a BSci in Mathematics) its brilliant (Clojure in particular). Fits perfectly.
That said, do you have any advice for how to think about state in regards to web development? The database and its various assumptions were my biggest headache. What is the go-to library for Clojure here?
You could, of course, program in a more functional style in Lisp (and that style is encouraged more in some Lisps than others), but you're not forced to.