5 ms·
Why is it "depressing"?
by HSO 16y ago
Why is it "depressing"?
- tptacek 16y agoThese are the top books chosen by the whole community. The all-time most influential book is _Code Complete_? What's with all the Agile? Multiple books on design patterns? More books about the profession of being a developer --- and, in particular, a BigCo developer --- than about the most interesting aspects of designing programs.
- statictype 16y agoSICP, The Art Of Unix Programming and The Little Schemer are on the list. Those are the only books I've read that actually influenced my approach to program design. What other books do you feel belong there? Arguably GEB? Edit: Nevermind, GEB is on the list too
- tptacek 16y agoI like GEB, but I find it hard to pretend that it's really an essential programming title.
- johnswamps 16y agoThese sorts of questions are a popularity contest. Books aren't upvoted based on how influential they are, but based on how many voters have read and liked them. So _because_ it is chosen by the whole community you can expect a book like Code Complete: it touches on some of the fundamental principles of programming and is a book that almost every programmer can learn from. This works well for SO I think.
- chalst 16y agoPlus Jeff Atwood said it was his favourite book.
- xiongchiamiov 16y agoAs runjake points out[0] elsewhere in this discussion, the actual question is different: If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be? Given that, the choices make sense to me. [0]: http://news.ycombinator.com/item?id=2273050 http://news.ycombinator.com/item?id=2273050
- sb 16y agoHave you actually read CC? Another point: Which books deal with "the most interesting aspects of designing programs" in your opinion?
- brisance 16y agoCC is a good book that's not steeped in programming terminology and is easy for even laypeople to understand. However it would've been nice for Steve to incorporate some code snippets from a functional language, just to compare and contrast how things are handled differently between paradigms.
- sb 16y agoI agree with the missing parts of the book (btw: anyone interested in that might find "Programming Language Pragmatics" by Michael Scott interesting), however, I think that there is not enough experience on using functional programming languages in an industrial/professional setting.
- tptacek 16y agoI've been a software developer since 1995. Take a wild guess as to whether I've read Code Complete. I don't think it's a bad book.
- Sandman 16y agoI would be very interested in seeing your top ten list of books that every programmer should read, tptacek. First, because I value your opinion, and second, because I honestly believe that most of the books on this list actually are books that every programmer should read and I'm curious as to why you're so averse to them. What would you consider 'a book about the most interesting aspects of computer programming'? Do books like SICP and 'Introduction to algorithms' not fall in this category?
- wglb 16y agoHe has one list in his profile: http://amzn.to/cthr46 http://amzn.to/cthr46.
- Sandman 16y agoYeah, I've seen it. It's a good list, but it's mostly concerned with security, reverse engineering and similar topics. I'm not saying that this is not important but surely there are other things that a developer should know about. For example, how to write maintainable code, how to come up with elegant solutions to certain problems, and so on.
- tptacek 16y agoOf the books on that list, the ones I think you could call legitimately essential are: SICP -- K&R -- CLR[1] -- Design Patterns -- Mythical Mammoth -- TAOCP -- Compilers (Dragon Book) -- Effective C++[2] -- Programming Pearls -- Peopleware -- Little Schemer[3] -- Modern C++ Design -- The Practice of Programming[4] [1] ... except I'd recommend Skiena instead of CLR. [2] ... except I'd recommend Effective STL over any other Meyer book, and I also wouldn't concede that C++ is essential. [3] ... except I'd recommend Lisp In Small Pieces, which I know is a totally different book, but do you need it and SICP? [4] ... but only to someone new to programming. You can see I've chucked all the methodology and career crap (except for Brooks and Peopleware; I think you probably already know everything in Brooks, but Peopleware is something you should reread annually). To that list I might add: On Lisp -- Javascript: The Good Parts -- Pattern Oriented Software Design #2[1] -- Computation Structures -- Computer Architecture (Hennesy and Patterson) -- C Interfaces and Implementations -- The Visual Display Of Quantitative Information -- Windows Internals[2] [1] ... this book was wildly* ahead of its time and is no doubt overlooked because of it's patterns-y enterprise-y marketing.* [2] ... 10 years ago I'd have recommended _The Magic Garden_ but, even though I'd rather eat a bug than use a WinAPI system full time, it's hard for me to argue that Unix kernel design is as relevant now as the Windows kernel --- and, more importantly, there's no Unix book that does as good a job as Russinovich on the Intel architecture. I wish I had good books to recommend on: SQL performance optimization -- distributed systems -- compression and coding -- the HTML/JS DOM programming model. The reality is, at this point in my career, I don't find myself going to books for programming stuff so much; that doesn't mean I don't read, but I tend to take the "man pages" approach. So my choices may date me. If I'm going to pick up a book today, it's going to be for something domain specific. I find myself reading for maths (I suck at math), or for graphics, or for market microstructure, or signal processing. I won't pretend that stuff is relevant for everyone. I feel confident, though, in saying that nobody needs more than one "Agile" book.
- lawnchair_larry 16y agoI bought some of these books because you hear the same titles over and over again, so I had to see what the fuss was about. Code Complete was one of them. In no way did I find it enlightening. I found it to be straightforward, dense, and boring. I'd be interested to see a list that separates responses from the "Windows people" and the "Unix people." Hopefully that doesn't sound elitist, I just feel like they are completely different worlds sometimes. Most of the Joel/Atwood/SO fans seem to fit this archetype, and CC is their favorite book.