Live data from Hacker News

Ask HN: I want to start learning Lisp. Where do I begin?

news.ycombinator.com

161–170 of 211 posts

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#161

There are obviously many possible paths, so I can only really tell you what I've done. I can't say it's necessarily the best approach. For me, I decided to start with Common Lisp. I installed SBCL, Slime for Emacs, and started working through the book Practical Common Lisp . By and large this seems to be a workable approach, but I will offer up this caveat. The PCL book is very much "project based" in that the author…

> Possibly one could complement PCL with another book

I found a very good complement was Edi Weitz' "Common Lisp Recipes" from same the publisher.

http://weitz.de/cl-recipes/

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#162

I forgot to ask in my main question. I can't edit it anymore. I am seriously thinking of learnijg common lisp. Thank you for all the suggestions. Is it possible to build web apps in common lisp or any lisp? Any frameworks available? Is it possible to build multithreaded apps that use multiple CPU cores for performance? What is used? POSIX threads?

>Is it possible to build web apps in common lisp or any lisp? Any frameworks available?

Yes, many.

>Is it possible to build multithreaded apps that use multiple CPU cores for performance? What is used? POSIX threads?

Yes, threads, there's many libraries also for channels, software transactional memory, etc.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#163

I remember wanting to learn lisp. I got stuck and reached out to the community for help. And found them to be very hostile. I decided I had better things to do with my time.

>And found them to be very hostile.

I started 4 years ago. They are very helpful and friendly.

Just approach them with a genuine interest.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#164

Earlier quoted context omitted.

As a counter-anecdote (giving us anecdata), I did not have this issue when I got started. r/lisp and comp.lang.lisp were pretty welcoming. I don't do much on IRC, but my limited time there was productive and friendly. There were (probably still are) a few assholes and zealots on comp.lang.lisp, but they were easy enough to ignore (killfiles are your friends). I think some people also got a bit testy and short there b…

I’m glad you had a better experience than I. I tried learning CL back in 2006 and read a quickstart guide from the #lisp IRC channel. It had sentences in it like: “ Using a plain text editor without any runtime connection to your Lisp implementation just because you think you prefer its keybindings is stupid and self-defeating.” And “Follow these directions or risk our wrath, or at least unsympathetic attitudes!” The…

I have been hanging out on IRC since 2006 too. The open source communities back then were indeed caustic. #python was an exception. #python used to be very nice to beginners. #c was perhaps the worst.

The attitude of these communities has changed a lot since then. It has been 14 years since then! Right now, #lisp and #emacs and their Reddit counterparts r/lisp and r/emacs are a very pleasant, friendly, and supportive community. For those looking to becoming a part of the Lisp or Emacs community, I strongly recommend giving #lisp, #emacs, r/lisp, and r/emacs a chance.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#165

There are a lot of classics such as SICP and The Little Schemer, and I dearly love them all and consider them all to be canon that everybody should read at least twice. But, for an easy/fun on-ramp, I think that there are three new contenders that are much better for getting a feel for things. Pick one according to your tastes, or burn through them all in a couple weekends and then decide. If "functional programming…

I didn't go far with Lisp but I had fun with The Little Schemer as a first contact.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#166
post #6

Is there a good argument against Clojure in this case? My impression is that it's a good lisp and you can get actual work done in it which is an advantage over some of the other options.

>Is there a good argument against Clojure in this case?

I use Common Lisp and my main argument will be that Clojure isn't an "interactive programming" language like Common Lisp, Smalltalk (and Pharo, Squeak, Scratch) are. And, for me, this is removing one of the main, core advantages of Lisp.

Dispensing with the interactive programming features is, IMO, a step backwards in the state-of-the-art. Common Lisp ADDED all the improvements in the state of the art: Interactive programming from Smalltalk, lexical scoping from Scheme, various high performance/low level features from StarLisp and ZetaLisp, a very powerful OOP system, etc. And then, thanks to it being highly extensive, almost any feature can be added to it.

Clojure features like threading macros, immutable seqences, software transactional memory, and others, are already available in Common Lisp by just importing (loading) the respective library.

One of Clojure's main advantage is to be able to call Java libraries. But, surprise, you can do this in Common Lisp too, easily, by using the Armed Bear Common Lisp (ABCL) implementation. Which runs on the JVM too and makes the process of calling Java libs really, really easy. I have made a working example here, calling all the Swing UI library (java) from lisp:

https://github.com/defunkydrummer/abcl-jazz

It's true that Clojure has more widespread adoption in the industry and more libraries. However the library ecosystem on Common Lisp is decent.

>and you can get actual work done in it which is an advantage over some of the other options

This implies you can't do "actual work" in, for example, Common lisp. Which is not true, since there are companies that, in this very moment, are doing well paid, critical commercial work using Common Lisp.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#167

A whole lot of answers but very few questions - most importantly "Why do you want to learn Lisp?" Are you new to functional programming and have heard that's the parent language? Do you know a statically typed functional language and want to learn a dynamically typed? Are you looking for something practical you can interop easily with other languages with? Are you looking for a good language to follow SICP with? Do y…

Yes, "Why do you want to learn Lisp?" is a good question.

If the author wants to use Lisp because he/she thinks metaprogramming is interesting, or has read about interact

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#168

A whole lot of answers but very few questions - most importantly "Why do you want to learn Lisp?" Are you new to functional programming and have heard that's the parent language? Do you know a statically typed functional language and want to learn a dynamically typed? Are you looking for something practical you can interop easily with other languages with? Are you looking for a good language to follow SICP with? Do y…

Yes, "Why do you want to learn Lisp?" is a good question.

If the author wants to use Lisp because he/she thinks metaprogramming is interesting, or has read about the benefits of interactive programming, Common Lisp is the choice here.

If the author wants to use Lisp as a way to get a deeper understanding of important computer science topics, I think Scheme is the best choice and with this, following the SICP book.

If the author is interested specifically in functional programming and wants to get easy employment doing it, he/she should take a look at Clojure, Ocaml, and F#.

Re: Ask HN: I want to start learning Lisp. Where do I begin?

#170
post #6

Is there a good argument against Clojure in this case? My impression is that it's a good lisp and you can get actual work done in it which is an advantage over some of the other options.

>Is there a good argument against Clojure in this case? I use Common Lisp and my main argument will be that Clojure isn't an "interactive programming" language like Common Lisp, Smalltalk (and Pharo, Squeak, Scratch) are. And, for me, this is removing one of the main, core advantages of Lisp. Dispensing with the interactive programming features is, IMO, a step backwards in the state-of-the-art. Common Lisp ADDED all…

What does Common Lisp have, in terms of interactive programming features, that Clojure (together with Cider and nrepl etc) lacks?
Post reply on HN