[Chicago] Best programming / dev book in 2015
Christopher Allan Webber
cwebber at dustycloud.org
Wed Dec 9 19:35:29 EST 2015
Aisha Halim writes:
> I wasn't approaching SICP as a possible scheme programmer but
> learning/revising computer science concepts, and I agree, it gets
> challenging. Someone recommended The Little Schemer since I kept pausing
> SICP, and recently got through half. It's a great approach that'll interest
> anyone from beginners, hobbyists, industry programmers.
>
> I haven't read enough programming books to call it the best of '15, but
> it's worth a look.
I do think Little Schemer is a great path in to approach SICP if you
want to explore down that path (a rich mine, for certain, leading off to
other related mines whose jewels it would take multiple lifetimes to
collect). Some additional advice:
- The Little Schemer is not a normal programming book. You should have
a text editor handy from day 1 of reading through it (if an Emacs
user, use Emacs + Geiser + Guile; if not, use Racket which ships with
DrRacket). The book is conversational, and you'll find that every
question and answer pair requires that you went through the previous
ones, often working through the examples.
Normally I find working through examples to be fairly boring, and I
skip it, but I found working through The Little Schemer's examples to
be a delight... and absolutely necessary to progress.
- Even having completed that, I found myself picking up and putting
down SICP and just generally struggling to make it through the book.
Then I found a wonderful thing: a series of SICP lectures from the
80s have been recorded and uploaded to archive.org:
https://archive.org/details/SICP_4_ipod
Some advice: there are few better ways you can spend your time at the
end of the day than an evening with a hot or cold beverage (adjusted
to preference or to contrast with the present season) and just
watching some of these lectures. I'm serious! (I spend a lot of my
evenings zoning out and watching lectures on interesting topics these
days... I recommend it, it's better than watching whatever current
zombie show is out there, I assure you.)
A good process for SICP generally is: thumb through one of the
chapters, and try to get a sense of it. Watch the corresponding
lecture video. Come back and re-read the chapter. Try working
through some exercises, in whatever time you have available (Sussman
said to a friend of mine that to *really get* SICP, going through all
lectures is essential. Well, usually I go through them when I'm
procrastinating on something else, which is when all things are
generally most interesting.)
- Oh yeah, if you have emacs, there's a texinfo version of SICP
available, somewhere over that rainbow. It's nice to flip through
the pages in emacs' info reader when you have a deadline you're
avoiding, I found. (I don't recommend billing clients for that
though. But hey, if you're salaried, it's brobably more productive
than reading twitbook or whatever!)
Wow, this is a long series of side-advice! At this point, you might be
wondering, why bother, after all, you've been making it just fine as a
python webdev, what's the point? I made it a full decade self-typed as
a "python web developer" and hey, it was a comfy, cushy experience.
Maybe too comfy, and maybe too cushy: I eventually hit a point where it
felt like, I've been doing these same things for so long, everything
feels the same and non-challenging. That's a good sense that it's time
to mine yak hair in ye old lisp rabbit hole.
Unfortunately, all those smug lispers out there are are right. Almost
no matter what programming feature you're interested in, either
lisp/scheme did it first, or you can learn how to do it yourself in
lisp/scheme in no time, and your depth of knowledge and understanding of
the topic will increase dramatically.
The downside is, once you go down that path, you might never be happy
about the alternatives again. You'll wish you were using lisp/scheme!
Oh well. Dang, if you could only find a nice way to use it at your day
job!
- Chris
PS: I might have a practical answer for that last part soon.
More information about the Chicago
mailing list