Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Books Programming

What Is the Most Influential Programming Book? 624

First time accepted submitter AlexDomo writes "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? Since it was first posed back in 2008, this question has now become the second most popular question of all time on StackOverflow. The top 5 results are: Code Complete (2nd Edition), The Pragmatic Programmer: From Journeyman to Master, Structure and Interpretation of Computer Programs, The C Programming Language, and Introduction to Algorithms."
This discussion has been archived. No new comments can be posted.

What Is the Most Influential Programming Book?

Comments Filter:
  • Re:Deitel & Deitel (Score:3, Interesting)

    by Jeremiah Cornelius ( 137 ) on Sunday September 04, 2011 @07:52PM (#37304860) Homepage Journal

    Charles Petzold.

    Programming Windows, First Edition
    http://www.charlespetzold.com/pw5/ProgWinEditions.html [charlespetzold.com]

    Sad. But TRUE!

  • The correct order (Score:5, Interesting)

    by Mensa Babe ( 675349 ) * on Sunday September 04, 2011 @07:59PM (#37304894) Homepage Journal

    The correct order should be:

    1. Structure and Interpretation of Computer Programs [mit.edu] by H.Abelson and G.Sussman with J.Sussman
    2. Structure and Interpretation of Classical Mechanics [mit.edu] (sic!) by G.Sussman and J.Wisdom with M.Mayer
    3. Operating Systems Design and Implementation [wikipedia.org] by A.Tanenbaum and A.Woodhull
    4. Modern Operating Systems [wikipedia.org] by A.Tanenbaum
    5. The Art of Computer Programming Volume 1 [stanford.edu] by D.Knuth
    6. The Art of Computer Programming Volume 2 [stanford.edu] by D.Knuth
    7. The Art of Computer Programming Volume 3 [stanford.edu] by D.Knuth
    8. The Art of Computer Programming Volume 4 [stanford.edu] by D.Knuth

    I am sure that The Art of Computer Programming Volume 5 [stanford.edu] by D.Knuth will be next on the list. I have seriously been counting the years to the estimated 2020.

    I only regret that Gerry Sussman hasn't written more books and hasn't recorded more talks. I will buy everything he writes and I will listen to everything he says. Please, Gerry! If you read this then please drop everything you do and just start talking to the camera. I have watched your every talk and lecture that I could possibly find on the Internet many times - from the 1986 lectures at MIT to your lecture on mechanical watches. I seriously believe that everything you say should be recorded for future generations. I don't know anyone else who can talk about anything at all and I listen breathlessly like I was hypnotized. I'm sure that many people here could say the same. Let this be an open letter to Gerald Jay Sussman: Please write more books and please record more lectures for the sake of the future of computer science. And thank you for your outstanding contribution that you have made so far. It is something that has shaped literally generations of passionate enthusiasts of programming. Thank you.

  • by Maljin Jolt ( 746064 ) * on Sunday September 04, 2011 @07:59PM (#37304896) Journal

    John von Neumann: Theory of self-reproducing automata, 1966

  • by syousef ( 465911 ) on Sunday September 04, 2011 @08:11PM (#37304956) Journal

    ...so you can spot the BS and hysterical religion when some idiot consultant comes up with their new XXX driven development or Agile methodology, or tries to replace on perfectly good framework, set of design patterns or tools with a new one that promises to be the best thing since sliced bread.

    But seriously I think it's important to start kids young. My first books were on Apple IIe BASIC. In those days BASIC was what a lot of kids had access to. I saw LOGO later. I wouldn't change that. I'd change the books and systems I tried to use as a teenager and young adult though - MFC and Windows coding was such a waste of time given where my career went. And I never got far.

    Agree with the previous AC about Mythical Man Month. Love the classic idea of a manager who needs a baby to meet a 1 month deadline throwing 9 women at the problem instead of one woman for 9 months. But I think you can get the gist without reading a whole book about it.

    K&R is iconic, but not a good beginner's book at all, and while it does cover some things in great depth it does leave plenty out and is well dated now. Worth reading, but not first. It's good for understanding how the guts of the machine work but as C has been in decline for some time some of today's new coders will likely never use it.

    I've never actually read Code Complete, but it sounds like a good introduction to a lot of ideas if you've not done a degree.

  • by GoodNewsJimDotCom ( 2244874 ) on Sunday September 04, 2011 @08:31PM (#37305104)
    I never read any programming book that has helped me significantly. But I remember copying code from magazines on a TI-99 before I knew how to do multiplication. I just copied the code one line at a time, and it either ran or didn't. The best thing I could do was print rockets. I didn't understand anything until I was 12 and got the IF-THEN statement. Once I had that, I was able to write branching games similar to my Choose your Own Adventure Books. After that the world was wide open.
  • Re:Bah! Pretenders! (Score:2, Interesting)

    by Anonymous Coward on Sunday September 04, 2011 @08:46PM (#37305190)

    TAOCP is only useful for college students who want to look smart in the eyes of their clueless classmates.

    In reality, it's terrible from a didactic standpoint. MIX is an impractical and verbose language, and an overall horrible way to explain algorithms to any audience. TAOCP is only interesting for the exercises, which most people will ignore for being too difficult to be solved during a casual read.

    The only reason this book makes Top N lists is because people are intimidated by it, and peer pressure prevents them from treating it like the mess that it is.

  • It may seem odd (Score:5, Interesting)

    by Arran4 ( 242789 ) <ipod@[ ]an4.com ['arr' in gap]> on Sunday September 04, 2011 @09:18PM (#37305370)
    It may seem odd but I would say Godel Escher Bach. I can't really think of any other book that I would consider worth while reading at the start of my carear. (I am actually thinking of before my college education.)
  • by dpbsmith ( 263124 ) on Sunday September 04, 2011 @09:21PM (#37305384) Homepage

    No, not very influential outside the Mac community, not all that influential within it. But the as posed here in Slashdot, "if you could go back in time," this is the one, and not because of what it had to say about the Mac, but because it is the only book I've ever read that truly accepts the idea of debugging. Every other book carries the implied notion that you should concentrate on writing bug-free software, and that a good programmer really ought to be able to do it.

    About half of the book was devoted to debugging, and it is my personal surmise that the book was originally entitled "How to Debug Macintosh Software" and that the publishers made him change it. Some might charge that the way Mac software was at the time--A5 worlds, very little RAM to spare, and somewhat finicky memory management--writing Mac software intrinsically required more debugging than other environments. It doesn't matter.

    What matters was that this is the only book I read that honestly and truly embraced debugging as a fundamental and legitimate part of the software development process.

  • No Assembler? (Score:4, Interesting)

    by Khyber ( 864651 ) <techkitsune@gmail.com> on Sunday September 04, 2011 @10:01PM (#37305598) Homepage Journal

    No ASM programming?

    Enjoy being useless when you need to work at the bare-metal level.

    Also, enjoy being dog-ass slow and having boated code.

    For a perfect example of why ASM rocks, see MenuetOS.

  • by Serendip7 ( 936348 ) on Sunday September 04, 2011 @10:44PM (#37305768)
    After years of programming I have to say the most influential book for me by far is "The Design of Everyday Things" by Donald Norman. In the end, you're designing a tool for someone... whether it's a end user or an api. The days of control-alt-delete are over... or at least they should be. Thinking about the user interface (whether it's mechanical, gui, api,or sdk) should not be something the programmer slaps on after the functionality is completed.
  • Re:Bah! Pretenders! (Score:4, Interesting)

    by KingAlanI ( 1270538 ) on Sunday September 04, 2011 @11:20PM (#37305938) Homepage Journal

    "Classic: a book which people praise, but don't read." - Mark Twain

    I guess he meant it with regards to classic literature. It seems extendable to classics in other art fields, and classics in technical fields too I suppose

  • Re:Gang of Four (Score:5, Interesting)

    by TheRaven64 ( 641858 ) on Monday September 05, 2011 @05:06AM (#37306996) Journal

    The Gang of Four's book may be the most influential programming book, but it's probably done more harm than good. The patterns it describes fall into two categories: so painfully obvious that any programmer with more than a couple of months of experience should have invented them independently, or so obscure that you'll probably never find a real use for them. Unfortunately, once people have read it, they end up designing insanely overcomplicated systems that abuse patterns to death.

    If you really want to understand design patterns, read some of Christopher Alexander's work, not the third-rate derivatives.

  • Re:K&R C (Score:4, Interesting)

    by Rogerborg ( 306625 ) on Monday September 05, 2011 @06:04AM (#37307176) Homepage

    Oh, and don't forget the abomination:

    int *foo;

    ...and its mutant offspring...

    int foo, *bar;

    IIRC, K later recanted and said that permissiveness (allowing "pointer to" to shack up with the symbol rather than type) was the biggest single mistake they made in the C syntax.

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...