Sunday, June 27, 2010

Alternatives to Clojure

Other languages you might consider if Clojure isn't quite right for you:

Lisps:
  • Racket: Learning functional programming in a Lisp (Scheme descendent from the most active Scheme group)
  • Scheme: Some of these compile to C and Gambit has been used on the iPhone
  • Common Lisp: Mature and powerful
  • Arc: Paul Graham and Robert Morris's work towards a 100 year language
MLs:
  • OCaml: Practical, fast, mostly imperative, and strictly typed
  • F#: If you want to do functional programming on the CLR (.NET platform)
On the JVM:
  • Scala: Non-Lispy alternative on the JVM
  • A Common Lisp (ABCL) and a Scheme (Kawa) are available
Concurrent:
  • Erlang: Distributed as well as concurrent
Hard core:
  • Haskell: The purest functional language, lazy by default, increasingly influential
Popular:
  • JavaScript: Very functional under the covers, now appearing on the server-side as well as in web-browsers (node.js), and getting faster all the time thanks to V8
Or not:
  • With knowledge and discipline you can write in a functional style in other languages.  For example: Python (although the lambda is limited),  and increasingly in C# (especially with the addition of LINQ and lambda expressions)

No comments:

Post a Comment