> Why would you pick Lisp or Clojure over say Elixir, Scala, or even F#?
They are all great choices!
F# is an excellent choice if you are happy living within the .net ecosystem. I'd highly recommend it if you are a c# dev. Tooling is great. Ecosystem is really good etc. Performance is really good.
Elixir? Its a really good option for high concurrency apps. It's based upon Erlang and has access to heavily battle tested libraries. Tooling and ecosystem not as good for many kinds of applications as the jvm/clr.
Scala? Another good option somewhat limited by its complexity. I personally prefer F# and I think it has better tooling. Nevertheless it's a great option for the jvm crowd.
Why did I choose clojure? Mainly for its good defaults, a community focused on simplicity, data, and composability, a great jvm AND JavaScript story, macros, amazing tooling, and ease of learning.
With Lisp your program is data, like any other data, so it is easy to transform with macros etc. (Disclaimer I have never written a lisp program)
On the other hand languages like Haskell have a powerful type system that largely negates the need for macros. However when you do want to macro in Haskell you have template Haskell and it is quite ugly.
They are all great choices!
F# is an excellent choice if you are happy living within the .net ecosystem. I'd highly recommend it if you are a c# dev. Tooling is great. Ecosystem is really good etc. Performance is really good.
Elixir? Its a really good option for high concurrency apps. It's based upon Erlang and has access to heavily battle tested libraries. Tooling and ecosystem not as good for many kinds of applications as the jvm/clr.
Scala? Another good option somewhat limited by its complexity. I personally prefer F# and I think it has better tooling. Nevertheless it's a great option for the jvm crowd.
Why did I choose clojure? Mainly for its good defaults, a community focused on simplicity, data, and composability, a great jvm AND JavaScript story, macros, amazing tooling, and ease of learning.