Hacker News new | past | comments | ask | show | jobs | submit login

Your post is too long for me to address all the points :)

Common Lisp, Prolog & Smalltalk all have their issues - fortunately they all deliver on the big idea - a reasonable meta system. But there are an incredible number of incremental improvements that could be done to what we know is good about these systems - this work absolutely needs to be done and IMO Clojure is one such example of this.

As far what does Clojure have to offer CL programmers - there are a few CLers in the Clojure community. Those that have actually put in the time end up liking Clojure just fine as far as I can tell. You should talk to them and find out what they like. For the the rest, I think CL was born of a culture of Lisp infighting. For example, the CL / Scheme rift makes little sense to me and probably has deep historical / political roots that don't interest me that much. It warms my heart that Lisp luminaries whether CL (Richard Gabriel) or Scheme (Dan Friedman & Will Byrd) are looked very highly upon in the Clojure community.

I think it's important to note that the number of users coming from Java is about as large as Ruby & Python combined. Clojure is Lisp after all and the syntax probably won't jive with people attached to surface syntax the way some Ruby & Python devs are. Adventurous Java devs are probably plenty excited about the lack of ceremony ;)

As far as predicate dispatch - I wouldn't say it's stalled so much as it's a project with a few tough pieces to work out. One big hurdle was getting cKanren worked into core.logic. That's now mostly done. So the next step is to clean up core.match. Also, I spend a lot of time on this thing called ClojureScript ;) so I haven't worked on predicate dispatch nearly as much as I would have liked.

I too have little interest in Go, but some hackers I respect really like it. So obviously there's a lot of things that Go gets right.

Finally, I'm not convinced that Clojure doesn't bring anything new to the table. I agree there is no one feature that I can point out that doesn't exist in some other decent PL - but after some four years of Clojure programming - this language still make me smile!




I think CL was born of a culture of Lisp infighting. For example, the CL / Scheme rift makes little sense to me and probably has deep historical / political roots that don't interest me that much.

Well, the former is true; CL was a very successful attempt to unify the existing mainline LISPs and while adding the lexical scoping of Scheme. That process was inherently political, and I'm told the phrase "sufficiently clever [or smart] compiler" was used rather too often, e.g. to get some inherently expensive off of Lisp Machines stuff into it).

Scheme has very different objectives. It started with a clean slate, threw away a lot of historical baggage and it's a Lisp-1 instead of a Lisp-2 (single value for an atom, does not potentially have both a value and function), and since its initial development has stressed simplicity and correctness (i.e. figuring one correct way of doing something), which have never been mainline LISP goals. E.g. look at the mission statement from the beginning of the standard's documents:

Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.

The premise is debatable (and Scheme has not particularly broken out of the niches of language work and education), but it's very different than mainline's LISP's.

So while their might be a "rift", there never was any chance for anything else. Schemers are not going to add a lot of legacy LISP to their language (let along become a Lisp-2) so that they can run legacy mainline LISP code, Common Lispers, even if they don't have an existing code base, have needs that are not as yet satisfied by Scheme due to its very slow standardization process and the false start at addressing them in the deeply flawed and largely rejected R6RS.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: