[HN Gopher] Programmers Don't Read Books - But You Should (2008)
___________________________________________________________________
Programmers Don't Read Books - But You Should (2008)
Author : rspivak
Score : 38 points
Date : 2024-08-15 18:33 UTC (4 hours ago)
(HTM) web link (blog.codinghorror.com)
(TXT) w3m dump (blog.codinghorror.com)
| minkles wrote:
| I don't read programming books any more because they are mostly
| shit or expensive or expensive and shit. The hit rate of finding
| a good one is so low it's easier to just fudge your way around a
| problem using some idiom you're already experienced with.
|
| Just ambling around the book store earlier I saw a 3 inch think
| tome around Go programming called Pro Go or something. I opened
| it and it was a whole book of instructional copy and paste
| recipes that span 10 pages for a simple problem. Urgh. This is
| the status quo now and it has been for a long time. I walked out
| with a book on pure mathematics instead - probably more useful in
| the long run...
| latexr wrote:
| > I don't read programming books any more because they are
| mostly shit or expensive or expensive and shit.
|
| That's consistent with the first reason given in the article:
|
| > I lay part of the blame squarely at the feet of the technical
| book publishing industry:
|
| > _Most programming books suck._ The barrier to being a book
| author, as near as I can tell, is virtually nonexistent. The
| signal to noise of book publishing is arguably not a heck of a
| lot better than what you 'll find on the wilds of the internet.
| Of the hundreds of programming books released every year,
| perhaps two are three are truly worth the time investment.
| minkles wrote:
| The problem is that they're written by developers. And when I
| say developers I mean developers, not engineers or authors.
| Everything is about a sausage factory, nothing more. You
| don't learn stuff other than copying and mimicry. And some of
| it is absolute monkey excrement. But when you don't know
| better it feels like you are learning something good.
|
| I am considering writing a bad programming book on purpose. I
| will call it _" how to sling together a badly written Go
| 'enterprise' app and smear AngularJS over the top"_
| Suppafly wrote:
| Nah, the worst ones are the ones written by authors, but
| who aren't developers. Especially the ones that are authors
| that just write a book for every new trendy language but
| never get to the point of actually using those languages
| themselves.
| jonbodner wrote:
| I'm the author of Learning Go from O'Reilly, so I might be a
| bit biased.
|
| What I've found is that different publishers put different
| amount of effort into producing good content. O'Reilly is
| almost always excellent. Others are less so.
|
| It's hard to find a dev who is willing to invest a year of
| their life to write a book that is likely to make almost no
| money. It's doubly hard to find devs who write well.
|
| Given these filters, two or three good programming books a
| year sounds pretty great.
| nyarlathotep_ wrote:
| Many are outdated by the time they hit the press.
|
| I recall a few years back, Packt et al would publish like
| "Modern React" or something, with examples that wouldn't build
| by the time the book was out.
|
| Typesetting is awful too, as you mentioned. A single paragraph
| for something dead simple is spread over multiple pages.
|
| Nothing against such authors; its fruitless to hit a moving
| target.
|
| Books on programming languages are the only ones I purchase
| these days, for those reasons.
|
| The Go book, Rust Programming language, Stroustrup's books on
| C++ etc are quite good and worth owning, but those are
| exceptions rather than the rule.
| tdeck wrote:
| > I recall a few years back, Packt et al would publish like
| "Modern React" or something, with examples that wouldn't
| build by the time the book was out.
|
| This says more about React than it does about the publisher.
| biofox wrote:
| Churn in the software world is out of control, and I have
| no idea why we accept it.
| 2OEH8eoCRo0 wrote:
| It's funny because at the end of the day it's still all
| just instructions on a CPU. Computers essentially haven't
| changed in half a century. What the biggest change
| between then and now? Multi-core processors?
| Clamchop wrote:
| I'd say GPUs and the things descended from them and how
| they're being used now is a pretty big development.
|
| You can still be reductionist about it, but it feels
| materially different from the mundane calculations and
| algorithms that sprung to mind when I read your post.
| 2OEH8eoCRo0 wrote:
| Agreed. GPUs are a somewhat different paradigm.
| ppseafield wrote:
| Programming books are definitely becoming more hit or miss,
| as the volume of books has increased dramatically in the last
| 10-15 years. There are still great books, but there are a lot
| more bad ones out there. There's a lot more software out
| there, and a lot more people learning about it.
|
| I had a horrible experience with Packt. I had subscribed
| andwas in the middle of reading a book. The book suddenly
| became unavailable, so I created a ticket. They threw a few
| tokens at me, and asked if they could just close the ticket,
| even though there was no mention of whether the book was
| going to be available again.
|
| Then weeks later they signed me up for six(!) separate
| mailing lists without asking me, one for each tag I had
| flagged as interested.
| Suppafly wrote:
| >Nothing against such authors;
|
| I have something against them. It's often apparent that many
| of them are professional programming book authors that are
| learning the language as they are writing the book instead of
| being professional programmers with some skills in the
| language that are writing a book. I don't want to learn along
| with another unskilled person, I want to learn from someone
| that has enough familiarity to not use features incorrectly
| and to mention potential hangups. Hell a lot of these books
| read like they are written by someone that is new to
| programming altogether, not just someone that is relatively
| new to the language.
| ghaff wrote:
| >Many are outdated by the time they hit the press.
|
| Quite a while back, I was contacted by Wiley about writing an
| OpenStack book. I wasn't the right person to write it anyway.
| But even if I were, by the time the book hit the shelves,
| OpenStack would almost certainly have moved on a good two
| versions.
| layer8 wrote:
| The most useful books to read are about topics that don't get
| easily outdated.
| djaouen wrote:
| Why would you go to a book store to buy a programming book?
| That's the stupidest shit I ever heard lol
| geph2021 wrote:
| That's exactly the author's point: Most
| programming books suck.
|
| Yet he has some recommendations: But I do have
| this call to arms: my top five programming books every working
| programmer should own - and read.
|
| They are: Code Complete 2 [1] Don't
| Make Me Think [2] Peopleware [3]
| Pragmatic Programmer [4] Facts and Fallacies [5]
|
| 1 -
| https://www.amazon.com/exec/obidos/ASIN/0735619670/codihorr-...
|
| 2 -
| http://www.amazon.com/exec/obidos/ASIN/0321965515/codihorr-2...
|
| 3 -
| http://www.amazon.com/exec/obidos/ASIN/0932633439/codihorr-2...
|
| 4 -
| http://www.amazon.com/exec/obidos/ASIN/020161622X/codihorr-2...
|
| 5 -
| http://www.amazon.com/exec/obidos/ASIN/0321117425/codihorr-2...
| layer8 wrote:
| There's always LibGen and friends if you really can't afford
| much, or to sample before buying. You can also get used copies
| cheaper. The pricing shouldn't keep you from reading.
| anthk wrote:
| From Mark Burguess I'm reading:
|
| - The Unix Programming Environment (not that one; this one it's
| a bit more modern). You'll get a bit of Perl instead of AWK,
| but it's fine.
|
| - The GNU C Tutorial. Not as good as 'The C programming
| language'; but still useful.
|
| - A shot Introduction To Operating Systems. Slightly outdated
| C++, because most of the time the issue it's just about fixing
| the include headers.
|
| Most of the things learned there will work as is as Perl5, ANSI
| C/GNU C and so don't change a lot over time, if any.
| dayvid wrote:
| The really good books are REALLY good, though. But the only
| places I've seen them were at university bookstores (and even
| then mainly MIT/Stanford) or Amazon when they had physical
| stores. Otherwise you have to get them online
| mandevil wrote:
| I try and re-read Fred Brooks' _Mythical Man Month_ every year or
| two. That is a short series of essays that I seem to always find
| a "new" idea from. My most recent re-read the line that stuck
| with me was "plan to throw one away. You will anyhow."
|
| What I took from that given the situation I was in at time was
| that the best way to build an abstraction is to build the first
| one without any abstraction, and only then, when you understand
| how whatever is being abstracted will be used, try and build the
| abstraction layer, rather than starting with the attempt at
| abstraction. There are other ways to interpret it- it can point
| you to a more Agile design philosophy even though he was writing
| decades before the Agile Manifesto.
| jll29 wrote:
| Some counter-examples:
|
| - Structure and Interpretation of Computer Programs
|
| - C Interfaces and Implementations
|
| - Design Patterns
|
| - Compilers: Principles, Practice and Tools
|
| Each of these should make you go "a-ha!", in its own way.
| vsuperpower2021 wrote:
| Design Patterns is your suggestion of a book that isn't shit?
| Even the list of "a-ha" books has random landmines tossed in.
| johncessna wrote:
| The Gof book should be on the list, but I agree that it
| suffers from similar problems that a lot of first-of-their-
| kinds do. There are iterations on it that are a much better
| read.
| larve wrote:
| I actually find the quality of programming books to have starkly
| increased in the last decade. I find a lot of manning's and
| o'reilly's release to have a pretty long shelf-life.
|
| For example, I really enjoyed and often go back to:
|
| - https://www.oreilly.com/library/view/building-event-driven-m...
|
| - https://www.oreilly.com/library/view/designing-data-intensiv...
|
| - https://www.manning.com/books/100-go-mistakes-and-how-to-avo...
|
| - https://www.amazon.com/Systems-Performance-Brendan-Gregg/dp/...
|
| And more recently:
|
| - https://www.manning.com/books/build-a-large-language-model-f...
|
| - https://www.manning.com/books/the-creative-programmer
|
| - https://www.manning.com/books/the-programmers-brain
|
| - https://www.amazon.com/Understanding-Software-Addison-Wesley...
|
| I also find books about specific technologies that indeed run the
| risk of being deprecated after a few years to be useful too
|
| - https://www.oreilly.com/library/view/networking-and-kubernet...
|
| - https://www.brendangregg.com/bpf-performance-tools-book.html
|
| Furthermore, nothing keeps you from reading books about topics
| peripheral to computer science, say to keep up with the general
| vibes:
|
| - https://www.amazon.com/Probabilistic-Machine-Learning-Introd...
|
| - https://www.amazon.com/Deep-Learning-Foundations-Christopher...
|
| - https://www.amazon.com/Joy-Abstraction-Exploration-Category-...
|
| I find that all of these contribute significantly to my growth as
| an engineer.
| layer8 wrote:
| > I actually find the quality of programming books to have
| starkly increased in the last decade.
|
| I suspect this might be a side-effect of programmers buying
| less books. The ratio of authors who write them because they
| really care instead of because they hope to make some bucks
| would then increase.
| jbs789 wrote:
| Just picked up a few of these for my summer vacation.
| Appreciate the recommendations!
| smusamashah wrote:
| " The Design of Everyday Things" is a great non-programming book
| that programmers should read. It tells you why/how you should
| make things more usable for your users. If you find yourself
| failing to use something properly, it's not you being stupid,
| it's the design.
|
| Design of doors is famously known example from this book.
| jbs789 wrote:
| I often think about the idea that a good design takes
| information from the world (or the users head) and puts it into
| the system, reducing cognitive load. So if a door needs to be
| pushed, put a push plate on it, rather than requiring the user
| to remember to push the handle. Think about it when labelling
| buttons quite a bit, for example. Or workflows.
| RyanOD wrote:
| Maybe consider a subscription to Safari Bookshelf instead.
| Everywhere I've ever worked, they've been happy to foot the bill
| for an annual subscription so I have a deep reference library.
| felixnm wrote:
| A few years ago, O'Reilly had a 60% off sale for an annual
| subscription, which I promptly took advantage of. I've been
| paying only $200 per year ever since. Not sure if they still
| have that deal.
| RyanOD wrote:
| Yes, $200 per year is a great deal. For those who are ok with
| reading digital content, Safari is where it's at, in my
| opinion.
| taeric wrote:
| Amusingly, I thought Code Complete was disliked now? I thought it
| was fun, but definitely over sold on things.
|
| I liked the other ones, even if I don't remember take aways from
| them at the moment.
|
| I do reject the Knuth observation here. Annoyingly, most
| criticism you will ever see of a Knuth book are from people that
| never read them. Not that I don't get the point, as following
| closely behind that group are those that bought but never read
| them. Especially with the newer volumes, there are a lot of very
| fun topics covered.
|
| And, sure, you are best not putting together many of the low
| level things that are covered in those books. But... you are also
| best not blindly following whatever is in the other books, too?
| Again, many folks dislike Code Complete for fairly solid reasons.
| Jtsummers wrote:
| _Code Complete_ seems more forgotten than disliked these days
| (rarely mentioned, either for or against). _Clean Code_ is the
| one that, when you mention it, brings out all the negative
| comments.
| taeric wrote:
| Ah, makes sense! I am pretty sure I've read them both. I'm
| not too surprised that I would mistake them for each other.
| Will have to look back at Code Complete. :D
| koinedad wrote:
| Computer programming books have a special place in my heart. I
| really like the idea of them. I think my brain is limited in how
| much it can retain from a book vs things I see and encounter
| daily though. My memory is optimized for urgent/important/daily
| use.
|
| There's a lot of non-programming books I really enjoy though as
| well.
___________________________________________________________________
(page generated 2024-08-15 23:01 UTC)