4 ms·
Will you say it is ok for a complete new person to lisp to learn sugar? Example is someone who has never learnt lisp in life? Or will you recommend learning su
by chriszhang 6y ago
Will you say it is ok for a complete new person to lisp to learn sugar? Example is someone who has never learnt lisp in life?
Or will you recommend learning sugar after learning some other lisp?
- lbotos 6y agoNot OP, I've only written a tiny bit of lisp, but this looks pretty similar. I'd probably suggest SICP: https://mitpress.mit.edu/sites/default/files/sicp/index.html https://mitpress.mit.edu/sites/default/files/sicp/index.html if you want a "lisp intro"
- nobleach 6y agoThat book can get really dense really quickly. It DOES appeal to certain types of learners though. So since, you can find the HTML version for free, check it out. I personally suggest "The Little Schemer". It literally starts with Atoms and works its way out. It uses Scheme, which Racket is based on. I highly recommend it.
- TurboHaskal 6y agoIf you already know how to program, I'd recommend to just install SBCL and start a project with https://lispcookbook.github.io/cl-cookbook/ https://lispcookbook.github.io/cl-cookbook/ as a companion. Forget about the perfect editor setup, idiomatic code and all that fuzz about becoming enlightened. (Common) Lisp is first and foremost a productive, pragmatic language to get things done, so just start hacking.
- thealig 6y agoI am particularly looking to learn a LISP style language. Scheme and Racket caught my interest, given its concise, expressive syntax. Is it advisable to start with Common Lisp first, or go with Scheme/Racket? Thanks for the tip btw.
- TurboHaskal 6y agoThey are really different languages with similar syntax. Scheme is opinionated and wants you to program in a certain way (hence TCO being part of the standard), it's also more static and doesn't want to take over the whole machine like Common Lisp and Smalltalk want. I started with Scheme but I am no longer my idealistic self so I am partial to Common Lisp since I use it for work and don't mind coding in ugly kitchen sink languages as long as they are fit for production use. Not that Scheme lacks amazing implementations such as Chez, Gambit or Chicken (my favourite) but I would have a harder time building something non trivial in those. As a counter argument you have https://fare.livejournal.com/188429.html https://fare.livejournal.com/188429.html from a seasoned Lisper so YMMV.
- thealig 6y agoAh thanks for the info, will check it out.
- marksmillibend 6y agoOh please do _not_ do that :) Sugar is just a toy. Don't learn it. Maybe you can learn something about common lisp from reading the sugar compiler source code. I agree with TurboHaskal. I too, learned Scheme first and liked it cos it was simpler/purer etc. than Common Lisp. When I finally learned Common Lisp, my only regret was that I hadn't learned it earlier. Common Lisp is not perfect, but it has a single standard. Very important. It's very mature and battle tested. The people who you'll meet in the Common Lisp community are very smart and capable and you will learn a lot from them. I did. Learning Scheme won't hurt but I recommend Common Lisp. Great, free compilers, lots of libraries for everything and a great community. But please, do not learn sugar :)
- chriszhang 6y agoAwesome! Exactly the type of advice I was looking for. :) Thanks!
- cylinder714 6y agoA vote for "Common Lisp [as] the best language to learn programming": "Between Land of Lisp, David Touretzky's Common Lisp: A Gentle Introduction to Symbolic Computation (really great book for people new to programming, available for free) and The Little LISPer (3rd edition, editions four and up use Scheme) you have three really great resources to get started." https://carcaddar.blogspot.com/2011/10/common-lisp-is-best-language-to-learn.html https://carcaddar.blogspot.com/2011/10/common-lisp-is-best-l... And here's a link to Shapiro's COMMON LISP: An Interactive Approach: https://cse.buffalo.edu/~shapiro/Commonlisp/ https://cse.buffalo.edu/~shapiro/Commonlisp/