Page 1 of 1

How to start learning Lisp

PostPosted: Wed Dec 21, 2016 1:43 pm
by GengyangCai
Ok ... how do I start learning Lisp ??

Re: How to start learning Lisp

PostPosted: Tue Jan 17, 2017 8:15 am
by gekkonier
This reflects my opinion as a hobby programmer.

At first you should choose a Lisp you want to learn. You should know that there are a lot of dialects (Common Lisp, Scheme, Racket, LFE, Clojure, Arc, NewLisp, Hy, Autolisp, Lisp for Emacs,.... - there are a TON of different dialects), so google around and check what options do you have for your operating system and platform.

After that you should grab a beginner book or tutorial on the web and play around. That involves learning how to use the preferred programming environment (DrRacket for Racket, Emacs with Slime, or a simple editor and a shell,...) and how to build or run your programs. So start with a hello world, and do your hello world until you get a working result.
You can barely learn how to program in a specific language if you don't program in it. So start with small programs, and modify those programs until they do what you want. Don't try to write your MMORPG at first. Start with simple things like a grocery list or other trivial constructs. If you get something that works you will be much more motivated to learn more.
After playing with tutorials and beginner books it's time to learn more advanced stuff. How do you manipulate or filter data. How do you use the package manager of that specific language implementation so you won't have to reinvent the wheel again and again. How do you structure your programs, so you won't get lost in your code and can program bigger systems in a modular, logical way.

But that all applies to all programming languages, no mather of what kind it is.

Re: How to start learning Lisp

PostPosted: Fri Jan 27, 2017 6:06 pm
by sylwester
Learning how to program is pretty much the same a learning to bake.
You start with some good books or tutorials that hows you show you examples giving you an idea how to interpret recipes and how stuff works, which you can experiment by mixing and matching.

Then you perhaps know how to make your own programs, but that doesn't mean you are an expert. Like baking is all about understanding the chemistry, making easy to maintain programs are using the correct level of abstraction and the right abstractions. That will not come easy and after being a professional programmer for 17 years I'm still learning. When I see code I wrote one year ago I usually acknowledge that I would have written it differently today.

Common Lisp resources:
Land of Lisp (I love this one, but it's not free)
Practical Common Lisp (Love this one too, use the loop chapter as reference)
The roots of lisp (I love this essay by Paul Graham, but it might be best to read after you know a little)

Scheme
SICP videos (for older version, but still good way to learn the fundamentals)
SICP book (newer edition than the video, but not the latest. Still good though)
How to design programs (actually for Racket)
The little Schemer (not free)

Re: How to start learning Lisp

PostPosted: Thu Apr 05, 2018 10:07 pm
by wangnermelany
Thank you Sylwester for mentioning all these resources. That's the perfect information. I really like it 8-)