11 ms·
What is the single most influential book every programmer should read?
- eibrahim 16y agoThe 4-Hour Work Week: Escape 9-5, Live Anywhere, and Join the New Rich - http://amzn.to/ep7taj http://amzn.to/ep7taj It's not a programming book but I quit my job 2 weeks after I read it :)
- runjake 16y agoAnd then what did you do? What do you do now?
- eibrahim 16y agoI created a startup, wrote a book (http://bit.ly/1i5ede http://bit.ly/1i5ede), started my own consulting company (i.e. freelancer), short sold a house, screwed up my credit, got married. Hmmm... Overall, things went well :) More details on my blog http://j.mp/fzrhOF http://j.mp/fzrhOF
- deleted 16y ago[deleted]
- tetsuo13 16y agoURL shorteners aren't necessary. The 4-Hour Work Week: http://www.amazon.com/4-Hour-Work-Week-Anywhere-Library/dp/0786168641/ref=sr_1_2?tag=dotnetfactory-20 http://www.amazon.com/4-Hour-Work-Week-Anywhere-Library/dp/0... Book eibrahim wrote: http://www.amazon.com/ASP-NET-Test-Driven-Development-Problem/dp/0470447621/ref=sr_1_1?ie=UTF8&s=books&qid=1250063048&sr=8-1&tag=dotnetfactory-20 http://www.amazon.com/ASP-NET-Test-Driven-Development-Proble... Blog: http://www.emadibrahim.com/2009/03/09/i-quit-1-year-anniversary/ http://www.emadibrahim.com/2009/03/09/i-quit-1-year-annivers...
- div 16y agoIn the programming category, I'd definitely have to say the pragmatic programmer. Written in a way that makes it very easy to understand, especially for relative newbies, it's not technology bound, encourages good practices and fosters curiosity. In short, it's timeless. This should be required reading for any junior hire imo.
- Pooter 16y agoYes. It's full of really good, pragmatic, and practical advice, but isn't particular geared to a specific language or environment. > This should be required reading for any junior hire imo. Senior folks should give it a read, too. Just cause you've been around a while, that doesn't mean you know everything.
- rodh257 16y agoIt sucks that so many of those books are not available in ebook format, I would have thought programmers would be leading the way in ebook adoption. I own Code Complete, and have for a year or two now yet I've not even got 1/4 of the way through it. I enjoy the book but I can't take it out of the house because it's too big, and I can't lie down and read it, because it's too unwieldy.
- danibx 16y agoCode Complete is available at Safari Books.
- zdw 16y agoAvailable for purchase at Oreilly's site: http://oreilly.com/catalog/9780735619678/ http://oreilly.com/catalog/9780735619678/ If you create an account, they have a buy one get one free ebook deal running all the time.
- rodh257 16y agoAwesome! Can't believe I didn't see that earlier, I did Google it a number of times but from memory all I got was torrent spam. Thanks heaps!
- mindcrime 16y agoI'd be really hard pressed to pick just one, but I agree with most of the higher ranked selections on the first page of the SO thread. I didn't drill down any further, but there was some good stuff there. Of the ones I didn't see, I'd throw out: The World Is Flat - Thomas L. Friedman Enterprise Integration Patterns - Gregor Hohpe & Bobby Woolf Thinking in C++ - Bruce Eckel
- tjr 16y agoThe New Hacker's Dictionary served as my whirlwind tour of programming culture, and was one of the first computer-related books I read. Either directly or indirectly due to this book, I ended up: using Emacs, learning Lisp, learning LaTeX, reading (portions of) Knuth's Art of Computer Programming, contributing work to the GNU Project, and generally went on to enjoy programming more than I think I would have otherwise. I didn't learn how to program from this book by any means, but I think it played a notable role in how I developed as a programmer. That said, the book is woefully outdated, with the last printed edition being published in 1996, and a lot of the topics it covers were kind of old in technology timelines even then.
- runjake 16y agoThe actual question in the body of the SO post is different and evokes a completely different answer from me: 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? In this case, I'd probably have to go with a book that wasn't even directly about programming -- like 4HWW, Never Eat Alone, or How To Win Friends... Because looking back, the meta is more important that styles, conventions & code.
- deleted 16y ago[deleted]
- gorgoroth666 16y agoDouglas Adams, Dirk Gently holistic detective
- edw519 16y agoHard to argue with any of the books in OP's post. The ones that I have read (at least half of them) are great. If I had to pick one, it would be the Rhinocerous book, simply because Javascript is everywhere. I've been a professional programmer for many years, but oddly, programming books, as good as they often are, have had surprisingly little affect on me. I've learned much more about programming from working on projects, other programmers, and websites about the technology at hand. Programming has always come naturally to me, but business hasn't. So since the original question is "most influential book" and not "most influential programming book", I would prefer to mention some of my favorite business books. They helped me become the programmer I am much more than any programming book. Differentiate or Die - Jack Trout Art of the Start - Guy Kawasaki Controlling Software Projects - Tom DeMarco You Can't Teach a Kid to Ride a Bike at a Seminar - David Sandler Carnegie - Peter Krass Do More Faster - Brad Feld and David Cohen Founders at Work - Jessica Livingston But if I had to pick only one: How to Get Rich - Felix Dennis because it got me to dreaming, it's so much fun to read, and for the line, "If it flies, floats or fornicates, always rent it - it's cheaper in the long run."
- marcofloriano 16y agoThanks for the tip! Im going to read it right now !
- qqqq2010 16y agoOh man... the Rhino is a good reference, but lacks all kinds of best practices and essential style pieces. Between 'proper' OO style, short circuiting on falsey assignment (var a = b || "default"), checking existence to avoid errors ( if (myObject && myObject.getJSON()){//block to deal with JSON} ) and the DOM, I feel like this is only useful to look up the Date() and Math() methods. Sorry, just griping because it was the first 'real' programming book I got, and I feel that it misled me for quite a while. </rant>
- bad_user 16y agoI wonder why they don't add the <rant> tag to the HTML5 standard.
- gte910h 16y agoCode Complete 2
- shawndumas 16y agoThe Elements of Computing Systems: Building a Modern Computer from First Principles[1][2] ---- [1]: http://www1.idc.ac.il/tecs/ http://www1.idc.ac.il/tecs/ [2]: http://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686/ref=cm_cr_pr_product_top http://www.amazon.com/Elements-Computing-Systems-Building-Pr...
- VB6_Forever 16y ago'The Elements of Computing systems' by Nisan & Schocken To truly understand the machine and the software layers on top of it
- T-R 16y agoTragically locked - I'd add "Real World Haskell" to the list. Completely changed the way I write code, in a way that books that more directly advocate readability and testability failed to.
- eibrahim 16y agoRework, getting real, 4-hour work week and more. Check out the list here http://bit.ly/ikAlLF http://bit.ly/ikAlLF
- jacques_chester 16y agoI'd just like to brag that I still have my Code Complete first edition. One day it'll be worth millions of microdollars, mark my words.
- kleevr 16y agoI'm sure you could pick up quite a few bitcoins with it.
- jacques_chester 16y agoI plan to keep it.
- stevepotter 16y agoCode Complete is a great read. I recommend rereading it annually to make sure you don't stray the course. I do not recommend reading it anally. Bad lighting.
- bch 16y agoOutside of a dog, a book is a mans best friend. Inside of a dog, it's too dark to read.
- technomancy 16y agoIt seems like a great book for folks just getting started, but I read it after I had a few years under my belt, and all the advice seemed either really basic or far too specific to the C++ Windows world. I can't imagine re-reading it.
- nathanwdavis 16y agoI was surprised to find 'Purely Functional Data Structures' so far down the list.
- joelburget 16y agoI'm kind of surprised it even made the list. It fills a very small niche currently, and has a more academic flavor than the more popular books on the list. I think it will increasingly come to be recognized as important, as functional programming becomes more popular. I hope so at least.
- francoisdevlin 16y agoHow to win friends and influence people, Carnegie.
- eibrahim 16y agoAWESOME book. My dad gave it to me when I was 12 or so and it made a huge impression on me.
- xsmasher 16y agoIf anyone is put off by a snake-oil, slimy, manipulative impression from that title... Don't be. Give it a try anyway, it's not what you think. I always found the title offputting but I'm glad i looked past it; it contains lots of great social advice and anecdotes, not a recipe for becoming an unctuous car salesman type.
- benjohnson 16y agoLet me second that! The book teaches it's reader to be a kind, polite, and considerate friend to people you meet every day. It's a life changer - especially if you're of the shy persuasion.
- amitagrawal 16y agoI would not get along very well with people all around me - in the home, school & everywhere else. Then my sister gifted it to me on a relatively long, boring journey and I finished a major portion of it as a better person. TL;DR - This book tells you to be genuinely interested in people instead of just manipulating them for your own selfish gains.
- allwein 16y agoThis, more than any other book, technical or otherwise, made me a much better freelancer/consultant.
- getsat 16y agoProgramming Erlang: Software for a Concurrent World
- yesimahuman 16y agoWhile I don't use Erlang, I found this book to be full of very practical and accessible examples. Erlang is a pretty elegant language (IMO) and pretty easy to read after learning pattern matching.
- getsat 16y agoI agree. I haven't done Erlang since 2009, but reading through that book taught me a lot about functional programming theory, state mutation concepts, parallelising code properly and many other things. Definitely not a book for beginners to programming but I think that an individual with at least one language under their belt will get a lot out of it. It's a very easy read considering the myriad topics covered.
- dnsworks 16y agoI would recommend "How To Win Friends and Influence People" by Dale Carnegie.
- russell 16y agoI started so far back that the only thing written down was TAOCP. A book on Simula 67 would certainly have influenced me had I known about it. The mythical Man-Month, dated but still a good read. Sedgewick, Algorithms, although there are newer and fatter books. I guess meta books got me to think more about the art than did core technical books.
- michael_nielsen 16y agoAlan Kay has a great list of recommended reading: http://www.squeakland.org/resources/books/readingList.jsp http://www.squeakland.org/resources/books/readingList.jsp It's very broad by comparison with most lists of this nature. Here is a HN discussion of Kay's list: http://news.ycombinator.com/item?id=664324 http://news.ycombinator.com/item?id=664324
- amackera 16y agoNeuromancer by William Gibson. Single handedly (bookedly?) got me interested in how the Internet worked and how computers work. It also gave me an unshakable belief that programming was somehow cool. It's fiction, but there's nothing wrong with that!
- yolesaber 16y ago"Snow Crash" by Neil Stephenson is also an amazing read that has a better technical grasp on the growing technology. "Neuromancer" is amazing and all, with some really brilliant passages, but it was composed on a typewriter and Gibson had relatively little experience with programming or computers. Stephenson's work is like a mix between a coherent William S. Burroughs and Thomas Pynchon - strangely prophetic ideas shown in complete detail with such conviction as to make it almost ironic.
- harpastum 16y agoIf you like Snow Crash, I definitely recommend checking out Daemon (and its sequel FreedomTM) by Daniel Suarez. Just found them recently, and they're fantastic.
- chris11 16y agoIn my opinion the daemon was just one big deus ex machina. It definitely is not in the same league as Snow Crash.And I don't think Suarez had a very good sense of tension. The book is fast-paced, but it never takes a break. And the protaganist was poorly written. He basic had no control over events in the story, he just responded to the antagonists actions. But it seems to be popular on Amazon, and I haven't read the sequal.
- statictype 16y agoSnow Crash was always considered to be Stephenson's best work but I thought Cryptonomicon and Anathem were far better.
- technomancy 16y ago> but it was composed on a typewriter and Gibson had relatively little experience with programming or computers. I have a hard time seeing this as a negative. If he drew from knowledge about real-life computers, we'd all be snickering at the dated references. I enjoy Snow Crash (more as brain candy), but the reasons for doing so have absolutely nothing to do with how accurate the descriptions of technology are.
- sayemm 16y agoI'm about to start working through these 4 books Joel Spolsky recommends for any good programmer: http://stackoverflow.com/questions/414779/what-should-a-self-taught-programmer-with-no-degree-learn-read/4473810#4473810 http://stackoverflow.com/questions/414779/what-should-a-self... SICP and K&R also happen to be up on that thread's list.
- 6ren 16y agoFor one book, it's The Mythical Man-Month. Widely read, far beyond programming. Quoted everywhere. The inspiration for agile development. Beautifully, incisively written. Nails everything. The author not only was a programmer, but headed up the largest commercial project ever taken of any kind, that bet the company (the most influential computer company, IBM).
- tptacek 16y agoIn order, up to 20 votes: Code Complete 2nd Ed -- Pragmatic Programmer -- SICP -- K&R -- Refactoring -- CLR -- Design Patterns -- Mythical Mammoth -- TAOCP -- Compilers (Dragon Book) -- Head First Design Patterns -- G.E.B. -- Effective C++ -- Programming Pearls -- Code (Petzold) -- Working Effectively With Legacy Code -- Zen and the Art Of Motorcycle Maintenance -- Peopleware -- Clean Code -- Coders at Work -- Surely You're Joking -- Effective Java -- Patterns of Enterprise Application Architecture -- Little Schemer -- The Inmates Are Running The Asylum -- Why's Ruby -- Practice of an Agile Developer -- The Elements of Style -- The Art of Unix Programming -- Joel on Software -- Modern C++ Design -- The Design of Everyday Things -- Test Driven Development -- How To Win Friends And Influence People -- Agile Software Development -- Domain Driven Design -- The Practice of Programming -- Don't Make Me Think -- Writing Solid Code -- Pragmatic Thinking And Learning -- Software Estimation -- Foundations of Programming -- Algorithms + Data Structures = Programs -- The Passionate Programmer -- Facts And Fallacies of Software Engineering -- Getting Real -- The Story About Ping Depressing.
- HSO 16y agoWhy 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
- msluyter 16y agoIt was Godel, Escher, Bach that got me interested in computer science in the first place. Good to see that in the list.
- Enlightenment 16y agoThe No A$$hole Rule : Building a Civilized Workplace and Surviving One That Isn't; Robert I. Sutton; Sep 1, 2010; ISBN 978-0446698207.
- deleted 16y ago[deleted]
- joezydeco 16y agoThe Soul of a New Machine - Tracy Kidder. To me, a kid in junior high school at the time, it was an introduction, an inspiration...and a warning about how thrilling programming and computers could be while at the same time driving you completely insane.
- technomancy 16y agoI can't get enough of early computing history. Steven Levy's Hackers is the definitive tome on this, and you can't really be an educated hacker without being at least familiar in passing with the events in the book.
- joezydeco 16y agoI'm a fan too. We probably need another topic with lists of hacker history books and/or sites (like folklore.org or doteaters.com).
- spc476 16y agoI've read some of the books listed, but the two books that completely changed how I write code weren't---_Writing Solid Code_ by Steve Maquire and _Thinking Forth_ by Leo Brodie. The second one is by far the more mind bending of the two, and it's available online (for free) if you search for it.
- jnsaff 16y agoI'd say every programmer should read 1984 by George Orwell, to always keep in mind the big picture implications of their work. When I first read it, I got shivers: "this book is about google!" And after Amazon deleted the very same book from every Kindle remotely ... you could not ask for a more ironic example of how well Orwell predicted things.
- billmcneale 16y ago> When I first read it, I got shivers: "this book is about google!" If you read it again today, you would think it's about Apple.
- daleharvey 16y agoOne that I am surprised to not see mentioned (here at least as opposed to stackoverflow) is 4 Steps the Epiphany - http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/0976470705 http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/09... As a technical founder and general programmer + startup person, I was always told that sitting in my room coding more and more features wouldnt help a startup succeed but this is the first book that both explained exactly why that was true and what I should be doing instead. Its not a "read this and your startup will succeed" by any means, but its the most useful and practical book along those lines I have read.
- kschua 16y agoIt is because it isn't relevant to developers in general. Not all developers aspire to be entrepreneurs
- latch 16y agoI wrote one of the books on the list, Foundations of Programming. It's a free ebook, largely focused at .NET developers. I'm also finishing off a more focused follow up (on github, https://github.com/karlseguin/Foundations-of-Programming-2 https://github.com/karlseguin/Foundations-of-Programming-2). The reception of the book, and the company people sometimes place it with, has always been humbling. I'm generally not a huge tech-book reader. It isn't how I like to consume such material, but I see the value. To me, Peopleware was likely the most influential book. This is probably largely because I read it relatively young - when I was easier to influence. I also spent the first part of my career in a Microsoft world, where many, many tech books are (or at least were) little more than reference bibles - regurgitating content found on MSDN. edit I'd also like to point out that, as an amateur tech writer, The C Programming Language was very influential. Such a perfectly written, simple and useful book.I used to read it every year, and was amazed at how much content was contained within its pages, and how easy it was to understand. I'd also be sad if I didn't mention some of _why's work, the most influential to me was his Shoes manual.
- mcantor 16y agoK&R is one of my favorite books, too. It's probably one of the only programming books that I like to read purely for leisure and enjoyment. Often, when novice programmers ask me if they should learn C, I say yes, not because I'm sure it will help them in their careers (though I feel it does), but because it will get them to read and enjoy K&R.
- epynonymous 16y agounfortunately code complete is not available for kindle yet.
- c00p3r 16y agoSICP
- DanielBMarkham 16y agoCode Complete is the top item over on SO, its my choice, and it was recently reviewed on hn-books: http://hn-books.com/Books/Code-Complete.htm http://hn-books.com/Books/Code-Complete.htm I tried really hard to ding the book, but it had such a big impact on me and others when we read it that I really couldn't. McConnell knocked one out of the park with CC. I've read it twice, and the second time it still made a difference. Excellent book. BTW, it's interesting that when I posted the review on hn, I thought it would get a great reception, but a couple of folks said they found the book tedious and dull. http://news.ycombinator.com/item?id=2263127 http://news.ycombinator.com/item?id=2263127 I really wish those guys would elaborate a bit, because Code Complete is one of 2 or 3 books that everybody seems to like and recommend.
- deleted 16y ago[deleted]
- bonyen 16y agoNothing really surprising about this list. I think it's interesting that programming languages and algorithms are both covered, but operating systems is absent. I've long been looking for a good book about operating systems, but all the popular ones (e.g. "Operating Systems Concepts" by Silberschatz) seem overly verbose. Does anyone have a good recommendation in this area?
- pramit 16y agoThe Success Manual - Actionable summaries from 200+ Most useful books. http://thesuccessmanual.bighow.com http://thesuccessmanual.bighow.com
- erikstarck 16y agoThe answer to this question depends a lot on in what stage of programming maturity you are. I remember the exact moment I "got" what a class in C++ was. It was a true relevation. Even though I had been programming for a few years it wasn't until I was 19 that I fully understood the concept of a class. I can definitely say that I was a different programmer after that day. It was like leveling up in an RPG. It took me a few more years to get object oriented design... Yeah, maybe I'm a slow learner (although I have seen enough of other people's code to conclude that I'm not alone) but the point is that at different stages of my journey to learn the programming craft I have been open to different ideas and insights. I don't think there's one book that alone would have taken me all the way.
- GeneralMaximus 16y agoI'll throw something recent into the mix: Land of Lisp. Build a HTTP server, DSLs for producing HTML and SVG, a quirky game, and then combine all 3 to build a quirky web-based game that renders the game board using SVG. And that's just scratching the surface. Lisp and LoL make programming fun. See also: _why's (Poignant) Guide to Ruby, Nobody Knows Shoes.
- SteveJS 16y agoCrucial Conversations is the book that I'd most like my younger self to read, but it didn't exist back then. However, if we're allowed to time-travel, I'd probably switch to something with lots of detailed stock quotes. :-)
- leebyrd 16y agowhy not throw this up on kick-list.com and invite the community to contribute?