>There are so many programming books out there, sometimes it’s hard to know what books are best
Writing an intro on auto-pilot, I see. It's quite funny how these intro lines have become such a formality that the author doesn't even notice what they wrote was nonsensical. And the audience doesn't notice that the article starts off with something as silly as this, either.
Just to make my point clear:
• It's obviously hard to know which book is best, that's why that whole "book reviews" thing exists.
• It's not just "sometimes". That would imply that in other cases the list of best books is glaringly obvious.
But my point is not to nitpick about it, but rather to point out how funny the custom of these pointless, blank opening statements has become.
I think most writers at this point realize no one reads the intro paragraphs at all, and just skips to the bolded/underlined bullet points. If you're getting paid per word or article, there's little reason to focus hard on writing a good intro paragraph for these kinds of articles.
It makes sense to me... if everyone has told you to get book x then you assume it’s because it’s the best, and therefore in one case you know what the best book is...
E.g. when learning ruby many people recommend the pickaxe book. You could safely assume it’s because it’s the best reference guide to ruby, therefore making it an easy decision to get.
This is essentially a list of textbooks for undergraduate coursework in computer science. I'd guess is the important parts are the amazon affiliate links...
A related question: Are there any programming books you wish were written?
My long term side project has been to bootstrap an independent publishing house focused on technical topics. I'm always looking to hear what programming books people think are missing in the market.
Some recurring topics I keep seeing are more books on the soft skills / career development side of things, and more project based books that help you learn how certain technologies work internally by building a database, queue system, web framework, etc. from scratch.
Beautiful Code is a book that actually exists but I found disappointing in that the title describes a book that I'd like to see but I found most of the examples disappointing and not very beautiful. I'd love to see a book that lived up to the title better.
I'd like to see a good book on error handling. I feel this is still one of the great unsolved problems of software engineering (alongside naming) and most programming books just don't do it and say something like "obviously this is not production code but error handling would clutter up the examples too much". That to me is indicative of the problem.
I like the project based book idea. Physically Based Rendering is a rather nice example of this but I don't know of too many other similar books in other domains.
Maybe Programming Pearls achieves what Beautiful Code did not? Or Hackers Delight?
I think it's hard for code to be beautiful when it's mostly glue (calling libraries) rather than implementing a basic task (like sorting). As such, most modern (glue) languages are less likely to evoke aesthetic wonder in the reader than might a simpler, low level language like C or Pascal.
Programming Pearls is great (I haven't read Hacker's Delight) but it's mostly "programming in the small". I think it would be interesting to see a book that took real world projects and looked at some core piece of them that is particularly elegant or clever. The core of how git manages its data structure for example, or the Quake BSP. In practice most such real code is probably too tangled up with the rest of the project to be very suitable for this approach unfortunately.
I would love a project based book that tries to teach me the core principles and gives me some guidance and experience in building with a specific technology.
There are som fine guides online, but they usually don't have the scope or "budget" of a book. That being said, I loathe those massive 1500 page tomes that brand themselves as an "introduction" to the subject (I mean that first book in the linked article, "Introduction to Algorithms", 1300 pages), it really demotivates me when thinking about having to delve into those to learn the basics.
It would be nice with books in the 200-300 page range, and maybe doing project based books to teach the ropes and pitfalls of a technology would solve that. Then there's the possibility to make follow-ups with more intermediary topics or projects.
I would like a Computer Science 102 book. I'm a self taught programmer and started learning through a couple CS 101 books (eg. John Guttag). Those 101 skills were enough for me to run an online business via python/django. However, I don't know what's next to make me a better programmer. I'm assuming learning algorithms is the next step, but I don't really know.
Looking to get better at building web apps. I just don’t know if there is a better way of structuring my code, making it more maintainable, more efficient. Sometimes when I look at my code from a year ago, I think it’s embarrassingly bad.
I think book lists evolve over time. I would probably never had considered the Mythical Man-Month in my early career but found it helpful later on.
Also, some books don’t make sense until experience happens. The classic AWK book (gray cover one) came in handy only after I was having trouble organizing some data files. Then it was a must read/keep :)
The list is missing Clean Code, Clean Architecture, The Clean Coder, and Domain Driven Design. Also, while the books on the list look great a bunch of them are for very specific topics that don't have much to do with the majority of programming.
yeah well -- I read parts of the Dragon Book on Compilers, and Operating Systems Concepts, at a formative time in life, and ran, not walked, away from both.. The kind of 'algorithm ninja' specialization these days, and the style of programming that fits ever-so-tightly to some external OS requirements, is not at all the breadth of what is possible with software.
On the other hand, books like AI in Games, that's entering into a whole new modern realm.. cant make it up, gotta find it somewhere.
last, I cant help but feel a bit abused for the click here, since it is clearly linked to some volume-ads or buy-referral system or both, for the author, and the amount of effort to put that page together is clearly minimal. Oh HN .. .
I can't stand the presumptuous tone of this article. The author really has no idea which books his audience has read, or when they may have read them, so why is he talking down to us?
I happen to agree that some of those books are really good, but the tone of the article is so annoying I won't do more than skim through the list.
It's easy to say that every programmer should read CLRS, but I think it would be a lot more interesting for the author to explain why they think CLRS is better (and, in particular, better for straight-through reading?) than "The Algorithm Design Manual", "The Art of Computer Programming", or "Algorithms in Java".
A book I actually enjoyed reading large amounts of in school was Computer Systems: A Programmer's Perspective. It really helped me have a picture of the low level parts of a computer.
All book links are Amazon affiliate links (zeroequalsfals-20). This same submitter has submitted this same list of affiliate links 7 times this week alone.
I also think the list is OK, not quite the list I would have picked, but close. But I'm puzzled how you would know it's a legit list if you have read none of the books?
Most lists include books that I would avoid because they are actually bad or controversial. Design patterns is a good example. This list doesn't contain any of those.
Writing an intro on auto-pilot, I see. It's quite funny how these intro lines have become such a formality that the author doesn't even notice what they wrote was nonsensical. And the audience doesn't notice that the article starts off with something as silly as this, either.
Just to make my point clear:
• It's obviously hard to know which book is best, that's why that whole "book reviews" thing exists.
• It's not just "sometimes". That would imply that in other cases the list of best books is glaringly obvious.
But my point is not to nitpick about it, but rather to point out how funny the custom of these pointless, blank opening statements has become.