3 ms·
I think it all depends on what you're background is in. If you want to be able to work on the JVM, then Clojure an Scala are going to be your obvious betts. If
by narwally 12y ago
I think it all depends on what you're background is in. If you want to be able to work on the JVM, then Clojure an Scala are going to be your obvious betts. If you're coming from a dynamic language (python/ruby/javascript) then it may be easier to take on a lisp(or other dynamic-functional language) as your fist FP language.
Scala is a great choice for people familiar to Java, and don't wan to give up all the JVM knowledge they've gained over the years.
I personally prefer Clojure/Clojurescript and the direction that the community is heading.
I took a coursera course[1] on programming languages a while back that did an introduction to ML, Racket, and Ruby. It was great to through similar problems in three very different languages. It gives you the basic information you need to weigh the costs and benefits of using a particular language in a particular context.
[1] https://class.coursera.org/proglang-2012-001/wiki/syllabus https://class.coursera.org/proglang-2012-001/wiki/syllabus