Light(er) Reading Suggestions?

There's plenty of reading suggestions for authoritative references on various topics, and a few from LtU threads of which I've used. However, sometimes, you just want to read a book, away from your computer without doing exercises or programming at the same time. In fact, in my case, I prefer to do most of my reading this way.

For example, a book like SICP or TAPL isn't exactly something that you lay down on the couch with and just read. Unfortunately, most of the books that are the page-turning type are the "popular" math or compsci books that don't really challenge your brain enough. Is there a happy middle ground here? Any suggestions on titles that might fill this apparent void? Ideally, while I may not get all the details of some topic covered, when later encountered in a more formal text, I'll have already been exposed enough to it to make the full understanding that can only come from solving problems and running/modifying sample code far easier.

I'm mainly interested in functional programming, PLT, and related mathematical topics.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Perhaps the Little books

Perhaps the Little books (Little Schemer etc.) would count as lighter reading. In general I think there is a real lack of books matching your request. I even went so far as outlining such a book once, but that's as far as I got...

Off the top of my head....

Hofstadter's Gödel, Escher, Bach and Smullyan's To Mock A Mockingbird come to mind as pretty good reads for programming. But I'm still waiting for someone to do for Functional Programming/Monads/Category Theory what Hofstadter did for Recursion.

Programming Pearls are also

Programming Pearls are also good reading. But there are about general programming topics, rather than programming language issues (aside from the class article about little languages, of course...)

The Fun of Programming may

The Fun of Programming may also fulfill some of your criteria. Depending on your background, however, some chapters may not be as easy read, so I suggest browsing the book at a library before ordering a copy.

I wouldn't be so quick to

I wouldn't be so quick to knock TAPL out of the running here :) While definitely a textbook, it is lightweight compared to, say, most lambda calculus, logic, or denotational semantics texts. Furthermore, it alternates engagingly between formal ideas and (toy) applications, consistently propelling itself. Oddly, topic-wise, it even has somewhat of a climax and falling action(s).

Seconded.

TAPL actually is something you can just lay on the couch and read. That's what I did.

I lost the patience to make sense of the proofs pretty early on and, about a third of the way through, I started skipping the proof sections entirely. But, as I've said before on LtU: TAPL is a great read even if you do skip all that stuff.

You can always come back to the technical stuff later (I eventually learned that material in a graduate type systems class in college).

LISP

I learned Lisp much the way you suggest from the book: LISP by Patrick Henry Winston and Berth0ld Klause Paul Horn, I recall reading most of the book before writing any Lisp because there was no Lisp available for PC's at the time. Not long after that I bought a copy of muLisp, the first Lisp available for PC's. It had a small but enthusiastic following as well as an excellent monthly news letter.

The book worked for me probably because it is more of a "how to" book than a theory book. For me, it is easier to learn theory after a little "how to".

John Stillwell

How about a little more math oriented? I've recently become aware of John Stillwells writing. This guy has written several books at the undergrad/intro level (as well as grad level). I've read his 'elements of number theory' and am about to start 'elements of algebra'. His approach is to start with the historical perspective which I find VERY refreshing. These are math books though so if your not into formal proofs you should probably steer clear.... :P

Turing Omnibus

Dewdney's Turing Omnibus (http://www.codinghorror.com/blog/archives/000954.html) is a good read, covering the breadth of computer science. It should be brain-challenging without being too textbook-y.

That said, I have indeed curled up on the couch with TAPL, and found it to be a good read.