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

Yes, Common Lisp has a huge number of features. Luckily you don't have to learn all at once to write useful programs.

Python is definitely a simpler language. At some point it gets more complicated, when you need to move out of the comfort zone. For example last I looked the main Python implementation had a GIL (Global Interpreter Lock) which makes multi-core concurrent execution a problem. Common Lisp has more sophistcated implementations which don't have a GIL and easier use of multi-core threading.

Yes, you need to learn the difference between setting a variable and defining a global variable.

A 'form' is any valid expression in the Lisp programming language:

This is a valid Lisp form: (+ 1 2) It computes to 3.

This is not a valid Lisp form: (1 2 -). Trying to execute it is an error. The list is a valid s-expression, a list with three elements. But it is not a valid Lisp program, because Lisp expects the operator as the first element of a list and 1 is not a valid operator.

This idea of s-expressions and some of them are valid expressions in a programming language is different from Python, which does not have the idea of code-as-data. Thus you have more to learn and it is more complicated. But it makes many forms of computing with code easy.

Yes, you will have to learn about functions being able to return more than one value.

Yes, learning LOOP is useful. It's not the most elegant construct but it is quite powerful. There is a slightly more elegant and even more powerful alternative: Iterate. But it is a library and LOOP is already built-in.

Yes, a book helps. Luckily there are many. See the here mentioned Common Lisp Cookbook.

As introductions see:

Practical Common Lisp from Peter Seibel. http://www.gigamonkeys.com/book/

Common Lisp: A gentle introduction to symbolic computation. https://www.cs.cmu.edu/~dst/LispBook/ You can download the older version for free as a PDF.

Good luck with learning it!




Land of the LISP looked fun when I skimmed it at a bookstore. Teaches by building games.

https://www.amazon.com/Land-Lisp-Learn-Program-Game/dp/15932...


I have it and it's quite ok; very fun to read. I'd recommend it to people who want to jump into Common Lisp and lisps in general, who know at least one other programming language.

That said, it's not as comprehensive as Practical Common Lisp - it covers a bit less of CL, and a bit more of interesting things you can do it.


Appreciate the quick review. Maybe when I re-learn CL Ill use it since I have prior experience. Plus, I just remember it being super, geeky fun in terms of the writing and art.


> Plus, I just remember it being super, geeky fun in terms of the writing and art.

It is! Very fun in art, style and examples used! Has some funny hacks too, like one-page game written mostly in... format.

(And for learning, a particularly useful thing is a two-page loop DSL reference.)




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: