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.
  • 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
                          • 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

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

                            I couldn't disagree with you more. Just because you write software and you've been doing it for 10 yrs doesn't mean you're a good programmer. In fact, someone who hasn't had formal training, develops his own habits and methods, and is used to organically grows software that ends up being a nightmare to maintain. Software that works, of course, but highly inefficient and expensive. (I know I'm generalizing but that's the impression I've gotten from my engineers who don't read...) In other words, how do you think this 10yr experienced programmer learned whatever got him in the job in the first place? I don't think there's a way to learn anything without reading, just from classes and going to school is mediocre, you have to go the extra step and teach yourself (by reading) to be exceptional. I don't know anybody who graduated from school with honors without reading (unless maybe me, but I still read a lot, not a nerd but I like to read.) Someone who is interested about reading is someone who's interested about learning and applying new techniques to make the software better, easier and cheaper!

                            J 1 Reply Last reply
                            0
                            • E Ennis Ray Lynch Jr

                              No matter how many books you read, or how much software you developed, some idiot manager knows how to do it better. Guess who wins the "conversation".

                              Need software developed? Offering C# development all over the United States, ERL GLOBAL, Inc is the only call you will have to make.
                              If you don't ask questions the answers won't stand in your way.
                              Most of this sig is for Google, not ego.

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

                              If my manager is an idiot, I will win. If you think he'll win, you're a bigger idiot. If you are an exceptional developer with exceptional managers, they will respect you and take your decisions seriously.

                              1 Reply Last reply
                              0
                              • N Nemanja Trifunovic

                                Richter likes renaming his books :) It is now called Windows via C/C++[^]. An excellent book for Win32 system programming.

                                Programming Blog utf8-cpp

                                U Offline
                                U Offline
                                uzziah0
                                wrote on last edited by
                                #47

                                References for writing software are good, but NOTHING beats writing software. I've tried reading some books, but rarely get through them. Too often they are targeted toward a narrow market, and I just don't quite fit it; or the book have exercises that I just don't have time to work through. I prefer to read short things on line. I have a few RSS feeds that I browse, and when I want something specific I search the internet. Also, at work there are occasional classes. I work (at work) on embedded development, so our training here is geared toward processors. My boss jsut recently asked me about taking a Infineon TriCore class next month. Once in a while someone has a brown bag lunch where they take about 45 minutes to go over some concept or an aspect of some tool we use (like a debugger, or some algorithm). I think the best think is figuring out what works for you, and keeps you moving forward (you don't want to be stagnant, especially in this economy).

                                1 Reply Last reply
                                0
                                • R rickyvj

                                  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 Offline
                                  C Offline
                                  Chris Losinger
                                  wrote on last edited by
                                  #48

                                  rickyvj wrote:

                                  That's like being a Doctor, not a medicine book reader

                                  so what?

                                  rickyvj wrote:

                                  would you go to that doctor?

                                  if he fixes the problem i give him, why not? i've been programming since 1982. i've learned C, C++, C#, Java, Modula-2, Pascal, PHP, SQL, HTML, JavaScript, ATL, COM, etc., etc., etc., without books. you get a compiler, you look for code samples, and then you solve the problem at hand.

                                  rickyvj wrote:

                                  Besides, what difference does it make to read form the internet than to read from a book?

                                  the internet allows you to get the information you need, when you need it. a typical (non-reference) programming book is a poorly-written re-enactment of the steps the author took while writing his sample application(s). you can learn how to write his sample application (and you get to read its source code a dozen times!), but that may or may not cover what you want to learn. frankly, most classes are even worse. but at least you can ask questions (or take naps) in class.

                                  batch image processing

                                  R 1 Reply Last reply
                                  0
                                  • C Chris Losinger

                                    rickyvj wrote:

                                    That's like being a Doctor, not a medicine book reader

                                    so what?

                                    rickyvj wrote:

                                    would you go to that doctor?

                                    if he fixes the problem i give him, why not? i've been programming since 1982. i've learned C, C++, C#, Java, Modula-2, Pascal, PHP, SQL, HTML, JavaScript, ATL, COM, etc., etc., etc., without books. you get a compiler, you look for code samples, and then you solve the problem at hand.

                                    rickyvj wrote:

                                    Besides, what difference does it make to read form the internet than to read from a book?

                                    the internet allows you to get the information you need, when you need it. a typical (non-reference) programming book is a poorly-written re-enactment of the steps the author took while writing his sample application(s). you can learn how to write his sample application (and you get to read its source code a dozen times!), but that may or may not cover what you want to learn. frankly, most classes are even worse. but at least you can ask questions (or take naps) in class.

                                    batch image processing

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

                                    Chris Losinger wrote:

                                    you get a compiler, you look for code samples, and then you solve the problem at hand.

                                    Programmers that just learn by 'getting a compiler' and copy/pasting code from the internet are the same that keep on band-aiding the software, instead of coming up with elegant solutions that only books can teach. My point exactly, crappy code will solve the problem. I just don't look for how to solve the problem. I look for how to solve this problem and future problems and make the software robust and scalable.

                                    Chris Losinger wrote:

                                    i've been programming since 1982.

                                    So, have you been using the internet since 1982?

                                    Chris Losinger wrote:

                                    frankly, most classes are even worse. but at least you can ask questions (or take naps) in class.

                                    Ah, I see, in 1982 you were taking naps, nice way to learn C and C++!

                                    C 1 Reply Last reply
                                    0
                                    • D destynova

                                      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 Offline
                                      J Offline
                                      Joe Woodbury
                                      wrote on last edited by
                                      #50

                                      destynova wrote:

                                      Every programmer should keep reading and learning.

                                      I disagree a bit on the reading part, which was my point. Reading about programming is overrated as is learning new technologies and languages for the sake of learning them. To rephrase, I'll take someone with three years experience over someone with three years of reading. I don't even think its an excellent complement to experience. There are excellent books, but most books on software engineering, including many in that list, suck and do no good whatsoever except to fool you into thinking you're smarter. Moreover, reading without using that knowledge is almost useless. Hands on experience vastly trumps book learning.

                                      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 1 Reply Last reply
                                      0
                                      • C CDMTJX

                                        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 Offline
                                        J Offline
                                        Joe Woodbury
                                        wrote on last edited by
                                        #51

                                        CDMTJX wrote:

                                        Effective C++ by Meyers

                                        I found Effective C to be a better book, though this isn't bad with some major caveats (haven't read it in a while, but I do recall some of his points were rather academic and a few just plain wrong.) I was confusing Effective C++ and More Effective C++, both by Meyers. The former is a vastly better book than the latter, though I understand many of the problems with the latter (like all the weird errors) have been corrected.

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

                                        modified on Thursday, January 22, 2009 12:15 PM

                                        C 1 Reply Last reply
                                        0
                                        • L Lost User

                                          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 Offline
                                          J Offline
                                          Joe Woodbury
                                          wrote on last edited by
                                          #52

                                          dmarsh26 wrote:

                                          Never been a fan of Steve McConnell books personally

                                          Glad to see that I'm not the only one.

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

                                          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