Live data from Hacker News

Which programming book you just couldn’t stop reading from start to end?

news.ycombinator.com

11–20 of 156 posts

Re: Which programming book you just couldn’t stop reading from start to end?

#13

_The Little Schemer_, _The Seasoned Schemer_, _The Little MLer_. Those are made to be burned through, though. Probably not one sitting (many ideas need time to sink in), but only a couple sessions each. More recently, _Land of Lisp_. I already knew much of the material, but a very fun read. (Nice stickers, too!) I'd suggest this as a starting point for people new to Lisp, maybe even before _The Little Schemer_ (!). I…

I definitely agree with the Schemer series. I wouldn't leave off the The Reasoned Schemer, I've been working on that book for over a month now. Better than coffee. Might actually finally understand monads.

SICP is astounding. Thoroughly worked through the first three chapters years ago. I'm constantly revisiting the later chapters.

I haven't worked through CTMCP, but that book is written in a lovely, compelling style with eye-opening statements on nearly every page. I'm also also finding that it's the ultimate Clojure book.

Re: Which programming book you just couldn’t stop reading from start to end?

#15
Programming books are rarely page turners. I cannot think of one book to add to the (currently empty) list here. I find most programming books to be boring and discursive. Far too many fall into a pattern not too far removed from romance novels where, inevitably, the alpha male hero beds the heroine by chapter three. And if software engineering is considered programming, many of those books seem to be anchored in the occult where certain spells produce magical results for arcane reasons.

Personally I dislike tutorials and the pedagogy that comes along with that style. Even when well done they seem wordy presentation of the trivial and obvious.

Serious computer science books (e.g., Knuth's Art of Computer Programming, Hank Warren's Hackers Delight) take careful reading and study; I read them for pleasure, but it is a different pleasure that I get from, say, a Lee Child's Jack Reacher novel.

I think there are good reasons for this situation. The interesting aspects of programming are complex, involve a deep understanding of multiple levels of abstraction, and require considerable background knowledge. This is incompatible with a mindless read.

Re: Which programming book you just couldn’t stop reading from start to end?

#16
This may not be a programming book but I could not put "The Elements of Computing Systems" down for the first 5 chapters. They are just brilliant, it wasn't a tutorial type of book. The authors don't give you anything actually. Just a bunch of specs and some background knowledge. But when I got down to it, that was all that mattered when presented in a structured way (and of course some reading and questions on the forum).

Re: Which programming book you just couldn’t stop reading from start to end?

#17

_The Little Schemer_, _The Seasoned Schemer_, _The Little MLer_. Those are made to be burned through, though. Probably not one sitting (many ideas need time to sink in), but only a couple sessions each. More recently, _Land of Lisp_. I already knew much of the material, but a very fun read. (Nice stickers, too!) I'd suggest this as a starting point for people new to Lisp, maybe even before _The Little Schemer_ (!). I…

I definitely agree with the Schemer series. I wouldn't leave off the The Reasoned Schemer, I've been working on that book for over a month now. Better than coffee. Might actually finally understand monads. SICP is astounding. Thoroughly worked through the first three chapters years ago. I'm constantly revisiting the later chapters. I haven't worked through CTMCP, but that book is written in a lovely, compelling style…

We've already talked about _The Reasoned Schemer_ in another thread. :) I may give it a try again eventually. Clocksin's _Clause and Effect_ is a similar book, in Prolog.

Monads aren't that hard, they're just one step too general - at first, it's not clear what their examples have in common. It helped when I realized I'd already written "monadic" code in OCaml and Scheme, and with pipelines in shell scripts. (Getting away from the avalanche of category theory terminology mixed with nonsense about burritos and space suits also helped. The epiphany itself matters, not the stepping stone!) Also, starting with a simpler monad (e.g. Maybe) makes the plumbing clearer.

For interpreters / compilers, I prefer the treatment in EoPL to SICP's. There's an awesome "converting an interpreter to a continuation-passing-style interpreter to a CPS-based compiler" section in (only) the first edition of EoPL.

What really impresses me about CTM is how much deep material it ties together, from all over the place, yet the book is still extremely easy to follow. Somebody just starting in CS could benefit tremendously from reading its take on concepts when their other textbooks stump them. It's one of the most readable textbooks I've seen. (PAIP is another.)

Re: Which programming book you just couldn’t stop reading from start to end?

#19
post #11

Why's (Poignant) Guide to Ruby. You may already have heard of it, as it's a classic in the Ruby community. It feels more like a work of art than a mere programming book, but you'll learn an awful lot while reading it. :)

As somebody who knows several other languages but not Ruby, I didn't learn that much about Ruby from that book. It's a fun read, but I felt like I mainly came away with in-jokes and minor details about syntax. I wonder if it has a bigger impact on people new to programming.

_Land of Lisp_, for example, teaches quite a bit about the language while still being fun.

Re: Which programming book you just couldn’t stop reading from start to end?

#20
post #11

Why's (Poignant) Guide to Ruby. You may already have heard of it, as it's a classic in the Ruby community. It feels more like a work of art than a mere programming book, but you'll learn an awful lot while reading it. :)

It was entertaining and I found some of the clever ways he described syntax useful for remembering, i.e. the pipes form a chute which slides the variable into the block.
Post reply on HN