Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Clojure closer to Scheme or Common Lisp from a beginner's perspective? [closed]

If I want to learn Clojure, should I start by learning Scheme or Common Lisp?

Or is Clojure different enough from both of these, that I should just start learning Clojure by itself?

like image 342
uzo Avatar asked Sep 11 '09 20:09

uzo


People also ask

Is clojure like Scheme?

Clojure was designed for concurrency. As a result, Scheme has a reputation of being minimal and elegant, Common Lisp of being powerful and paradigm-agnostic (functional, OO, whatever), and Clojure of favoring functional programming.

Is clojure similar to Lisp?

Clojure is a member of the Lisp family of languages.

Is clojure better than Common Lisp?

Clojure is really your better bet. It is highly practical with a good community and excellent Java interop. You never have to worry about finding a good library. The syntax is also a bit more easily parsable than CL.

Should I learn Common Lisp or Scheme?

You have two main dialects to choose between: Scheme and Common Lisp. They each have advantages and disadvantages, but the differences between them are tiny compared to the differences between them and other languages, so if you want to start learning Lisp, it doesn't matter which you choose.


2 Answers

It would be to your benefit to learn all three, if only so you can pick which one is best for your needs. All three have their own strengths and weaknesses.

Clojure is vaguely like Scheme in that it's a mostly-functional language and is a Lisp1. Clojure also borrows things from Common Lisp, like multimethods and macros, and people are always porting cool Common Lisp things to Clojure as libraries. The creator of Clojure was himself a Common Lisp hacker before writing Clojure. Clojure borrows a lot of terminology and conventions from Scheme and CL both (but also has its own flavors in many areas).

There is not a lot of literature for Clojure right now, it being such a new language (there is only one Clojure book so far). But there are loads of good Scheme-oriented books, like SICP and The Little Schemer / The Seasoned Schemer. There are also good CL books, like PCL, and many others.

Lisps also have a lot of history and it is to your benefit to understand the history, to see where and why Clojure deviates from it if nothing else.

I'd recommend starting with Scheme because it's the simplest language of the three and therefore easiest to learn. Then dabble in CL and Clojure until you have a handle on things, then go full-steam in whichever of the two you gravitate toward.

like image 174
Brian Carper Avatar answered Oct 01 '22 21:10

Brian Carper


For your purposes I think you are safe to just start learning Clojure. The differences between Lisp and Scheme (and Clojure itself for that matter) shouldn't be a concern especially if you are just starting to learn.

like image 30
Andrew Hare Avatar answered Oct 01 '22 20:10

Andrew Hare