Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, Clojure is a Lisp. Lisp is also the shorthand way people refer to Common Lisp. Lisp in the context of OP means Common Lisp.

Common Lisp has an implementation, ABCL, which runs on top of the JVM. Access to the Java ecosystem is a shared trait, not a difference.

Being a multi-paradigm language CL has a wealth of features That Clojure doesn't and they all play well together. Except for the type system and the class system.

For example, it has places and the ability to define your own setf forms.

Common Lisp makes iteration easy with the lisp macro.

Common Lisp has tagbody and gotos so one compile FSMs efficiently

Common Lisp has an object system were the semantics are describe using the same object system. So users can extend the object model according to their needs.

Clojure is designed to support one style of programming envisioned by its hypemaster. Rich Hickey is a brilliant person, and has done an excellent job designing Clojure, but

Clojure approach to 'user erros' is we don't guarantee to signal an error, we may do w/e.

By momentum you mean it is trending. We know mainstream programming is a pop culture, but we shouldn't encourage it by recommending one language over another based a FAD.



> We know mainstream programming is a pop culture, but we shouldn't encourage it by recommending one language over another based a FAD.

To further underscore this point, Common Lisp was created in 1984 incorporating elements of proven late 1970s Lisps like MACLISP; CL has been successfully used on spaceships and important complex systems, and the CL ecosystem continues to evolve and grow till today. The specification has been unchanged since the '80s and probably won't change any sooner, since the language is extensible and thus can evolve as the state of the art evolves.

CL is largely free from any kind of fad; everything that is built into the language is there either because (a) it has been proven to be necessary and proven to work correctly in the best way possible, or (b) was needed for backwards compatibility with earlier lisps.

Clojure is a new language and tries to be nice to newcomers, but it's difficult to compete against technology that has at least 33 years of continuous evolution. Also, if you need to interoperate Java classes with CL, there's ABCL which will do it nicely.

As a lisper said, "those who don't know Common Lisp are doomed to reinvent it."




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

Search: