So I went to my University's library to pick up the book you /prog/fags consider on the same level christfags regard the bible, SICP. The version they have was printed in 1986. Should I even bother reading it or should I look for the updated version?
Also, I started w/ python last semester. Should I actually use LISP/Scheme(inb4 shitstorm), or try to apply the concepts I learn to python or something else? I am familiar with both emacs and vi and do not rely too much on IDEs, (However, I found IDLE to be great for debugging however.) If lisp/scheme is the way to go, is there any special software I need to/should install in order to start lisp/scheme programming?
Name:
Anonymous2011-06-30 21:38
Should I even bother reading it or should I look for the updated version?
lol, no. There's not much that's new about the new edition. It's more about concepts and paradigms than technology.
You absolutely can apply Python to anything in the text. Anybody who thinks it's a text about Scheme is horribly mistaken and probably didn't learn anything from it except how to use Scheme.
The thing about SICP is that it's about how to program, so you end up implementing a lot of things (like data structures, etc.) that languages like Python already have implemented better in their libraries. You can do it yourself, but it's kind of perverse. I would download Racket (scheme dialect) and use that. Scheme is such a simple language that you don't even really have to learn anything to use it, so you won't waste much time, and when you're done you can still apply all the concepts to python.
tl;dr work through it in scheme and you'll be able to apply the concepts to the language of your choice. install racket.
also i personally think s-expressions and macros and whatnot are cool but people on here seem to hate them so whatevs
Name:
pyNoob2011-06-30 22:01
>>2
Thanks for the quick response. I feel like expanding my limited python knowledge would be a better use of my time then trying to jump to scheme at this point, as I am looking to jump to C or one of it's derivatives this fall. It's good to know not much has changed between the versions.
Probably going to go bury my nose in this ancient tome of the Sussman's knowledge for the rest of the weekend. Later.
Name:
pyNoob2011-06-30 22:08
>>4
this wifi is terrible... took me 5 min to sumbit my last post, I'll check out Racket. Thanks for the tip.
Name:
Anonymous2011-06-30 22:31
why is everyone here acting like lambda is a simple concept that Python represents just fine? closures in Python are a pain (nonlocal lol), and part of SICP is learning to use them to create persistent objects in ways that in Python you'd use a class.
again, i want to reiterate that there's basically no overhead in learning scheme. people who like it say it "has no syntax" which is basically true. if you can think in terms of mathematical functions and read english, you're halfway to being able to code in scheme already. i really think you should use it to do the exercises.
but it's probably also worthwhile to think about how you would implement equivalent things in python. many times, you will be able to do things very similarly to the book, but python idioms are different, or there is a better solution baked into the language.
sorry if i sound pedantic or whatever, i don't mean to be.
Name:
Anonymous2011-07-01 0:00
oh dude also SICP is available free online http://mitpress.mit.edu/sicp/
and there's supplementary programming exercises too. some of them are pretty cool, like implementing RSA.
Name:
pyNoob2011-07-01 3:33
>>9
yeah, I saw that, but w/ my landlord's wifi and being on holiday(parent's wifi isn't much better) this weekend I thought the actual text would be better. thanks for pointing out the exercises though, I'll make sure to check 'em out. >>8
thanks for the link, I can read English and I'm not mathematically retarded so, hopefully "scheme" will come naturally to me.
take it easy /prog/bros. have a good holiday weekend if you're in the states or what not. if not.. its still the weekend, get laid or masturbate to Japanese cartoons or w/e you guys do.
:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:83 84add6e2f5138c50bbcfe7dd1787f53f
:1309483542 1309505610 >>8 <-- that's cool and all, but check my doubles over there
>>2 You absolutely can apply Python to anything in the text.
You can't easily apply Python to metacircular evaluator, continuations or amb operator or assembly chapters or lazzy-sequences.
:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:84 a19b036491d258177f1c82d3567eb495
:1309483542 1309519759 >>21 <-- that's cool and all, but check my doubles over there
Name:
Anonymous2011-07-01 15:40
>>17
You can write a Scheme interpreter in Python with the same guidelines used for the metacircular evaluator, then you could write a metacircular evaluator in that. That sounds like a fun project actually.
Name:
Anonymous2011-07-01 19:49
The older the version of SICP the more Authentic it is.