How To Get Started With Lisp(readwriteweb.com)
readwriteweb.com
How To Get Started With Lisp
http://www.readwriteweb.com/hack/2010/12/lisp-getting-started.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+readwriteweb%2Fhack+%28ReadWriteHack%29&utm_content=Google+Reader
11 comments
Meh, this is pure pandering and whoring for eye-balls. RWW finally discovered that "Lisp" is an easy ticket to front-page, pretty much anywhere.
While I have not yet finished Dr Conrad Barski's "Land of Lisp", I would highly recommend it to anyone interested in an introductory book as I am really enjoying it.
Land of Lisp is probably the best computer book I've read in the 5 or 6 years I've been programming. It manages to be informative and fun at the same time. Where most books teach you how to write boring crap like JSON parsers, LoL walks you through Hunt the Wumpus and teaches you a couple of useful graph algorithms along the way. It devotes a chapter to web applications where you write a web interface using a web server you wrote yourself for a game you wrote yourself. There's even a program that uses a very rudimentary evolutionary algorithm to evolve organisms in a virtual world.
Thanks to LoL, I dug up archives of computer magazines from the seventies and eighties[1] (Creative Computing, Compute! etc.) The "hacker spirit" sure has changed in the last 30 years. Those magazines were playful. They even had entire sections devoted to computer games and interesting puzzles you could solve using a computer (Core War, for example, first appeared in one such magazine). These days people write Twitter clients and todo lists that run on Google App Engine.
LoL is one of very few books published in the last decade that capture the hacker spirit. It ranks right up there with _why's (Poignant) Guide to Ruby and Programming Perl[2].
Right now I'm having a blast re-writing old BASIC games in Lisp and then writing programs to beat those games. Most games are easy to beat, but some of them can pose quite a challenge. Fun times :D
---
[1] http://www.atariarchives.org/ and http://www.atarimagazines.com/
[2] I don't actually program Perl. I just read a few chapters from Programming Perl one lazy afternoon.
Thanks to LoL, I dug up archives of computer magazines from the seventies and eighties[1] (Creative Computing, Compute! etc.) The "hacker spirit" sure has changed in the last 30 years. Those magazines were playful. They even had entire sections devoted to computer games and interesting puzzles you could solve using a computer (Core War, for example, first appeared in one such magazine). These days people write Twitter clients and todo lists that run on Google App Engine.
LoL is one of very few books published in the last decade that capture the hacker spirit. It ranks right up there with _why's (Poignant) Guide to Ruby and Programming Perl[2].
Right now I'm having a blast re-writing old BASIC games in Lisp and then writing programs to beat those games. Most games are easy to beat, but some of them can pose quite a challenge. Fun times :D
---
[1] http://www.atariarchives.org/ and http://www.atarimagazines.com/
[2] I don't actually program Perl. I just read a few chapters from Programming Perl one lazy afternoon.
Yes, and don't forget to actually play with the code. Reading it with a REPL handy will teach you more than just reading ever could. Experiment!
As someone who programs common lisp daily, I kind of hate scheme. (As an aside, I've had the enlightenment thing a couple of times, also, and it hasn't caused me to quit my job and write viaweb. (It did make me a better lover, however; YMMV)).
Not that it is a terrible idea to start with scheme or Clojure, but scheme seems too pure (I like a REAL macro the same way I like a woman who knows what she wants...).
Clojure was too much Java last time I checked (Stack-trace of doom! Where is my continuable error? God! My eyes! (awesome otherwise, let me know when this has been fixed)).
Anyway, the point being, these all seem to be scheme links, and I've never gotten anything done in scheme other than admiring how fucking beautiful it is (seriously, great trellises).
Here's my guide: 1.) install linux 2.) get sbcl 3.) get emacs and slime. add something like this to your .emacs (defun sbcl () (show-paren-mode) (setq inferior-lisp-program "sbcl") (add-to-list 'load-path "~/emacs/slime") (require 'slime) (slime-setup)) (sbcl)
4.) Maybe get/install Quicklisp.
5.) Hack hack hack. Just be stupidly prolific in your spare cycles. Impress your friends, classmates, coworkers, etc. They'll be confused as fuck about the syntax, but you'll know it is no different from any other syntax. (Also you will program fast as hell, you will be the Mercury to their Hephaestus)
6.) Make a modest salary.
Not that it is a terrible idea to start with scheme or Clojure, but scheme seems too pure (I like a REAL macro the same way I like a woman who knows what she wants...).
Clojure was too much Java last time I checked (Stack-trace of doom! Where is my continuable error? God! My eyes! (awesome otherwise, let me know when this has been fixed)).
Anyway, the point being, these all seem to be scheme links, and I've never gotten anything done in scheme other than admiring how fucking beautiful it is (seriously, great trellises).
Here's my guide: 1.) install linux 2.) get sbcl 3.) get emacs and slime. add something like this to your .emacs (defun sbcl () (show-paren-mode) (setq inferior-lisp-program "sbcl") (add-to-list 'load-path "~/emacs/slime") (require 'slime) (slime-setup)) (sbcl)
4.) Maybe get/install Quicklisp.
5.) Hack hack hack. Just be stupidly prolific in your spare cycles. Impress your friends, classmates, coworkers, etc. They'll be confused as fuck about the syntax, but you'll know it is no different from any other syntax. (Also you will program fast as hell, you will be the Mercury to their Hephaestus)
6.) Make a modest salary.
I disagree with every sylable in this comment.
Scheme is beautiful. Clojure is promising. The JVM is a fine platform, and Java itself is a decent language for the experienced engineer. You don't need Linux to hack in Common Lisp; I have used win32 for my Lisp apps in the last 10 years.
You don't need to make a "modest" salary; I waited tables for $6/hr, and I made six figures .. neither changed my programming ability, Lisp or otherwise, I am still the same kludgemeister.
Scheme is beautiful. Clojure is promising. The JVM is a fine platform, and Java itself is a decent language for the experienced engineer. You don't need Linux to hack in Common Lisp; I have used win32 for my Lisp apps in the last 10 years.
You don't need to make a "modest" salary; I waited tables for $6/hr, and I made six figures .. neither changed my programming ability, Lisp or otherwise, I am still the same kludgemeister.
When did I imply otherwise? I had no idea that I had such ability to be so offensive in things that I neither typed, said, or spake.
Apparently differing opinions are meant to be beaten out through karmic justice.
It also seems that you agree with my assertions that scheme is beautiful and Clojure is promising but not there yet. So you don't disagree with every syllable of it, at least technically.
So wtf with the hostility?
Also, this post was entirely based on my experience.
Keyword: MINE. I make a modest salary. That's the truth. $60,000 is not rolling in dough. Why would you even take issue with that?
I don't get it.
Apparently differing opinions are meant to be beaten out through karmic justice.
It also seems that you agree with my assertions that scheme is beautiful and Clojure is promising but not there yet. So you don't disagree with every syllable of it, at least technically.
So wtf with the hostility?
Also, this post was entirely based on my experience.
Keyword: MINE. I make a modest salary. That's the truth. $60,000 is not rolling in dough. Why would you even take issue with that?
I don't get it.
Thus far, we learned about your sexual prowess, your tastes in women and your salary. Yet not a single actionable insight or intelligence on Lisp: the subject matter of this thread.
You haven't disagreed with me in a reasonable way. I make a flippant remark about fabled 'lisp enlightenment' and it becomes the entirety of my post?
I gave a (reasonable) guide to my experience with lisp, state that I like REAL macros, say pretty much the same thing that you repeated about scheme (and Clojure), give a brief setup guide to emacs/slime, and say to program a lot (because programming a lot is the only thing that makes you good).
AND SOMEHOW I HAVE ONLY TOLD YOU ABOUT MY DICK AND MY SALARY?
Whatever, I'm being trolled.
Good day, sir.
I gave a (reasonable) guide to my experience with lisp, state that I like REAL macros, say pretty much the same thing that you repeated about scheme (and Clojure), give a brief setup guide to emacs/slime, and say to program a lot (because programming a lot is the only thing that makes you good).
AND SOMEHOW I HAVE ONLY TOLD YOU ABOUT MY DICK AND MY SALARY?
Whatever, I'm being trolled.
Good day, sir.
I haven't used Windows in years. But I used it for a long, long time at work. And I became more proficient with Windows after I learned Linux.
You don't need Linux for anything, but learning it can make you a better programmer.
You don't need Linux for anything, but learning it can make you a better programmer.