Live data from Hacker News

Books Programmers Don't Really Read (2008)

billthelizard.com

61–70 of 169 posts

Re: Books Programmers Don't Really Read (2008)

#61
When I started programming, I first read "Beginning Programming For Dummies" (QBasic), "C++ for dummies" (before STL, so implementing your own linked lists was fun), and... The C++ Programming Language

I spent maybe 3 years as a kid flipping through the C++ Programming Language book, trying to figure out how to do stuff with that + the Allegro tutorial. Totally a programming language reference.

It's one of those weird books that you could spend years just looking at on a desert island and find things to do with it. But you basically need to flip through all of it to get what is happening most of the time (at least I needed to when I was a kid).

Really wish I knew about Python back then....

Re: Books Programmers Don't Really Read (2008)

#62

Earlier quoted context omitted.

Agreed. At risk of sounding like an idiot, the K&R C book and Mythical Man-Month are the only books on that list I've even heard of , and I haven't read either of them. Also, he gives "more of a language reference" as a reason for not reading Stroutstrup's C++ book. Doesn't the same apply to K&R?

K&R actually describes C. You can pick up the original K&R from way back, and it's not so different to the latest ANSI C. The differences aren't quite trivial, but they're not so big they're going to distract anybody for long. It's probably impossible for any book to fully describe C++ because it'a a perpetually moving target on a three year update cycle. There are always new idioms and techniques to learn, but they…

For a long time this wasn't really the case. In between C+98 and C++11, Stroustrop's book contained essentially everything you would want to know about C++, including details on how to implement the STL yourself!

The end of the book even included a grammar for C++ (with a slight comment about how the grammar wasn't exact because of C++ context sensitivity)

Re: Books Programmers Don't Really Read (2008)

#63

Earlier quoted context omitted.

Sadly, SICP is lacking in mathematical rigor. Often, the book rushes to give broken code snippets based on insufficiently deep analysis of the problem at hand (e.g., interval arithmetic in chapter 2), and the exercises consist in fixing the code after taking additional information into consideration. It would be preferable to first carefully write a formal specification, and then write the right program without so mu…

To be fair, it was written to be a student's first introduction to computer science. I think it's fine if you don't have to prove everything. Ironically, Chapter 1's reliance on math for examples and exercises turns people off!

This is getting it backwards. The first introduction to CS is precisely when proofs matter most.

I agree that, ultimately, not everything has to be proven correct. Often there isn't even a well defined criterion for software correctness. But proofs absolutely matter in certain domains (algorithms, databases, compilers, etc.), and there's no way you can be ready to prove things about moderately tricky programs if you don't have practice proving things about toy ones.

Re: Books Programmers Don't Really Read (2008)

#64
The whole article just seemed like one silly anecdote. "Well these are the books I actually read so it must be the same for everyone."

I think the author's next read should be a good statistics book.

Here's my anecdotal evidence. I have read 8 out of 10 from his first list. I have read everything except for TAOCP from the second list. Some of the ones from the second list I have read multiple times and I still go back too as reference from time to time.

I have started reading TAOCP on several occasions, but I'm not going to lie; that shit is complicated and the dry academic nature makes it even worse to parse. I still plan to get through it in my lifetime, but I keep prioritizing easier reading.

Re: Books Programmers Don't Really Read (2008)

#65
post #42

I've read CLRS page-to-page 3 times and doing pretty significant chunk of exercises. It takes on average about 4-8 months with 2 hours each day. I still think the title is accurate, i.e., its just "introduction". These days at work I frequently bump in to algorithms that would be qualified as advanced and CLRS content now looks fairly introductory to me. In fact book hasn't even scratched 10% of the stuff that we use…

CLRS is even great to skim. I always find it tremendously helpful to skim through when preparing for interviews. It provides a great survey of commonly encountered problems, so you can use it to diagnose your problem areas.

Re: Books Programmers Don't Really Read (2008)

#67
post #61

When I started programming, I first read "Beginning Programming For Dummies" (QBasic), "C++ for dummies" (before STL, so implementing your own linked lists was fun), and... The C++ Programming Language I spent maybe 3 years as a kid flipping through the C++ Programming Language book, trying to figure out how to do stuff with that + the Allegro tutorial. Totally a programming language reference. It's one of those weir…

For the money, I've always liked those Dummies books.

If anyone is reading this who's interested in front end web developement; there's a book that I feel is great. I wish I had it a few years ago.

It's called Front-end web Development, from the Big Nerd Ranch, 2016.

I really like those Teach yourself Visually Books too.

(I'm not a Programmer. I'm just a guy who puts together small websites. The books have gotten better over the years. And to the guy, whom I high jacked, sorry. Your post got me thinking. I need to finish the C++ Programming Language--one day.)

Re: Books Programmers Don't Really Read (2008)

#68

From the first list, I've only read (3) The C Programming Language and only partially (5) Mythical Man-Month . From the second: (1) Intro to Algorithms , absolutely cover to cover once, and selected readings additional times; based the Kazlib "dict" module closely on the Red Black tree algorithm (with a slight improvement); (2) Compilers: Principles, Techniques and Tools : Ditto, and in recent years, implemented a re…

Most of the books on the first list represent those I would only read once, and never again (or never at all, like "Head First [Anything]"). The C Programming Language and Refactoring are the exceptions. K&R was one of the textbooks in my first CS class, and the first CS book I read which was still useful to me 10 years later.

The books on the second list which I have read (at least partially) are books I have had reason to go back to at some point in my career, and any of them which I no longer have, I will likely purchase again.

Re: Books Programmers Don't Really Read (2008)

#69
post #38

Earlier quoted context omitted.

He praises almost all of the books on the second list, he just thinks a large percentage of the people that recommend them haven't read much of them. He also doesn't seem to make the claim that the first list represents "canon" and that the second list represents "non-canon". The first list is a list of great books that are easily understood by most students. Many of the books on the second list are far more advanced…

He gives some rather backhanded praise for TAOCP, if you can consider noting that a set of books look impressive on a bookshelf as praise. For instance, "I've used my set several times when I was stuck and couldn't find help anywhere else. But TAOCP is always my reference of last resort. It's very dense and academic, and the examples are all in assembly language." He insinuates pretty strongly that the first set of b…

You're missing the point. He isn't saying the books are crap, not even TAOCP. He is saying lots of programmers suggest they have read them when really they haven't.

You see some of these books suggested to novices. Is TAOCP really the best book for someone just getting started on their first program?

Re: Books Programmers Don't Really Read (2008)

#70
post #49
post #41

Earlier quoted context omitted.

I think part of it was that this was written in 2008 which is forever ago in internet time. I think book learning for programmers was maybe more prevalent back then. I know I was significantly more likely to read a programming book 8 years ago when the quality of information on the internet was much lower (2008 was the year Stack Overflow was founded!)

I was thinking that too. The younger developers I know haven't read most of those books because the information is easily accessible on the web. When I started coding professionally you had to buy books because the information wasn't anywhere else, but today even for the more difficult subjects you can find papers and blog posts and wiki articles that cover what you want to know at different depths and from different…

Most of the information that makes some of those books worth reading is only easily accessible on the web in the sense that it's pretty easy to find ebooks of many of those books on the web.

Many people learn a lot of their development knowledge from the web (and I certainly do as well), but the majority of the web sources for material beyond basic language reference simply extract the easiest to digest parts of the major texts. This is why so much of what many people know about patterns, algorithms, data structures, and even OOP, TDD, Agile, Scrum, etc. is fragmented or even wrong.

Post reply on HN