- 54comments
- 128comments
- 6comments
- 39comments
- 76comments
- 20comments
- 104comments
- 210comments
- 6comments
- 109comments
- 181comments
- 536comments
- 3comments
- 76comments
- 23comments
- 64comments
- —discuss
- 9comments
- 3comments
- 68comments
- 176comments
- 11comments
- 156comments
- 1comments
- 118comments
- 43comments
- 193comments
- 61comments
- 645comments
- 16comments
How is it different from Clojure?
It's different in that, being common lisp, it's actually useless. Might be fun to tinker, tho, with its CLOS and stuff.
Useless how?
It has all the relevant constructs you'd need and more. And it runs on a JVM with access to Java lower level libraries.
Far from useless I'd say.
Clojure is two years old and already has more useful software being written in than CL.
CL is a failure, admit it.
Like what? Those crippled Java wrappers?
You are a failure, admit it. Since you are not popular (I don't know who you are), you are useless. (Your broken logic in practice.)
Nope it isn't.
I've heard about CL, know a few things about it, and it's a failure nontheless.
Its problem isn't the unpopularity between Blub programmers; its problem is its unpopularity even between geeks. Even language geeks!
So, you have "heard", really, I am amazed. You must really know a lot about it.
Repeating your broken popularity based measurement applied to different group of people does not make it any more correct, sorry.
Sorry, but for programming language, popularity is everything. It's a social phenomenon, it grows superlinearly with number of users.
And languages become popular and unpopular for a reason.
For common lisp, those reasons are:
It's ancient.
Parties interested in it can't agree on anything so its development is stalled.
It claims to have a huge library which is tiny by 2009 standards, and doesn't have vital things like network i/o or unicode. Yes, implementations support those proprietarely, yet noone cares, because it's not in standard libs.
It has problems with reflection, which is doubly awful for a lisp.
CLOS is interesting, but for most uses smalltalkingly simple OO would be much more desirable.
Tool support is neliglible.
ilyak is incorrect, but I'm curious why you feel popularity has anything to do with it.
Clojure is a dialect of Lisp, it's not Common Lisp. Scheme, Clojure, and Common Lisp are all very different beasts.
It's several years older and implements the standardized language Common Lisp.
Two biggest differences would be Java interop (see http://www.cliki.net/Armed%20Bear%20Lisp) and concurrency support. ABCL appears to be a little clunkier than Clojure for calling Java.
Being a CL, ABCL places no restrictions about mutability on basic data structures and doesn't have the STM/agent functionality for concurrency built in.
On the other hand, Clojure doesn't have CL's condition system (http://gigamonkeys.com/book/beyond-exception-handling-condit...).
A bit off topic, check out JScheme http://norvig.com/jscheme.html a Scheme implementation for the JVM.
Peter Norving wrote it initially as a way to learn Java in 1998. So he decided he'd write Scheme implementation in Java in couple of hours.(I swear, his Java code still looks better than mine today and he wrote it 11 years ago. :))
I see loads of code in JScheme that could have influenced Clojure to some degree.