I'm won over. I'm now officially a big fan of Clojure.
A LispLanguage dialect that compiles to JavaByteCode.
- Great language design. Very clean and intuitive. Exemplary use of interfaces in the standard collections libraries.
- Immutable and lazy collections as default and prefered way of doing things.
- Great library via full Java compatibility / integration. (Clojure compiles to JVM bytecode and can both call and be called from Java)
- Emacs with ParEdit is a good dev environment.
- Great concurrency libraries.
How do you make a really great language?
Start with an already great one, and have the courage to make tasteful breaking changes.
In this case ... start with Lisp.
And then add :
- extra syntax. For data. This goes against Lisp's traditional disdain for syntax. But while extra syntax for code doesn't buy much, a bit of extra syntax for data turns out to be a great trade-off.
- immutability. Common Lisp and Scheme both tried to sell themselves as "multi-paradigm". Clojure reclaims its place as a FunctionalProgramming language. With the associated benefits.
My software in Clojure :
See also :
- I checked out RacketLanguage too, and I think it's great. I just prefer certain things about Clojure. ClojureVsRacket
Backlinks (84 items)