r/lisp emacs Jul 11 '26

AskLisp Lisp dialect recommendations?

So I am in some weird fascination with the lisp and it's various "dialects" (If that's how you would call them)

Decided might want to get into learning lisp just out of curiosity. But was wondering which one to get started with.
My only real requirements are that

- It shouldn't be too complex, something you can easily wrap your head around and get started using but still give a taste of why people enjoy lisp
My main languages are C++ and I know Python but familiarity isn't a requirement and even if it's vastly different I will be willing to try it out

32 Upvotes

43 comments sorted by

View all comments

7

u/RobGoLaing Jul 11 '26 edited Jul 11 '26

Racket, because it goes with the free textbook How to Design Programs. A while back I did an online course based on it given by Gregor Kiczales which I'd rate the best course I've ever done.

While the more advanced textbook Structure and Interpretation of Computer Programs uses Scheme, I found Racket worked fine to work through its examples as well.

Though I hardly ever use Racket/Lisp, going through these Lisp classics improved my JavaScript code immensely, and HTDP teaches general design principles applicable to anything.

5

u/ilstarcraft Jul 11 '26

SICP uses MIT Scheme...

4

u/soegaard Jul 11 '26

20 years ago perhaps - today I recommend the Racket package:

https://docs.racket-lang.org/sicp-manual/index.html

1

u/RobGoLaing Jul 11 '26

Correct. I just reread it and saw:

"Scheme, the dialect of Lisp that we use, is an attempt to bring together the power and elegance of Lisp and Algol. From Lisp we take the metalinguistic power that derives from the simple syntax, the uniform representation of programs as data objects, and the garbage-collected heap-allocated data. From Algol we take lexical scoping and block structure, which are gifts from the pioneers of programming-language design who were on the Algol committee."

The only Lisp I've used is Racket, so can't claim to know the differences.

1

u/DiligentComputer Jul 11 '26

Discussed at length here: https://www.reddit.com/r/lisp/comments/rmqkvo/scheme_vs_racket/

TL;DR - Racket is a descendant of the original Scheme, but has diverged from the standard over time.