That was interesting. I have a question though. Lazy languages are simpler to deal with for strictly functional data... But what about side-effects? Is the pain of a monad less than the pain of explaining to a student that (defun if (then else) ...) doesn't work? I don't have experience with Haskell, can anyone comment?
edit: Is there anything better than Lisp macros that makes defining an if possible and that supports side-effects?
I studied Miranda in university. It is a beautiful functional language but it wasn't free as in beer. Then around that time I heard about this free language called Haskell that was similar to Miranda. I stopped using Miranda after my course was over. If it was free I wonder if it would be more popular today.
In large part the critiques seem to center around failings of minimal prefix syntax(failings which I would agree with). Minor errors that in bulkier languages are caught by the compiler, become logic errors in a Lisp; an easy way to become frustrated as a learner.
Hal Abelson is a smart guy. He does a lot of work concerning law, privacy, and technology, including the internet and mobile devices. You may want to take a look at his book Blown to Bits http://www.bitsbook.com
Besides the book itself, are there any transcripts fer these videos? I've watched several of them, but some go by rather slowly. (I know: whine, whine.)
I've been watching these to get a grasp of lisp, and think they're great - not least because of the amazingly cool retro-look and haircuts of the audience.
These videos and book are certainly way to get some grasp at LISP, but not especially good way, because what is presented as LISP there is Scheme and it is presented in way that I would call too theoretic and oriented towards pedagogical purposes. And intention of SICP is to teach basics of CS, not LISP or Scheme, Scheme is used only as programming language serving this purpose. And for this purpose it is one of best materials that I've seen. But because of this programming style presented here is significantly different from what is useful for practical purposes. So it will help you as programmer in general, but not as LISP programmer.
If you want to learn Common Lisp and especially to use it effectively I would recommend CL-oriented book, for example Practical Common Lisp by Peter Seibel.
But still I'm recommending SICP (at least watch the videos) to anyone who indends to be real programmer.
[+] [-] eru|17 years ago|reply
[+] [-] ced|17 years ago|reply
edit: Is there anything better than Lisp macros that makes defining an if possible and that supports side-effects?
[+] [-] msie|17 years ago|reply
[+] [-] rtf|17 years ago|reply
[+] [-] campo|17 years ago|reply
[+] [-] silentbicycle|17 years ago|reply
[+] [-] speek|17 years ago|reply
[+] [-] tdavis|17 years ago|reply
[+] [-] mixmax|17 years ago|reply
[+] [-] dfox|17 years ago|reply
If you want to learn Common Lisp and especially to use it effectively I would recommend CL-oriented book, for example Practical Common Lisp by Peter Seibel.
But still I'm recommending SICP (at least watch the videos) to anyone who indends to be real programmer.