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. 100 best books on Software Engineering

100 best books on Software Engineering

Scheduled Pinned Locked Moved The Lounge
businesscomdesignquestion
81 Posts 35 Posters 2 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.
  • J Joe Woodbury

    Diego Moita wrote:

    Does reading exclude experience?

    My point is that reading is not a substitute for experience, yet too many people think it is. I've also found that in general, too much reading of these books can be very detrimental to engineering practice. Instead of using their brain, the over-read sees solutions only in terms of what the [latest] book(s) described. It doesn't help that many of the books give contradictory or even entirely stupid advice. Too many times in my career, I've been in a situation where someone read a book and insists on taking it as the TRUTH and applying it to the situation we're in. Hell, even I did that before I learned better. (In one relatively recent project, this turned into a nightmare and ended up producing one of the worse software products to ever see the light of day, though after most the team, including me, left [not always by our own choice--if you even questioned THE TRUTH, they laid you off].) PS. Please don't misunderstand; some books are excellent or even essential. These are mostly technical books. Richter's book on Advanced Win32 Programming is the best book on the subject (and the best Win32 book ever written) and explains I/O Completion ports in a way Microsoft documentation doesn't. However, I strongly distrust any books on methodology.

    Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

    S Offline
    S Offline
    Sunny Ahuwanya
    wrote on last edited by
    #25

    I agree. I've seen developers who know "ALL" the design patterns but can't write methods properly.

    Sunny Ahuwanya "The beauty of the desert is that it hides a well somewhere" -- Antoine de Saint Exupéry

    F 1 Reply Last reply
    0
    • C Chris Losinger

      I don't think a book released in 1997 with only 13 Amazon reviews should show up in the top 100

      that's actually the classic book on cryptography. it's the default answer when anyone asks "what should i read to learn more about crypto?"

      image processing toolkits | batch image processing

      C Offline
      C Offline
      CKnig
      wrote on last edited by
      #26

      Well it's the reference - but to actually read it from cover to cover is a pain - but it's very usefull to look up some protocolls. The math in there isn't that great (of course if you really want to unterstand the math you migth wish to get some book that concentrates more on this).

      1 Reply Last reply
      0
      • D Diego Moita

        Compiled from Amazon reviews/rankings, Google hits and Jolt awards[^]. Personal impressions: 1) So many classics left out because they're too specific about one technology (Stevens on Unix programming, Petzold on Windows programming, K&R, etc...). 2) How many of these books do people actually read? Did anyone read all of Knuth's "Art of Computer Programming"? 3) Lots of injustices. "The Pragmatic Programmer" really deserves a better rating. "Head First Design Patterns" doesn't deserve to be 2nd. 4) Funny how many Agile-specific titles are in the list (including related like SCRUM). Specific for non-Agile I only saw on RUP. 5) Steve McConnell, Martin Fowler and Alistair Cockburn are the masters.


        Of all forms of sexual aberration, the most unnatural is abstinence.

        D Offline
        D Offline
        Danillo
        wrote on last edited by
        #27

        Reading is theory, experience is practice In my opinion reading gives you a base knowledge that somehow is consistent on the specific issue. But in practice it always is a little different. Normally you take the good things from a book and adapt it to the real world. What is never told in the technical books is the view on money, and that's what it's finally all about, at least in business. from sunny snowy switzerland Dani

        1 Reply Last reply
        0
        • D Diego Moita

          Compiled from Amazon reviews/rankings, Google hits and Jolt awards[^]. Personal impressions: 1) So many classics left out because they're too specific about one technology (Stevens on Unix programming, Petzold on Windows programming, K&R, etc...). 2) How many of these books do people actually read? Did anyone read all of Knuth's "Art of Computer Programming"? 3) Lots of injustices. "The Pragmatic Programmer" really deserves a better rating. "Head First Design Patterns" doesn't deserve to be 2nd. 4) Funny how many Agile-specific titles are in the list (including related like SCRUM). Specific for non-Agile I only saw on RUP. 5) Steve McConnell, Martin Fowler and Alistair Cockburn are the masters.


          Of all forms of sexual aberration, the most unnatural is abstinence.

          J Offline
          J Offline
          Jonas Hammarberg
          wrote on last edited by
          #28

          Proper name of the list should be "100 best books on Software Engineering of the best selling books" And I think this does explain the high ratio of Agilish books... Having read (and owning) quite a few of these books, I still don't understand why I fail to proper appreciate agile methods... or that might be the very reason ;)

          L 1 Reply Last reply
          0
          • S Sunny Ahuwanya

            I agree. I've seen developers who know "ALL" the design patterns but can't write methods properly.

            Sunny Ahuwanya "The beauty of the desert is that it hides a well somewhere" -- Antoine de Saint Exupéry

            F Offline
            F Offline
            fboule
            wrote on last edited by
            #29

            The GoF is just a line of conduct. The danger is that programmers tend not to think their design anymore, to think their application is perfect because they use Design Patterns only. From my computer science education, I learnt object-oriented programming concepts, but I never had an example on how to use it cleverly. Design Patterns are these missing examples to me - and only examples.

            1 Reply Last reply
            0
            • C Chris Losinger

              i hate books about programming.

              image processing toolkits | batch image processing

              H Offline
              H Offline
              Hamed Musavi
              wrote on last edited by
              #30

              Chris Losinger wrote:

              i hate books about programming

              Why? Being lengthy and time consuming?

              "In the end it's a little boy expressing himself."    Yanni

              C O 2 Replies Last reply
              0
              • J Jonas Hammarberg

                Proper name of the list should be "100 best books on Software Engineering of the best selling books" And I think this does explain the high ratio of Agilish books... Having read (and owning) quite a few of these books, I still don't understand why I fail to proper appreciate agile methods... or that might be the very reason ;)

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #31

                Martin Fowler, Jon Bently, Frederick P. Brooks, and Eric Gamma titles worth a look. Most of the rest are pretty hit and miss. Donald Knuth is a legend, but I agree with the earlier comments, to me he is perhaps not a great popular writer, his books are pretty intimidating. I preferred reading Robert Sedgewicks stuff, he was a student of Knuth. I've read some of the Agile stuff, it has its place but it occupies far too much of the top 100 as stated. A lot of the Agile, UML, SOA and patterns books are in reality pretty average books. No K&R, Bjarne Stroustrup C++, or Penfold get serious ? Never been a fan of Steve McConnell books personally, so I can't see why he gets top spot or four books in top 100. The list seems to take a publishers view of 'Software Engineering' titles, its a pretty lazy list probably generated by a computer ? A few gems in there though...

                J C 2 Replies Last reply
                0
                • C Chris Losinger

                  i hate books about programming.

                  image processing toolkits | batch image processing

                  F Offline
                  F Offline
                  Fabio Franco
                  wrote on last edited by
                  #32

                  Uhhhh, are you in the right community?

                  C 1 Reply Last reply
                  0
                  • H Hamed Musavi

                    Chris Losinger wrote:

                    i hate books about programming

                    Why? Being lengthy and time consuming?

                    "In the end it's a little boy expressing himself."    Yanni

                    C Offline
                    C Offline
                    Chris Losinger
                    wrote on last edited by
                    #33

                    pedantic, boring, instantly obsolete, full of useless examples.

                    image processing toolkits | batch image processing

                    H D 2 Replies Last reply
                    0
                    • F Fabio Franco

                      Uhhhh, are you in the right community?

                      C Offline
                      C Offline
                      Chris Losinger
                      wrote on last edited by
                      #34

                      i'm a programmer, not a programming book reader.

                      image processing toolkits | batch image processing

                      F R 2 Replies Last reply
                      0
                      • C Chris Losinger

                        i'm a programmer, not a programming book reader.

                        image processing toolkits | batch image processing

                        F Offline
                        F Offline
                        Fabio Franco
                        wrote on last edited by
                        #35

                        Alright then.... So how do you learn new programming things without reading?

                        C 1 Reply Last reply
                        0
                        • C Chris Losinger

                          pedantic, boring, instantly obsolete, full of useless examples.

                          image processing toolkits | batch image processing

                          H Offline
                          H Offline
                          Hamed Musavi
                          wrote on last edited by
                          #36

                          Chris Losinger wrote:

                          pedantic, boring, instantly obsolete, full of useless examples.

                          Boring yes, obsolete depends to the context, pedantic and full of useless examples; not all of them I believe. I have recently been reading some books on software engineering, OO design and design patterns particularly, and I think I can create better softwares now :rolleyes: . I also believe that what I've read can't be conveyed easily in any other form. The amount of information is a lot. I can remember I started learning computer and programming by reading books as well. May I ask what other sort of learning medium or source do you use or prefer to use instead?

                          "In the end it's a little boy expressing himself."    Yanni

                          C 1 Reply Last reply
                          0
                          • F Fabio Franco

                            Alright then.... So how do you learn new programming things without reading?

                            C Offline
                            C Offline
                            Chris Losinger
                            wrote on last edited by
                            #37

                            employers sometimes pay for classes. and the internet is full of code samples.

                            image processing toolkits | batch image processing

                            1 Reply Last reply
                            0
                            • H Hamed Musavi

                              Chris Losinger wrote:

                              pedantic, boring, instantly obsolete, full of useless examples.

                              Boring yes, obsolete depends to the context, pedantic and full of useless examples; not all of them I believe. I have recently been reading some books on software engineering, OO design and design patterns particularly, and I think I can create better softwares now :rolleyes: . I also believe that what I've read can't be conveyed easily in any other form. The amount of information is a lot. I can remember I started learning computer and programming by reading books as well. May I ask what other sort of learning medium or source do you use or prefer to use instead?

                              "In the end it's a little boy expressing himself."    Yanni

                              C Offline
                              C Offline
                              Chris Losinger
                              wrote on last edited by
                              #38

                              Hamed Mosavi wrote:

                              May I ask what other sort of learning medium or source do you use or prefer to use instead?

                              the internet has been useful.

                              image processing toolkits | batch image processing

                              H 1 Reply Last reply
                              0
                              • C Chris Losinger

                                Hamed Mosavi wrote:

                                May I ask what other sort of learning medium or source do you use or prefer to use instead?

                                the internet has been useful.

                                image processing toolkits | batch image processing

                                H Offline
                                H Offline
                                Hamed Musavi
                                wrote on last edited by
                                #39

                                Chris Losinger wrote:

                                the internet has been useful.

                                To find a quick answer to my questions it had been a great help to me either, but for in depth information specially for beginners I think book is the way to go.

                                "In the end it's a little boy expressing himself."    Yanni

                                1 Reply Last reply
                                0
                                • C Chris Losinger

                                  pedantic, boring, instantly obsolete, full of useless examples.

                                  image processing toolkits | batch image processing

                                  D Offline
                                  D Offline
                                  destynova
                                  wrote on last edited by
                                  #40

                                  Chris Losinger wrote:

                                  pedantic, boring, instantly obsolete, full of useless examples.

                                  Hmm, I've only found that to be the case with books on Java/C++/OO which jump straight into object-oriented abstractions in an unnatural way (e.g. the first and only book on C++ which I spent much time on; "Teach yourself C++ in 10 days" (what an absurd premise), which came with Borland C++ Builder 3 when I got it in 1998 - on day two or three, it jumped into "Limousine inherits from Car" with some horrible analogy about 'protected' attributes). After that, I just paid attention to my college notes on the web, coasted the assignments and brute-forced through two reasonably large projects (an 8086ish emulator and an AI thing) and eventually learned to hate C++ :| Before that, I had read the first "C for Dummies" book and enjoyed it immensely, although it's certainly obsolete now and very simplistic introductory material. However, I'm currently reading SICP which, while old, feels neither boring, pedantic nor obsolete, and the examples seem very fitting (as well as a little re-education in maths for me, one of my long underdeveloped skills). There's something rewarding about doing an exercise and seeing your code approximate pi or find fixed points of useful functions (perhaps especially when you've sucked at maths for ages).

                                  1 Reply Last reply
                                  0
                                  • J Joe Woodbury

                                    I'll take someone with 10 years experience writing commercial apps who hasn't read any of those books over someone with 3 years experience who has.

                                    Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                                    D Offline
                                    D Offline
                                    destynova
                                    wrote on last edited by
                                    #41

                                    Joe Woodbury wrote:

                                    I'll take someone with 10 years experience writing commercial apps who hasn't read any of those books over someone with 3 years experience who has.

                                    There is some redundancy in this statement. I think we can remove the 'reading' element from it and be clearer: "I'll take someone with 10 years experience writing commercial apps over someone with 3 years experience." Reading has nothing to do with that, and it doesn't help to build a straw-man out of "experienced programmer vs. inexperienced wannabe programmer" and cast it upon the practice of reading. Every programmer should keep reading and learning.

                                    Joe Woodbury wrote:

                                    My point is that reading is not a substitute for experience, yet too many people think it is.

                                    No, but it's an excellent complement to experience. You seem to treat it as if people either read books on programming or they program. This is not the case, except with unwise people who will surely learn the error of their ways :-D.

                                    J 1 Reply Last reply
                                    0
                                    • H Hamed Musavi

                                      Chris Losinger wrote:

                                      i hate books about programming

                                      Why? Being lengthy and time consuming?

                                      "In the end it's a little boy expressing himself."    Yanni

                                      O Offline
                                      O Offline
                                      Owen37
                                      wrote on last edited by
                                      #42

                                      I hate books ABOUT programming, too! Talk about insomnia cure ;-) Unfortunately, it's still one of the least expensive ways to learn how (the Internet notwithstanding -- getting better; not there yet).

                                      J 1 Reply Last reply
                                      0
                                      • C Chris Losinger

                                        i'm a programmer, not a programming book reader.

                                        image processing toolkits | batch image processing

                                        R Offline
                                        R Offline
                                        rickyvj
                                        wrote on last edited by
                                        #43

                                        That's like being a Doctor, not a medicine book reader...would you go to that doctor? How about a Lawyer, not a law book reader...would you trust this guy to get you out of jail? OK, taking classes definitely helps, but how do you think the instructor learned what he's teaching? The internet is full of samples, true, but are they trustworthy? efficient? proven to work? Besides, what difference does it make to read form the internet than to read from a book? I know I know, the internet is more convenient, easy to search the exact topic, etc., in other words, it's like a customizable book, you create your own. But it's still reading! What I can't stand about programming books is that they are so expensive!

                                        C U 2 Replies Last reply
                                        0
                                        • J Joe Woodbury

                                          I'll take someone with 10 years experience writing commercial apps who hasn't read any of those books over someone with 3 years experience who has.

                                          Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                                          C Offline
                                          C Offline
                                          CDMTJX
                                          wrote on last edited by
                                          #44

                                          Experience helps - but I've known experienced programmers who could use improving. Experince plus wanting to improve and learn new things works for me. I would've liked to see books like for specific languages. For example, Effective C++ by Meyers goes into great details how to correctly program as opposed to just a reference manual on the language...

                                          J 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