100 best books on Software Engineering
-
Chris Losinger wrote:
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?"
So you hate books about programming but you actually read them. :-D Well, at least that's coherent. It would be too bad if you hated without reading them.
Of all forms of sexual aberration, the most unnatural is abstinence.
well sure, i've read a few: mostly on specific domains (crypto, image processing, etc.). and there's not really a lot of programming in Applid Crypto. it's mostly math, algorithms and protocols. ex., he tells you how various public key verification protocols work, but not how to implement them in any kind of language. what i hate are books on programming: best practices, MS's paradigm of the month, or APIs.
-
Applied Cryptography: Protocols, Algorithms, and Source Code (2nd Edition) as #5? How many people even needs to know that stuff? I don't think a book released in 1997 with only 13 Amazon reviews should show up in the top 100 :\
Todd Smith
I bought the first edition around 1994. I never read it in its entirely, but a I learned a few things about DES and IDEA. I just bought it because it was a subject that interested me at the time, but most of what I learned I have since forgotten. But that is the definite guide on cryptography, no matter who you ask :)
Luis Alonso Ramos Intelectix Chihuahua, Mexico My Blog!
-
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
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
-
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?"
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).
-
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.
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
-
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.
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 ;)
-
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
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.
-
i hate books about programming.
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
-
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 ;)
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...
-
i hate books about programming.
Uhhhh, are you in the right community?
-
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
pedantic, boring, instantly obsolete, full of useless examples.
-
Uhhhh, are you in the right community?
i'm a programmer, not a programming book reader.
-
i'm a programmer, not a programming book reader.
Alright then.... So how do you learn new programming things without reading?
-
pedantic, boring, instantly obsolete, full of useless examples.
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
-
Alright then.... So how do you learn new programming things without reading?
employers sometimes pay for classes. and the internet is full of code samples.
-
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
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.
-
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.
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
-
pedantic, boring, instantly obsolete, full of useless examples.
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).
-
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
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.
-
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