How to start learning Lisp

Whatever is on your mind, whether Lisp related or not.

How to start learning Lisp

Postby GengyangCai » Wed Dec 21, 2016 1:43 pm

Ok ... how do I start learning Lisp ??
GengyangCai
 
Posts: 13
Joined: Sun Jul 08, 2012 3:50 pm

Re: How to start learning Lisp

Postby gekkonier » Tue Jan 17, 2017 8:15 am

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.
gekkonier
 
Posts: 16
Joined: Tue Jan 17, 2017 6:57 am

Re: How to start learning Lisp

Postby sylwester » Fri Jan 27, 2017 6:06 pm

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)
I'm the author of two useless languages that uses BF as target machine.
Currently I'm planning a Scheme compiler :p
sylwester
 
Posts: 113
Joined: Mon Jul 11, 2011 2:53 pm


Return to The Lounge

Who is online

Users browsing this forum: No registered users and 3 guests