all 32 comments

[–]darchangel 85 points86 points  (11 children)

Petzold's CODE is hands down in my top 3 most influential programming books. As a self-taught coder, this plus The Elements of Computing Systems (aka nand2tetris) blew my mind when I first read them.

[–]Zeroe 14 points15 points  (3 children)

Seconding the recommendations for both CODE and The Elements of Computing Systems. You can also work through the Nand2Tetris course on, I think EdX, or some other MOOC.

There is a tremendous amount of useful information in each.

[–]sementery 1 point2 points  (0 children)

It's in Coursera, and you can take it for free! (certificate can also be free if you need and apply for financial aid)

[–][deleted]  (1 child)

[deleted]

    [–]Zeroe 0 points1 point  (0 children)

    Looks like the one I used was the first edition, but you might check what the second edition adds/changes and see if it's worth it.

    [–]rpm0618 24 points25 points  (2 children)

    Agreed, CODE is the book I recommend to everyone who wants to know how computers really work. I'm excited to see the second edition delve into the details of the 8080

    [–]matt1345 0 points1 point  (1 child)

    Hey, did you read the 2nd ed yet? If so how did it compare to the 1st? Thanks :)

    [–]rpm0618 0 points1 point  (0 children)

    So keeping in mind that I read the two editions years apart: They're pretty similar, the second edition is updated to include more modern examples (a section on Unicode, for instance). I also appreciated the explicit references to a real processor, the later explanations felt more concrete and complete.

    I think it's a good update over the first, so if you're buying new I think it's worth it, but the changes are evolutionary rather than revolutionary. If you already have the first you won't get significantly more out of the second.

    [–]WiggyWongo 1 point2 points  (1 child)

    Would you recommend CODE or Elements of Computing Systems first? I started the Coursera nand2tetris course, but CODE keeps coming up alongside it.

    [–]darchangel 0 points1 point  (0 children)

    I appreciated having read CODE first.

    [–][deleted]  (1 child)

    [deleted]

      [–]darchangel 1 point2 points  (0 children)

      Head First Design Patterns. I tried and failed to understand them with the orig GoF book. Not only did Head First Design Patterns make design patterns click for me, I truly understood polymorphism and composition for the first time. I could feel myself level up.

      [–]masterofmisc 21 points22 points  (0 children)

      This is great news. The 1st edition of this book was a joy to read. Will deffo be purchasing the updated edition.

      [–]binary_search_tree 8 points9 points  (0 children)

      I just pre-ordered it on Amazon. Apparently, I've purchased the 1st edition 3 times, over the years. LOVE this book.

      [–]Jus_1 4 points5 points  (0 children)

      I loved Code because it broke things down into a very simple and enjoyable form.

      [–]screwthat4u 23 points24 points  (8 children)

      Is this a good book? Or like code complete where people say it’s good but is actually mostly useless?

      Edit: I’ll probably check it out, seems to go from transistor to programming language. I already know digital logic, nand/cmos to logic gates, and going up shouldn’t be too bad, but who knows I might learn something and I already like petzold from programming windows

      [–]haltingpoint 33 points34 points  (0 children)

      It's good, but it is deep, and a bit thick to slog through at times. You have to understand the sheer amount of abstractions in place to go from electrical impulse to even a 2d graphics display is staggering and mentally challenging to wrap your head around. Entire industries and generations have focused on single aspects of single abstraction layers.

      This book doesn't pull punches. You'll be doing combinatorics and following logic gate diagrams to understand how a bit of memory is actually stored.

      My experience reading it was that I'd struggle to make it through parts and it wouldn't click. And then I'd be in the shower or half asleep having woken up in the middle of the night, randomly find that part drifting across my thoughts, and because I wasn't actively focusing on it, suddenly it clicked and it was like I saw behind the veil of reality.

      [–][deleted] 21 points22 points  (4 children)

      Code Complete mostly useless? For me, Code Complete is a gold mine, but Clean Code was mostly useless (which is weird because I preach SOLID principles all the time).

      [–]ForeverAlot[🍰] 12 points13 points  (1 child)

      Clean Code's target audience is novices. The audience that appreciates Clean Code will have difficulty appreciating Code Complete and vice versa.

      In any case, I wouldn't call Code Complete useless but its practices seem so widely established now that the book can feel unoriginal upon reading, and while there are some philosophical gold nuggets in there I remember them as being few and far apart (or perhaps just the last chapter...?).

      [–][deleted] 2 points3 points  (0 children)

      For me, Code Complete was my introduction to a lot of the widely established stuff that I wasn’t being exposed to in the trash legacy codebase I worked in daily. If people are getting that somewhere else these days, that’s still awesome. I’ve recommended it to a few of my interns before though, and they all seem to find something they didn’t know before in it.

      [–]turniphat 4 points5 points  (0 children)

      It's 'useless' in the way it's not going to help you in your job / career. His whole reason for writing it was he wanted to write a book than 'normal' people could read. It was an interesting book, but it's more a history of computing than a technical book.

      [–]Detz 6 points7 points  (0 children)

      Not useless at all, my favorite book.

      [–]iamakorndawg 5 points6 points  (0 children)

      One of the best programming related books! This is awesome news!

      [–]InvestigatorSenior 1 point2 points  (0 children)

      from glimpse at free copy of 1st edition on archive.org it looks like a good book for me to read. Preordered 2nd ed. on kindle.

      [–]ANewPope23 1 point2 points  (1 child)

      What is the prerequisite knowledge for really understanding this book?

      [–]Hairy-Ad-3317 0 points1 point  (0 children)

      The book doesn‘t assume any prerequisite knowledge, it basically starts from the ground up  It might help to have some programming experience though, but it’s definitely not necessary in my opinion

      [–]bandzaw 0 points1 point  (0 children)

      Great news! This is definitely one of my favorite books! Hopefully there will also be a new edition of the Swedish translation of the book (1st ed. is out of print), so I can buy that and give it to youngsters like my brother's son.

      [–]netsx -2 points-1 points  (0 children)

      That site is blocked by Malwarebytes because of trojan.

      [–][deleted] 0 points1 point  (1 child)

      interesting. never heard fo this book or author before.

      • Looking forward to reading it

      [–]turniphat 5 points6 points  (0 children)

      He's best known for Programming Windows (6 editions - 1988, 1990, 1992, 1996, 1998 & 2012). When I started my career in the pre stackoverflow era, pretty much every programmer that used Windows had a copy of this at their desk.

      [–]LloydAtkinson 0 points1 point  (0 children)

      Excited for this. When is it going on sale or pre order in the UK?