Books Programmers Don't Really Read (2008)
I&#x27;ve read the books on both of those lists, among many others.  Not because these are all required reading, but because I&#x27;ve had a long career and I&#x27;ve fought to continually improve my knowledge in Computer Science.  It seems rather arrogant of the author to decree that one list is canon and the other list is not.  Each of those books has its use.  Does this mean that someone needs to read <i>any</i> of those books to be good at software?  Probably not.  But, studying each of those books will improve skills in the particular domains that the books cover.<p>Also, why is it suddenly in vogue to bash TAOCP and CLRS?  When I read these sorts of posts, I generally think that the author really means, &quot;I didn&#x27;t understand these books, so therefore, they must be crap.&quot;  I started reading TAOCP very early in my career, and Knuth&#x27;s low-level approach of analysis has served me quite well over the years.  It&#x27;s why, for instance, I don&#x27;t balk when I need to optimize a computationally heavy algorithm on an 8-bit microcontroller, or when I have to hand-tune a cryptographic algorithm to avoid cache side channel attacks, I can approach the problem logically.  Knuth is an excellent teacher for the right sort of student.  He&#x27;s not for everyone, and there&#x27;s nothing wrong with that.  Software ceased being a one-size-fits-all field decades ago.  For that reason, among many others, decrees of what is canon or not -- such as the one made by the author of this post -- are nothing but bunk.