Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Do you have a favorite programming book and if so, what is it?

Do you have a favorite programming book and if so, what is it?

Scheduled Pinned Locked Moved The Lounge
questionc++learning
87 Posts 42 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OriginalGriffO OriginalGriff

    Zen and The Art of Motor Cycle Maintenance (Robert M. Pirsig)[^] And it's about as much about programming as it is about Zen Buddhism or motorcycle maintenance. But ... learn the right lessons from it, and you can cope with development (and make a start of fixing motorcycles as well).

    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

    H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #20

    Good choice!

    Real programmers use butterflies

    1 Reply Last reply
    0
    • Greg UtasG Greg Utas

      I'd have to say the GoF patterns book.

      Robust Services Core | Software Techniques for Lemmings | Articles
      The fox knows many things, but the hedgehog knows one big thing.

      H Offline
      H Offline
      honey the codewitch
      wrote on last edited by
      #21

      Very useful indeed.

      Real programmers use butterflies

      1 Reply Last reply
      0
      • R raddevus

        Petzold Programming Windows 3.1 will always have a special place for me. I remember actually understanding this Windows programming thing and the Windows message loop and thinking, "wow, someone actually explains how this stuff works". He explained stuff so well that it was like opening up a whole new world and programming was really exciting. Such a special book.

        H Offline
        H Offline
        honey the codewitch
        wrote on last edited by
        #22

        Cool. He's a really good teacher. I have a lot of respect for the man.

        Real programmers use butterflies

        1 Reply Last reply
        0
        • N Nelek

          Kind of mandatory[^]

          M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #23

          I concur. Never discard anything. Learn from ancient knowledge.

          1 Reply Last reply
          0
          • R raddevus

            I have read the introductory chapters (intro and chapter 1) and then skipped around a bit. Mostly too hard for me. I like that they say, "Prefer composition over inheritance." That's what that entire book is about for me. I remember back when OOP was growing in popularity (1991 or so) and it was all about inheritance. Then GoF explains, "no it's about composition". That's good stuff! :thumbsup:

            Greg UtasG Offline
            Greg UtasG Offline
            Greg Utas
            wrote on last edited by
            #24

            It's good as a reference. Just read the general description of each pattern and look at the details when you think you need a pattern but the UML diagram doesn't give you a good enough idea of how to write the code. As much as anything, the fact that it gives a name to each pattern saves lots of time during design discussions, because everyone can quickly understand an approach being suggested. It's about much more than composition, though.

            Robust Services Core | Software Techniques for Lemmings | Articles
            The fox knows many things, but the hedgehog knows one big thing.

            <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
            <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

            P 1 Reply Last reply
            0
            • H honey the codewitch

              The dragon book is in the running for me but minus points because it could have been written to be far more accessible.

              Real programmers use butterflies

              Greg UtasG Offline
              Greg UtasG Offline
              Greg Utas
              wrote on last edited by
              #25

              My copy is the original edition from the mid '70s. I noticed it had undergone revisions, but it sounds like it's still somewhat inaccessible.

              Robust Services Core | Software Techniques for Lemmings | Articles
              The fox knows many things, but the hedgehog knows one big thing.

              <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
              <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

              H 1 Reply Last reply
              0
              • H honey the codewitch

                Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.

                Real programmers use butterflies

                T Offline
                T Offline
                trønderen
                wrote on last edited by
                #26

                I'd like to make a crazy proposal: When Intel presented its iAPX 432 CPU, I got hold of its reference manual. It is certainly not a programming book, yet it is about what we think of as programming. It made me thoroughly rethink the distinction between hardware and software - as well as some important software concepts. E.g. in the 432, if one process sends one of its objects to another process (using the IPC instructions of the processor), the sending process looses that object. It may of course make a copy of the object before sending the original away (or keep the original, sending a copy), but the original and the copy are distinct objects. If you give one of them away, you give it away. That is how things work in real life, and in the 432, but not in commonly used software systems today. Even though the 432 was a major flop, its reference manual has significantly formed my ideas about software. And hardware.

                H 1 Reply Last reply
                0
                • P PIEBALDconsult

                  So, the problem is that it's missing two bridges?

                  Greg UtasG Offline
                  Greg UtasG Offline
                  Greg Utas
                  wrote on last edited by
                  #27

                  I guess I'm getting old.

                  Robust Services Core | Software Techniques for Lemmings | Articles
                  The fox knows many things, but the hedgehog knows one big thing.

                  <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                  <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                  1 Reply Last reply
                  0
                  • H honey the codewitch

                    Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.

                    Real programmers use butterflies

                    pkfoxP Offline
                    pkfoxP Offline
                    pkfox
                    wrote on last edited by
                    #28

                    Anything by Charles Petzold

                    "I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP

                    1 Reply Last reply
                    0
                    • Greg UtasG Greg Utas

                      I'd have to say the GoF patterns book.

                      Robust Services Core | Software Techniques for Lemmings | Articles
                      The fox knows many things, but the hedgehog knows one big thing.

                      R Offline
                      R Offline
                      RDM Jr
                      wrote on last edited by
                      #29

                      For me, it's a toss up between Kernighan & Ritchie's The C Programming Language, and Aho, Kernighan and Weinberger's The AWK Programming Language. Other books I remember from college days include Fortran IV With Watfor and Watfiv, and a two book set of Shelley & Cashman on Cobol. Those are all still around, somewhere in the attic, along with a lot of seriously outdated hardware. I know there's a 300 baud modem with the acoustic couplers for a standard Bell desk phone's handset up there, and a couple of cases of 80-column cards.

                      D 1 Reply Last reply
                      0
                      • H honey the codewitch

                        Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.

                        Real programmers use butterflies

                        D Offline
                        D Offline
                        David ONeil
                        wrote on last edited by
                        #30

                        Super Accelerated C++, by David O'Neil :laugh: (It's not a book, just fun!)

                        The forgotten roots of science | C++ Programming | DWinLib

                        1 Reply Last reply
                        0
                        • H honey the codewitch

                          Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.

                          Real programmers use butterflies

                          D Offline
                          D Offline
                          Daniel Pfeffer
                          wrote on last edited by
                          #31

                          When looking for basic algorithms, you can't do much better than Knuth. For specific programming languages, I prefer Plauger's The C Standard Library, Alexandrescu's Modern C++ Design, and anything by Steve McConnell or by Charles Petzold.

                          Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                          1 Reply Last reply
                          0
                          • R raddevus

                            Petzold Programming Windows 3.1 will always have a special place for me. I remember actually understanding this Windows programming thing and the Windows message loop and thinking, "wow, someone actually explains how this stuff works". He explained stuff so well that it was like opening up a whole new world and programming was really exciting. Such a special book.

                            F Offline
                            F Offline
                            Forogar
                            wrote on last edited by
                            #32

                            I still have a copy of that. I hug it occasionally for inspiration!

                            - I would love to change the world, but they won’t give me the source code.

                            R 1 Reply Last reply
                            0
                            • T trønderen

                              I'd like to make a crazy proposal: When Intel presented its iAPX 432 CPU, I got hold of its reference manual. It is certainly not a programming book, yet it is about what we think of as programming. It made me thoroughly rethink the distinction between hardware and software - as well as some important software concepts. E.g. in the 432, if one process sends one of its objects to another process (using the IPC instructions of the processor), the sending process looses that object. It may of course make a copy of the object before sending the original away (or keep the original, sending a copy), but the original and the copy are distinct objects. If you give one of them away, you give it away. That is how things work in real life, and in the 432, but not in commonly used software systems today. Even though the 432 was a major flop, its reference manual has significantly formed my ideas about software. And hardware.

                              H Offline
                              H Offline
                              honey the codewitch
                              wrote on last edited by
                              #33

                              Interesting!

                              Real programmers use butterflies

                              1 Reply Last reply
                              0
                              • Greg UtasG Greg Utas

                                My copy is the original edition from the mid '70s. I noticed it had undergone revisions, but it sounds like it's still somewhat inaccessible.

                                Robust Services Core | Software Techniques for Lemmings | Articles
                                The fox knows many things, but the hedgehog knows one big thing.

                                H Offline
                                H Offline
                                honey the codewitch
                                wrote on last edited by
                                #34

                                Yeah, it's not for mortals. I ended up working with another book to figure out most of it. What's funny is there was only pseudocode in the book and no math symbology. But also that was one of its strengths. The book is Parsing Techniques: A Practical Guide[^]

                                Real programmers use butterflies

                                Greg UtasG S 2 Replies Last reply
                                0
                                • F Forogar

                                  I still have a copy of that. I hug it occasionally for inspiration!

                                  - I would love to change the world, but they won’t give me the source code.

                                  R Offline
                                  R Offline
                                  raddevus
                                  wrote on last edited by
                                  #35

                                  Forogar wrote:

                                  I still have a copy of that. I hug it occasionally for inspiration!

                                  That is a very good idea. I'm going to have to start hugging mine too. :laugh: Mine sits on a bottom shelf of a bookshelf in my Home Office and each time I see it I get all goose-pimply and start thinking I know how to program again. :rolleyes:

                                  1 Reply Last reply
                                  0
                                  • H honey the codewitch

                                    Yeah, it's not for mortals. I ended up working with another book to figure out most of it. What's funny is there was only pseudocode in the book and no math symbology. But also that was one of its strengths. The book is Parsing Techniques: A Practical Guide[^]

                                    Real programmers use butterflies

                                    Greg UtasG Offline
                                    Greg UtasG Offline
                                    Greg Utas
                                    wrote on last edited by
                                    #36

                                    Too many CS types are wannabe mathematicians when they should be wannabe software "engineers". :laugh: It's basically the same in economics, though the "should be" side is harder to describe. But I digress.

                                    Robust Services Core | Software Techniques for Lemmings | Articles
                                    The fox knows many things, but the hedgehog knows one big thing.

                                    <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                                    <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                                    H 1 Reply Last reply
                                    0
                                    • Greg UtasG Greg Utas

                                      It's good as a reference. Just read the general description of each pattern and look at the details when you think you need a pattern but the UML diagram doesn't give you a good enough idea of how to write the code. As much as anything, the fact that it gives a name to each pattern saves lots of time during design discussions, because everyone can quickly understand an approach being suggested. It's about much more than composition, though.

                                      Robust Services Core | Software Techniques for Lemmings | Articles
                                      The fox knows many things, but the hedgehog knows one big thing.

                                      P Offline
                                      P Offline
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #37

                                      Greg Utas wrote:

                                      gives a name to each pattern

                                      Which is the only real value of the book. I bought a copy simply so I could be sure I knew what people were talking about and know which people had no idea what they were talking about.

                                      H 1 Reply Last reply
                                      0
                                      • Greg UtasG Greg Utas

                                        Too many CS types are wannabe mathematicians when they should be wannabe software "engineers". :laugh: It's basically the same in economics, though the "should be" side is harder to describe. But I digress.

                                        Robust Services Core | Software Techniques for Lemmings | Articles
                                        The fox knows many things, but the hedgehog knows one big thing.

                                        H Offline
                                        H Offline
                                        honey the codewitch
                                        wrote on last edited by
                                        #38

                                        I'll run with your digression. =) As far as economics I've seen some interesting work in describing and modeling economies as Complex Adaptive Systems. There have been some books on it but also freely available works like this: http://williamwhite.ca/wp-content/uploads/2018/04/CAEGChapterpdf.pdf[^] I think it shows more promise than traditional economics (not that it's all garbage or anything)

                                        Real programmers use butterflies

                                        Greg UtasG 1 Reply Last reply
                                        0
                                        • P PIEBALDconsult

                                          Greg Utas wrote:

                                          gives a name to each pattern

                                          Which is the only real value of the book. I bought a copy simply so I could be sure I knew what people were talking about and know which people had no idea what they were talking about.

                                          H Offline
                                          H Offline
                                          honey the codewitch
                                          wrote on last edited by
                                          #39

                                          PIEBALDconsult wrote:

                                          Which is the only real value of the book.

                                          I've gotten some mileage out of the visitor pattern but I didn't learn it from that book. In fairness though, they describe it for people that didn't already learn it, and it's one of the more useful patterns to know, IMO.

                                          Real programmers use butterflies

                                          Greg UtasG 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups