10

I plan to pick up the clojure language.

I have at my disposal an old book:

The Little Lisper

I know there are more recent versions of it (The Little Schemer) but I'm wondering if it will help ease me into picking up Clojure. Or should I find other learning resource ?

G__
  • 7,003
  • 5
  • 36
  • 54
Frankie Ribery
  • 11,933
  • 14
  • 50
  • 64
  • It's not either or - read the Little Lisper because it's a great book, and start learning Clojure from some online documentation. The book is short and won't take you long to finish. – okonomichiyaki Oct 27 '10 at 18:32
  • 1
    I nearly posted a similar question: I wanted to know whether learning LISP would help me learn Clojure, because I am a newcomer to functional languages and Clojure attracted my interest, but the more I delved, the more I found people pointing to LISP. It's a real dilemma knowing where to start! – mydoghasworms Jan 24 '12 at 06:37
  • *The Little Schemer* got me started with lisps. Clojure is a bit further away from (Common) Lisp than from Scheme, so you'll have a little more to forget. In Lisp or Scheme, the book is a catechism on the basics of lists and recursion. I know of nothing like it for Clojure. Read it and pass it on. – Thumbnail Mar 20 '14 at 19:47

5 Answers5

13

Having read "The Little Schemer" recently, yes, I definitely think you will get a lot from reading the book. What it teaches you is the recursive style of programming which is very prevalent in the Lisp world. The beauty of Lists is that it satisfies the closure property (not the Closure, the programming language concept, but Closure as in Mathematics where an operation on two elements from a set produces another unique element of the same set). The book teaches you all these advanced concepts without naming them and much more (for example, chapter 9 talks about Y Combinator, one of the most beautiful concepts in the Programming-Language/Logic theory).

I would suggest you to read it by all means, whether you learn Scheme or Clojure or any language.

12

stop eating snacks for big meals. they are food to get between meals... :D

meaning, if you want clojure, go for that :

as for that book, i think that's like food for thought, when you want more insight into functional programmming

Belun
  • 4,151
  • 7
  • 34
  • 51
  • I agree. While I think reading "The Little Lisper" (having read "The Little Schemer") is beneficial to understanding recursion and basic LISP concepts, its definitely not the way to go when you want to start learning _Clojure_. – dareios Oct 27 '10 at 08:49
  • It is however a great way to learn recursion. It really hammers you with it (in a very gentle and fun way). – haziz Jan 01 '19 at 19:43
6

There are more direct ways of easing yourself into Clojure and Clojure emphasized things like lazy sequences instead of recursion. When reading the little lisper be aware that Clojure has no tail recursion and does not really require it, so some of the recursive patterns in the book wont always work.

It may be more useful to start with clojure and then use the lisp literature to expand your view of the world once you have your foundations in place.

If you are looking to learn more about advanced lisp programming I would suggest On Lisp by Paul Graham. The tag line for the book is learning to write the kind of programs you could only write in lisp.

ps: it's free :)

Arthur Ulfeldt
  • 90,827
  • 27
  • 201
  • 284
3

It will help you with every language and yes you get a feel of lisp witch will help you when you pick up Clojure. You could do the examples and then try to rewrite them in Clojure.

nickik
  • 5,809
  • 2
  • 29
  • 35
  • +1 for translating the examples - I like this as it is a good way to force you to think about how to achieve things in the target language! – mikera Feb 15 '12 at 04:31
2

If you're confused by recursion, read The Little Schemer, i.e. The Little Lisper--either one.

When I was first learning Lisp, my textbooks dealt with recursion, and I kind of got it, but nothing sunk in. No real understanding. Recursion has been second nature ever since I read The Little Lisper, though. It's not a Clojure book, but it teaches basic concepts of functional programming. Everything you learn from The Little Schemer will be useful, or at least fun.

Mars
  • 8,689
  • 2
  • 42
  • 70