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

> You want to win the Lisp-community-at-large? Give them more power. It doesn't have to be the trivialized imprecision of expression that comes with something like Ruby. It doesn't have to be the minimalism of Io and Scheme. It doesn't have to be native continuations.

>It doesn't even have to be Shen or Haskell-style static typing.

>What it does have to be...is more powerful for the lone cowboy.

Could you expand on what you think Clojure needs to win over the Common Lisp guys?




>Could you expand on what you think Clojure needs to win over the Common Lisp guys?

I don't think it should even try. I think being the 'practical' Lisp is a good place to be.

That said, there are a few issues that are going to make some CLers irrationally intransigent.

The JVM is a biggie. They hate it, they don't want it, and they definitely don't want to be constantly skimming across the surface built on a foundation of Java libraries.

The dream was the Lisp machine, tur---Lisp all the way down.

Clojure is the refutation and negation of that dream. It is, to some CLers, an insult and a defeat.

You will never win those people.

Those even willing to pay the price of having to learn two programming languages at the same time (Clojure and Java) for the sake of getting a more modern and hip Lisp are still going to have a few sticking points.

1. Inability to produce binaries

2. You don't win anything in terms of individual productivity, nominally. The language is a side-grade.

This goes double if they're eccentric and like implementing predicate-dispatch libraries instead of mobile-social-local web app mash ups.

3. Clojure, semantically speaking, while cleaning up a lot of Lisp warts actually removes and hinders a lot of patterns that CLers relied on via mutation. The last thing a Common Lisper wants is the elimination of the option to do something.

Common Lispers, culturally, have more in common with Haskell than Clojure.

Their Haskell just hasn't been made yet.

Clojure is a cultural mismatch for many Common Lispers, especially the obsessive navel-gazers who to their credit, are the vanguard that advances the standards and research into the languages they use.

There are definitely those types of people in the Clojure community (amalloy wrote a decent article on anaphoric macros in Clojure), but the depth isn't there.

By going from Common Lisp to Clojure, you only lose things irrational as that may seem to normal people.

I mean, you even give up tail-call optimization. Yes yes, I know, (loop ... recur) and trampoline, I know. But it's not me you have to convince.

I'd rather keep the company of somewhat more sane people such as that use Clojure. That doesn't hold a lot of value for a lot of CLers I know though. They don't give a damn and never have.


Basically Clojure is a nice Lisp designed by a Java/C/C++-expert and programmer (!) (Rich Hickey) for himself. Lots of Java developers find it interesting, because they have similar programming needs. Then they joined him.

Common Lisp is a Lisp designed for Lisp programmers. As a Lisp programmer I want more Lisp, not less Lisp. I also want it close to the metal. If I use 'Unix', I want to have access to C and 'Unix'. Not so much Java. On the Mac I want to interface to Objective-C and C - not Java.

It's not that Common Lisp users will give up just because someone comes up with another Lisp derived language. We seen them a few times: Dylan, ISLisp, Newlisp, R6RS, Arc, Clojure, ... some claimed even that Ruby or Javascript were Lisps. There'll be more in the future.


> 1. Inability to produce binaries

This is not true, as there are commercial Java compilers for native available.

Here is one of them, http://www.excelsior-usa.com/jet.html


So one gets down-voted for stating the truth that Java is not constrained to the JVM, great!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: