Slashdot Mirror


Best Computer Books For The Smart

You'll remember last week, I asked for recommendations of the Best Websites for developers. This was a -great- thread and in the story, I mentioned that I was planning on doing the same regarding books this week. So here it is. What do you, the slashdot reader consider seminal works? What would you consider great introductions to technical topics? If you are interested, check it out... As part of this I'm looking for books on C, C++, Perl, Python, PHP , System Administration, anything...you name. As before I have opinions on great books, but I want to see what you think. Also, what do people think is a great introductory book for people new to linux.

514 comments

  1. Isn't it obvious? by guttentag · · Score: 2, Funny

    I would recommend the "Dummies" series to any smart person.

    1. Re:Isn't it obvious? by __aafkqj3628 · · Score: 1

      I would reccomend dummies books to any idiot. They are only useful to someone who has no previous knowledge of a computer and have found them little use. I would reccomend nearly anything from Sams Publishing, especially the Teach Yourself ______ in 21 Days (not the 24 hours ones).

    2. Re:Isn't it obvious? by Axe · · Score: 2

      "Butt Licking for Middle Management" by P.R.Manager
      "How to Fuck up and Hide it" by J.D.Coder
      "Speaking Marketroid" by C.U. Sales
      ..and of course last week bestseller:
      "Book Cooking for Dummies"

      --
      <^>_<(ô ô)>_<^>
    3. Re:Isn't it obvious? by iso9660 · · Score: 0

      I saw a book called "MP3 with Winamp" that was about 200 pages. Talk about misallocated resources...

      --

      I wish that my brain could do SMP...

    4. Re:Isn't it obvious? by tylerdave · · Score: 1

      Personally, I would reccomend the dummies series to a dumb person. I would reccomend idiot's guide series books to an idiot.

    5. Re:Isn't it obvious? by Anonymous Coward · · Score: 0

      I think anything from Microsoft Press would be the most important and significant texts to any young individual just becoming familiar with the industry...

    6. Re:Isn't it obvious? by Anonymous Coward · · Score: 0

      The what-I-call "PrintScreen books", there are too many of such books, unfortunately, which take 30+ pages to describe Windows Explorer as an "advanced tool", most of them filled with screenshots. It's kinda fun though, when the author takes a full desktop, what time the Windows Tray Clock is displaying, you can see how these people are sufficiently bored to be writing such a lame book at 2 or 3 AM (but hey, any idiot can actually write such books, and the money must be good)

    7. Re:Isn't it obvious? by cyranoVR · · Score: 2, Informative

      I'm not Java expert, but I bought Teach Yourself Java 2 in 21 Days and found it to be worthless. If you already have computer science/programming knowledge skip that and go straight to books like Java in a Nutshell, Refactoring and Effective Java

    8. Re:Isn't it obvious? by harlows_monkeys · · Score: 2

      I want to see "MENSA for Dummies".

  2. For applied C++ by djm2cmu · · Score: 3, Interesting

    Effective C++ and More Effective C++, by Scott Meyers

    1. Re:For applied C++ by Henry+V+.009 · · Score: 3, Interesting

      Don't forget Effective STL. And along with that, Josuttis' The C++ Standard Library.

    2. Re:For applied C++ by johnnyb · · Score: 2

      For a great work on advanced templating techniques, Modern C++ Design by Alexander Alexandrescu is a wonderful, wonderful book. It's very short, but packed with information that will make your head spin.

      Of course, it also made me glad I knew Python and Lisp, because they have easier ways of doing just about everything mentioned in the book.

    3. Re:For applied C++ by IpalindromeI · · Score: 1

      Of course, it also made me glad I knew Python and Lisp, because they have easier ways of doing just about everything mentioned in the book.

      Interpreted languages are like that.

      --

      --
      Promoting critical thinking since 1994.
    4. Re:For applied C++ by johnnyb · · Score: 2

      Actually, Lisp is usually compiled, believe it or not, and does a pretty good job of it, too.

    5. Re:For applied C++ by Anonymous Coward · · Score: 0

      Practical C++.. O'Reilley...another good one.

    6. Re:For applied C++ by Anonymous Coward · · Score: 0

      Modern C++ Design by Alexander Alexandrescu is a wonderful, wonderful book.
      Yes, you'll be able to do tricks in C++ that even the compilers can't do yet! Really, it is a great book, but last I heard Loki didn't actually work in the real world. That world uses the Boost library. Modern C++ Design is the book that'll seperate "Wow, C++ is cool" people from "My God! Why?" people.

  3. Again by rfreynol · · Score: 0, Troll

    How many times does this have to come up? How many more "Best Books" threads are we going to have?

    1. Re:Again by Anonymous Coward · · Score: 0


      Don't worry -- the next one will be 'Best Albums'. After that, he'll want to know 'what are you listening to *right now*?'.

      Then he'll ask what kind of computer we all have, and what games are cool to play.

      Then he'll just keep posting topics about stuff he likes in order to 'keep discussion going'...

    2. Re:Again by chippcom · · Score: 1, Flamebait

      I actually enjoy perusing a thread like this. Try clicking the 'back' button (it's on the upper left of your browser) and see if you can find something more to your liking.

  4. Applied Cryptography by demi · · Score: 4, Informative

    by Bruce Schneier. The book is enjoyable and has saved me from several gaffes when using crypto for applications.

    --
    demi
    1. Re:Applied Cryptography by djm2cmu · · Score: 2, Informative

      And if you're completely new to cryptography, definitely check out Cryptography Decrypted by H.X.Mel. His writing style is incredible...that book could teach public-key crypto to a monkey. Hmmm...now there's a thought...

    2. Re:Applied Cryptography by cdgod · · Score: 1

      Don't forget "Secret and Lies"

      Even more important than the first book.

      --
      This .Sig is left intentionally humourless.
    3. Re:Applied Cryptography by Tuzanor · · Score: 2

      www.monkey.org heh, i guess the monkies read it ;-)

    4. Re:Applied Cryptography by Anonymous Coward · · Score: 0

      The book is riddled with mistakes.
      He's a good coder; he's NOT a cryptographer.

    5. Re:Applied Cryptography by jeffy124 · · Score: 1

      more crypto ...

      The Code Book, by Simon Singh

      Was reviewed on slashdot way back when. Good crypto history book, that includes discussion of the various algorithms from over hte years, including a good one of what quantum may bring.

      --
      The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
    6. Re:Applied Cryptography by Peyna · · Score: 2

      It is available for download, the full book, in PDF or Postscript, here. Please read the copyright notices and respect them.

      --
      What?
    7. Re:Applied Cryptography by Anonymous Coward · · Score: 1, Informative

      Actually, Handbook of Applied Cryptography is different than Schneier's Applied Cryptography.

    8. Re:Applied Cryptography by slickwillie · · Score: 2

      Even more important than the first book.

      You mean the part where he says he lied about everything in "Applied Cryptography"?

    9. Re:Applied Cryptography by Peyna · · Score: 2

      Ha! Oh well, it's still a good read =]

      --
      What?
    10. Re:Applied Cryptography by Anonymous Coward · · Score: 0

      Mother of god, don't waste your time with this. In general, understanding cryptography at the shallow level at which Schneier explains and (presumably) understand cryptopgraphy is doing yourself more harm than good. Cryptography is plagued by practitioners without any formal theoretical understanding of the subject.

      If you really want to know what it is all about, insist on a book like Goldreich's "Foundations of Cryptography" which (imperfectly) describes formal models of security and proves security in these models.

    11. Re:Applied Cryptography by Anonymous Coward · · Score: 0

      That is NOT the book. Applied Cryptography and the Handbook of Applied Cryptography are two very different books by totally seperate people.

    12. Re:Applied Cryptography by Anonymous Coward · · Score: 0

      Parent is NSA troll

    13. Re:Applied Cryptography by c64cryptoboy · · Score: 1
      I have *A LOT* of cryptography book recommendations ( http://www.youdzone.com/cryptobooks.html ). 21 of the books featured here have online erratas, and 4 of the books are free to download in their entirety.

      But as for my top picks, see this list of seven: http://www.youdzone.com/cryptobooks_TopPicks.html

      --
      I put the 'fun' in fundamentalism
  5. Coding books? why? by markov_chain · · Score: 1

    Smart people don't read coding books, they just look stuff up using a search engine. Google comes to mind.

    --
    Tsunami -- You can't bring a good wave down!
    1. Re:Coding books? why? by Anonymous Coward · · Score: 0

      ditto

    2. Re:Coding books? why? by Jeremy+Erwin · · Score: 2

      This can be helpful, although I've found that 90 copies of the same linux howto don't neccesarily answer my questions. Mailing list archives, though, are often extremely helpful.

      People also tend to mirror the incomplete, and often not especially helpful Cocoa/NextStep documentation. I've found that even the (slapped together) book "Learning Cocoa" has more structure.

      Old books are useful for debugging and porting old code-- newer books often (and with good reason) give short shrift to deprecated/nonstandard/obsolete functions.

    3. Re:Coding books? why? by Anonymous Coward · · Score: 0

      So wrong, especially for Windows coding. Books are handy, sometimes..you can read them on a toilet, and you don't have to plug them into the wall. Hard copy is still the best.

    4. Re:Coding books? why? by jumpinin · · Score: 1

      Before search engines there were no smart people.

      --
      Verbing wierds language --Calvin
    5. Re:Coding books? why? by geek4ever · · Score: 1

      I find that coding books are much more affective than web sites, simply because it is easier to get absorbed in a coding than to get absorbed in a coding web site.

      --


      Karma: Bad. Mostly because the only moderators that notice me are conservatives.
    6. Re:Coding books? why? by Anonymous Coward · · Score: 0

      I've seen way too much code blindly copied and pasted from the internet. I recently saw some code checked into our source tree that opened a URLConnection and searched for barbies at E-Bay. Clearly, rather than take the time to figure out what was actually going on, one of my co-developers went searching on google for snippets. Web research has its place -I do it all the time- but a book offers a structured way to learn and understand a complete set of concepts.

  6. I would recommend by angelkey · · Score: 0

    'My 1st Post' by U. Suck

    --
    "During times of universal deceit, telling the truth becomes a revolutionary act." - George Orwell, 1984
  7. Obvious Perl choices.... by markana · · Score: 4, Informative

    Programming Perl (Camel)
    Perl Cookbook (Bighorn sheep)

    1. Re:Obvious Perl choices.... by CrudPuppy · · Score: 1

      I'm sorry, but I have to argue that this is only a good intro book for coders.

      "Learning Perl" is a great book for non-coders to learn all the basics of perl, but may bore coders.

      --
      A year spent in artificial intelligence is enough to make one believe in God.
    2. Re:Obvious Perl choices.... by Anonymous Coward · · Score: 0

      Yes, but my Perl in a Nutshell is the one with all the dogears and greasy thumbprints.

    3. Re:Obvious Perl choices.... by Anonymous Coward · · Score: 0

      Might I suggest you wash your filthy hands then you fucking slob!

    4. Re:Obvious Perl choices.... by Flounder · · Score: 2
      I was a non-coder and I learned Perl with Elements of Programming with Perl by Andrew L. Johnson. Did a great job of starting at the basics without talking down to the reader.

      Granted, it's worthless once you're through, it's not a reference. For that, the ever-popular all-knowing O'Reilly books like Camel and Bighorn Sheep are the way to go.

      You just can't go wrong with O'Reilly books.

      --

      No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova

    5. Re:Obvious Perl choices.... by IpalindromeI · · Score: 1

      Wth is with bighorn sheep. It's a friggin Ram. The Ram Book.

      --

      --
      Promoting critical thinking since 1994.
  8. Kant read. by eclectic_echidna · · Score: 1

    What's a book?

    --
    Antiquated competence won't be a job skill forever.
    1. Re:Kant read. by mabinogi · · Score: 2, Funny

      You nearly pulled it off, but unfortunately, appropriate use of an apostrophe proved your literacy.

      --
      Advanced users are users too!
    2. Re:Kant read. by Iron+Monkey · · Score: 1

      I agree wholeheartedly! One cannot begin to code until they've brushed up on their Kant.

      Brilliant observation!

      --
      If my enemy's enemy is my friend, what happens if my enemy is his own worst enemy?
    3. Re:Kant read. by Anonymous Coward · · Score: 0

      Nice grammar, monkey. What you said is logically equivalent to 'he cannot begin to code until they've brushed up on their Kant.' Hint: singular subjects do *not* magically become plural. What you meant was 'one cannot begin to code until one has brushed up on one's Kant.' All you monkeys are illiterate, nowadays, so I don't fault you for not being able to write correctly. BTW: that you think Kant is related to coding shows your lack of knowledge. Kant might serve one well if one were modeling something, or designing a language (importance of categories for structure), but I doubt that your feable attempt at displaying erudition was anything more than that. Go get your dunce hat, again, monkey.

    4. Re:Kant read. by eyepeepackets · · Score: 2

      Kant can't cant; Kant croaked.

      --
      Everything in the Universe sucks: It's the law!
    5. Re:Kant read. by soul_on_fire2001 · · Score: 1

      The apostrophe was used correctly.
      The apostrophe is used to indicate omission of the word 'is'.
      The sentence is equivalent to 'what is a book' ?

    6. Re:Kant read. by soul_on_fire2001 · · Score: 1

      Again brilliant observation

    7. Re:Kant read. by Anonymous Coward · · Score: 0

      Your level of reading comprehension amazes me.

    8. Re:Kant read. by soul_on_fire2001 · · Score: 1

      Ur level of comprehension disgusts me.

    9. Re:Kant read. by Anonymous Coward · · Score: 0

      I am a different AC than the one that pointed out to you that you have the reading comprehension of a two-year old monkey. Do I need to explain it to you, or do you see why you are retarded?

    10. Re:Kant read. by Anonymous Coward · · Score: 0
      Dude, are you retarded, or perhaps just barely literate?

      Let me explain it to you: the guy said that the *proper* (== correct) usage of the apostrophe betrayed that he was literate, so you are explaining that the usage was correct when the guy was saying that the usage was correct. You're lucky you didn't get modded 'redundant' with a -1 bonus for 'retard.'

    11. Re:Kant read. by soul_on_fire2001 · · Score: 1

      yeah, that was a mistake. It doesn't stop from being what u are , *anonymous coward."
      By the way I have a masters in computer engineering with a decent gpa of 3.4. Hope that helps ur retarded perception of me.

  9. Bertrand Meyer: OOSC2 by Anonymous Coward · · Score: 1, Insightful
    Object-Oriented Software Construction, 2ed. by Bertrand Meyer, ISBN 0-13-629155-4

    This is the tome on what object oriented design is all about.

  10. seminal works by Anonymous Coward · · Score: 0, Funny

    My favorite resources about cum:

    Playboy
    Penthouse
    Hustler
    Chasey Lain
    FUCK I CAN'T REMEMBER THAT FAMOUS ONE'S NAME!!!

  11. Nothing specific, but ... by Kwikymart · · Score: 1

    I have found wrox press books to be good. They don't publish any of the "classic" books (for instance k&r c) but their stuff seems to be accurate and very well layed out. I find them the easiest to learn from by far.

    --

    Buying a Dell computer is equivalent to dropping the soap in a prison shower.
    1. Re:Nothing specific, but ... by The+World+Will+End · · Score: 2, Insightful

      I think it's the examples they use. They don't pick some abstract boring problem to demonstrate the concept, they show the code in an app that is similar to something in the real world, so you can see how it looks in practice, rather than just showing the general case in mathematical terms. Sometimes it is easier to learn a specific case before you learn the general case, since the more abstract general case is harder to grasp without some idea of how one would use it in practice.

      --
      Man, with his flaming pyre, has conquered the wayward breezes.
  12. My only source by cdgod · · Score: 1, Informative

    You want the best books for free?

    alt.binaries.e-book.technical

    --
    This .Sig is left intentionally humourless.
    1. Re:My only source by Anonymous Coward · · Score: 0

      Mod this down. No one likes a theif.

    2. Re:My only source by Anonymous Coward · · Score: 0


      Thanks. Completley forgot about this one.

    3. Re:My only source by Anonymous Coward · · Score: 0

      No, I know one that is even better: go in the bookstore wearing a backpack, fill it up with books you like, then walk out. You don't even have to wait for a download to complete :)

    4. Re:My only source by Anonymous Coward · · Score: 0


      True, but everyone likes getting stuff for free.

      Funny how that works, eh...

    5. Re:My only source by Anonymous Coward · · Score: 0

      Only if you like to read on a computer. Personally I hate reading on a monitor, so spending the money on a print edition doesn't bother me.

    6. Re:My only source by hank · · Score: 2

      It's this attitude and mentality that drags down our society. Funny how you post your "cool" idea as an "anonymous coward". Such a great idea, but you won't stand by it?

      I wonder how many people have stolen "downloadable" products from brick-and-mortar stores simply because they're that sickly impatient. I'm sure I don't want to know.

    7. Re:My only source by destiney · · Score: 1



      wish i had mod points... thanks for source :)

    8. Re:My only source by Karma+Farmer · · Score: 2, Interesting
      If you want money for free, you can just print some up on a color copier. It isn't immoral, because you haven't deprived anyone else of their money.

      Also, I happen to know that most of the rockstar authors, like Knuth, Stevens, and Kernighan, have far more money than they would ever know what to do with. And, those bozos at Prentice Hall and O'Reilly are all a bunch of thiefs anyhow. I understand that they've recently lobbied congress for the right to burn down libraries to prevent the spread of information among poor people who can't afford to buy books of their own.

    9. Re:My only source by Karma+Farmer · · Score: 2, Informative
      You want the best books for free?

      Don't be a slimebag. Go the the library.

    10. Re:My only source by Abstrakt · · Score: 1
      You want the best books for free?
      alt.binaries.e-book.technical
      Or you can just stop by your local bookstore and pocket them. Well, that only applies to those wonderful O'Reilly pocket references.

      The other computer books will be far too big to hide in your pockets... So you will probably have to carry a bag with you. When the security guards try to come after you, just shoot them. You're a criminal after all, so what do you care?

      Come to think of it, why pay for anything when you can steal it? Why even work for a living when you can rob people instead? Yep, the parent poster has it all figured out!

    11. Re:My only source by Anonymous Coward · · Score: 0

      Is this modded Interesting because the moderator gets the point, or because they missed it completely?

    12. Re:My only source by Anonymous Coward · · Score: 1, Insightful

      If you want money for free, you can just print some up on a color copier. It isn't immoral, because you haven't deprived anyone else of their money.

      This isn't a very good argument against copying.

      Money doesn't have any intrinsic value. You don't get a piece of money because you like the picture or something. No one would exchange labor or goods to get a piece of money unless we all agreed to keep the supply limited. Money is just a convenient substitute for barter exchanges. When you copy money you're reducing the value of all money, including your own, in the long run.

      Books, art, music, etc., don't have this requirement, they can be priced from zero to infinity.

    13. Re:My only source by micromoog · · Score: 2

      So isn't this basically the same thing, except that he's not wasting time and gasoline to get there, and he's not potentially depriving someone else of the opportunity to read the book?

    14. Re:My only source by Anonymous+Cowtard · · Score: 1

      And here is the proof that people will say or do anything to justify their petty theft.

    15. Re:My only source by Anonymous Coward · · Score: 0

      I think the people who drag down society are people like you who don't understand the social complexities of humanity. While this isn't very complex, the poster was trying to show that stealing is still stealing regardless of whether it's online or in real life.

    16. Re:My only source by pileated · · Score: 1

      how in the hell did this idiocy get rated 4?

    17. Re:My only source by SteakandcheeseUm · · Score: 1

      Well, you could always use your Lib's Online Card Catalog system to reserve a bunch of books and consolidate picking them up into one trip. Makes Using the library more efficient and you can check the status of you Hold's on the web.

    18. Re:My only source by Anonymous Coward · · Score: 0

      Soo...why are we all for P2P sharing of music and videos??

    19. Re:My only source by Anonymous Coward · · Score: 0

      Because a very small number of people who still read this site are lucky enough to have both brains AND morals.

    20. Re:My only source by Anonymous Coward · · Score: 0

      I bet you didn't even turn off that .mp3 you were listening to before you made that post did you???

      Get off the high horse.

    21. Re:My only source by Anonymous Coward · · Score: 0

      No, no, you don't understand.

      Once you create something digital and immaterial, you can make an infinite number of copies without spending any more resources (aside from a little electricity). Compare this to a shovel, which needs much human labour, plastic, metal, etc.

      I don't think it's stealing. The author should somehow get enough money, the goal which they've set, and then the information should be free for all. Have a look at Kelsey & Schneier's Street Performer Protocol to find out what I mean. Such a method would promise income to the creator of the information, and it would be fair to those who want to pay for the information.

      Since digital information is impossible to detain, if you intend to mass-market it, I see Kelsey & Schneier's idea as the best one to achieve the goals of making money in mass markets with immaterial information.

      You can find the paper at Counterpane.

    22. Re:My only source by danrees · · Score: 1

      If you want money for free, you can just print some up on a color copier. It isn't immoral, because you haven't deprived anyone else of their money.

      Wrong. By putting more money into circulation you are decreasing the value of money (inflation), and so everybody else can buy less goods with the money that have. To put it simply, if everybody suddenly had £100 more, then the price of goods would rise (if only slightly) to reflect that.

    23. Re:My only source by Anonymous Coward · · Score: 0
      Why even work for a living when you can rob people instead?

      Wouldn't that be considered work?

    24. Re:My only source by Anonymous Coward · · Score: 0

      I don't think that was his point, actually.

      If you're going to borrow the book at the library (as in, NOT pay for it in any case) then why not just steal it on usenet?. Where's the difference really? That one is "wrong" and one is "right"?

      What if i lend the book and use it as a paperwieight for the printouts from the one i stole, is that OK? What if i steal it but promise to delete it in a month?

      I honestly don't see why anyone would care, much less suffer any damage.

    25. Re:My only source by Anonymous Coward · · Score: 0

      "drags down our society"

      Always an interesting phrase to hear. Right up there with "a better society." Or, one I heard in college, "only the elite understand art." What a crock.

      How exactly does this activity drag down our society? This is right up there with the argument that "pirating" is bad. Folks that pirate largely tend not to have the means to purchase the product in the first place. I know a LOT of people that did not, esp. in college, who, because they used specific products and brands then, purchase them now. Piraters frequently purchase services (e.g. connection services, hardware) that allow them to pirate and/or use what they pirate. In terms of society, someone DOES derive a benefit. You need resources to obtain resources, regardless of what social-economic strata you are in.

      Look at what models your dear society has. The whole fight with the MPAA and RIAA versus computer hardware/software makers is that one business is not getting compensated but another may be. That is a BUSINESS move they are, unfortunately, trying to take to legislation (e.g. DMCA). But in SOCIETAL terms, this mentality his minimal impact because of all business, economic, and, needless to say, government institutions in place.

      With books, it may be someone who steals a book (bookstore/download) to learn something for a job, school, etc. Again, someone ELSE derives the benefit but in SOCIETAL terms, big whoop.

      Wait, maybe the (frequently used excuse) lack of morality (really, ethics) pisses you off. I find it odd how people go gaga as if people are here only for businesses to derive benefit from solely. Or maybe the sales tax that might have been missed. My lord. A book. Someone reads it. Learns from it. Improves himself. And society is HURT. *sniffle* (pause) WAHHHH! The nature of capitalism is lost! Oh. Wait a sec....

      Oh, before I forget. Mind you, I'm not an anarchist or, since in the political world it's automatically assumed, a socialist or liberal. Some person downloads a book, a freakin BOOK, and they are automatically slammed as a societal sinner and take along posting anonymously. The freakin point of posting anonymously is to protect yourself from opinions that may not be accepted, regardless of whether they are legal or not. It's not as if the FBI couldn't ask for the /. logs anyways to grab a MAC or IP address to track them down (not that they will). And it's not as if /. already "censors" anyways with their posting limits by ACs anyways (you did know that, didn't you?).

    26. Re:My only source by Anonymous Coward · · Score: 0

      I want to agree but just can't. My mommy and daddy are not rich and the only way I can afford to learn program such as photoshop, dreamweaver and flash is to download them illegally. Finally I launched a full dynamic site driven by PHP. Sure once I can afford these applications I will purchase them...maybe when I graduate high school.

      -Nick
      (not original poster)

    27. Re:My only source by bigsexyjoe · · Score: 1

      What are you talking about? You are much more likely to get caught shoplifting the store!!

    28. Re:My only source by bigsexyjoe · · Score: 1

      If you have an education earning a legitmate living is easier than the life of a criminal. The average drug dealer generally ends up making about minimum wage and has a dangerous line of work to boot. Of course, as Gandi pointed out, contrary to popular belief it is possible to be an honest business man; it is just impossible to amass a large fortune in an honest manner. But shooting people? You might get caught.

    29. Re:My only source by Anonymous Coward · · Score: 0

      Have you ever heard of 'sarcasm'? You might want to buy a special kind of book called a 'dictionary' and look it up. It'll be under 's'.

  13. some good ones.... by jeffy124 · · Score: 4, Informative

    Anything with Knuth's name on it
    Dragon Book (Compilers - Principles, Tools & Techniques, Aho et al)
    Gang of Four (Design Patterns, Gamma et al)
    Andy Tannenbaum's OS book
    That thick ass Intro to Algorithms book from the MIT boys
    Patterson/Henessey Computer Organization & Design

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
    1. Re:some good ones.... by Anonymous Coward · · Score: 0

      Introduction to Algorithms was from Cormen, et. al.

      Most of these would have been my picks too.

    2. Re:some good ones.... by bastard01 · · Score: 2, Funny

      as for knuth books, would this one be a good book? here

    3. Re:some good ones.... by jjoyce · · Score: 1

      You almost got the bulk of them...
      but forgot Structure and Interpretation of Computer Programs, by Abelson and Sussman.

    4. Re:some good ones.... by johnnyb · · Score: 2

      What I like most is the combination of Structure and Interpretation of Computer Programs, and The Art of Computer Programming. SICP takes a top-down approach, and TAOCP takes a bottom-up approach. Having both backgrounds is what makes for an excellent programmer.

    5. Re:some good ones.... by Anonymous Coward · · Score: 0

      These laurels to Knuth may excite the uninitiated. If your patience level is less than average or your attention span is that of an average T.V surfer, it would be impossible for you to trudge more than a few pages.

      Yes, good books. I think if you have'nt heard of UNIX, you are not in the smart category in the first place. MAybe Linux is a good idea.

    6. Re:some good ones.... by cibrPLUR · · Score: 1

      Which would you recommend reading first?

      --

      -cibrPLUR

    7. Re:some good ones.... by johnnyb · · Score: 2

      It's hard to say, probably depends more on your personality than anything else.

      If you are going to work on low-level systems, TAOCP is probably the better starting place. For high-level apps, SICP is probably a better starting point.

      For someone new to programming, SICP is probably an easier start, because TAOCP assumes some programming background. Specifically, some machine-language programming background.

      The nice thing about TAOCP is that it make the way that computers works very obvious - as well as the limitations involved. Way too many programmers do not know this information, and therefore when problems arise, are totally left out in the cold. Issues such as pointers, memory management, etc.

      Also, if you want, you can check out my book that I'm writing on programming, available at

      http://www.eskimo.com/~johnnyb/computers/Program mi ngGroundUp/

      It starts at the low-level, but does not assume any previous programming experience.

      Anyway, it's a tough call, but since TAOCP requires previous experience, SICP is probably the better choice for the new programmer. For an experienced programmer, I'd probably go with TAOCP first, as it most likely contains the most that you don't already know.

      The sequence I'd recommend once I finish my book is,

      1) my book

      2) TAOCP

      3) SICP

    8. Re:some good ones.... by cibrPLUR · · Score: 1

      How much of your book is unfinished?

      Do you have it in any other format? It gives my Acrobat hell when I try to look at it.

      --

      -cibrPLUR

    9. Re:some good ones.... by johnnyb · · Score: 2

      If you're using 5.0 then you just have to click "okay" two or three times on the first blank page. It comes from the way Ghostscript handles blank pages.

      If you need a different format, email me at johnnyb@eskimo.com

      I've written about 150 pages so far. A few chapters need rewriting, as I've introduced new material beforehand, it needs a good editting, and one or two chapters need to be written, and I need some appendices (those are pretty short, though).

  14. Re:"Editors Are Censoring Nazis" is a very good bo by bje2 · · Score: 1

    no one is making you read or use slashdot...you don't like it? leave...

    --

    "Facts are meaningless. You could use facts to prove anything that's even remotely true." - Homer Simpson
  15. I don't know why by Mordant · · Score: 1, Flamebait

    you're asking for book recommendations for the 'smart' - since smart people don't do things like ask for book recommendations on Slashdot, it's unlikely you'll be able to comprehend any of the answers you receive.

    1. Re:I don't know why by Anonymous Coward · · Score: 0

      I suppose so, but that depends on what you mean by smart. When I tell people I'm studying math and physics they often say "wow, you're smart." However... I know better.

    2. Re:I don't know why by Anonymous Coward · · Score: 0

      ..lol. smart people don't register domains or accounts on domains like gothik.org ..the ninties are over you clueless twit.

    3. Re:I don't know why by Anonymous Coward · · Score: 0

      smart people don't do things like ask for book recommendations on Slashdot,...

      What if you are smart, but inexperienced?

    4. Re:I don't know why by Anonymous Coward · · Score: 0

      actually they do sometimes; it's only smug shitheads like you that don't need any help

  16. easy by Astrorunner · · Score: 1, Funny

    select * from books
    where author = 'Knuth';

    1. Re:easy by Anonymous Coward · · Score: 0

      I'd take this answer to heart...anyone who posts an answer in code/SQL statement/pseudo-code must know what they're talking about.

    2. Re:easy by muffel · · Score: 4, Insightful

      union select * from books where author = 'R. Stevens';

      --

      bla
    3. Re:easy by Anonymous Coward · · Score: 0

      Um... it's either:

      ``...worthless pile of rat shit.''

      or

      ``...worthless puddle of rat piss.''

      In the future, please try to keep that straight.

    4. Re:easy by glitch! · · Score: 2

      union select * from books where author = 'R. Stevens';

      I have to agree with that! Unix Network Programming, Volume 1 is THE authoritative reference, in my opinion. TCP/IP Illustrated, Volume 1 is an excellent book on IP in general, and Volume 2 is the perfect reference for someone working in the BSD network stack. Honestly, after crawling underneath the BSD IP stack code, reading Vol2 is almost a religious experience :-)

      --
      A dingo ate my sig...
    5. Re:easy by Anonymous Coward · · Score: 0

      I suggest you read SQL In 21 Hours, there's no 'union' required there...

  17. Seminal? by craw · · Score: 1

    Well for a seminal book on C there is by definition K&R First Edition. For C++ there is Stroustrup, First Edition. For Perl...

    1. Re:Seminal? by sketchkid · · Score: 1

      C How to Program by Deitel & Deitel

      we're using this book right now in my C class and its good enough that i dont have to go to class to make an A so its good enough to recommend.

      --


      ------
      [insert funny .sig here]
    2. Re:Seminal? by slacker_x · · Score: 1

      That has to be one of the worst book I've seen regarding C. Passing a class with it is a testiment to the class, not the book. For a good "practical" book to learn c by, pick up Practical C (Cow on the cover) by Steve Oualline.

    3. Re:Seminal? by macrom · · Score: 1

      I taught myself C with that book and had no problems whatsoever. It's not that bad.

    4. Re:Seminal? by Anonymous Coward · · Score: 0

      I hpoe its better than thier C++ book , that book was terriable.

    5. Re:Seminal? by craw · · Score: 1

      Seminal. Seminal. Seminal. As in the original seed the begot, another, that begot another.

      BTW, I only own two C books; note own. K&R 1st and 2nd Editions. Needed the latter one to get up to speed on the ANSI stuff. K&R is terse and does not have a lot of hand-holding examples. However, it did convert this FORTRAN progammer, non-CS major over to C in quick, efficient manner.

      I must admit that K&R may not be very "practical" for someone without any programming experience. However, it is seminal.

    6. Re:Seminal? by Anonymous Coward · · Score: 1, Informative

      Insofar as actually learning C++, the book by Stroustup is nearly useless. Imagine learning english by reading a dictionary. It's a great reference, but there are better learner books. Scott Meyers, plus the C++ FAQ, for example.

    7. Re:Seminal? by Brian+Hatch · · Score: 1
      I've taught several C and C++ classes, and used the Deitel & Deitel books because they were the best teaching books that I could find at the time. While some folks can swear by them, others will swear at them. I think they are perfect for 50% of the people out there, and the others will have a harder time because of them.

      I've never had a large enough sample size to determine what kind of person will find these books helpful or hurtful.

      Personally, I learned C from other people's source code and the man pages. Sure took a long time to learn how pointers worked...

    8. Re:Seminal? by joto · · Score: 2
      I would disagree strongly with that. If what you need is "practical", then you are already a programmer and should buy K&R. I've actually read Oualline's book, and there was nothing of interest there.

      On the other hand, Deitel and Deitels book may not be perfect, but they are pretty good for a typical first-year "introduction to programming" course. I'm sure there are plenty of alternatives out there, but Deitel and Deitel really aren't that bad (of course, I can't comment on the C version, as I've only read the Visual Basic version (because I had to teach it, I wouldn't normally read such a book otherwise), which by the way struck me as perhaps the only decent VB book out there).

    9. Re:Seminal? by Anonymous Coward · · Score: 0

      Well for a seminal book on C there is by definition K&R First Edition.

      K&R, 1st edition describes a language that has been out of date for over 15 years now. It's great as a collectible item, but for really learning C that will be close to today's standards, one should use the second edition.

    10. Re:Seminal? by cgaylord · · Score: 1

      Perl? I thought they asked for smart references.

  18. UNIX System Administration Handbook by Champaign · · Score: 2, Informative

    http://www.amazon.com/exec/obidos/ASIN/0130206016/ qid=/sr=/ref=cm_lm_asin/103-3920026-0250219

    When I was thrust into the role of assistant System Administrator at the first company I worked at out of university, the "UNIX System Administration Handbook" by Evi Nemeth, Garth Snyder, Scott Seebass, & Trent R. Hein was recommended to me as a good overview book of maintaining a Unix system, and a great reference for whenever you needed to do something. I was very impressed, still have and use my copy today, and would recommend it to any other new SysAdmin out there.

    1. Re:UNIX System Administration Handbook by slash_zombie · · Score: 1

      Same authors:
      Linux Systems Administrators Handbook
      Excelent reading for everyone.
      It underlines differences between 3 major distros
      RedHat, SuSE and Debian.

    2. Re:UNIX System Administration Handbook by ericman31 · · Score: 1

      O'Reilly's "Essential System Administration" should be mandatory reading for all new sys admins. "Oracle XXX: The Complete Reference" from Osborne is excellent for both sys admins and DBA's maintaining Oracle platforms. "Open Computing: Best UNIX Tips Ever", also from Osborne, is good for sys admins too. "Portable Shell Programming" by Bruce Blinn is pretty much a must have for anyonw who writes shell scripts.

      --
      In my universe I'm perfectly normal, it's not my fault you don't live in my universe.
  19. Lisp by Anonymous Coward · · Score: 0

    "ANSI Common Lisp" by Paul Graham. Servers as both an introduction and reference to Common Lisp. Highly recommended.

    1. Re:Lisp by xerofud · · Score: 3, Informative

      You might also mention his book "On LISP", which
      is now out of print, but can be downloaded from
      his webpage.

      On LISP goes into LISP issues much deeper than
      ANSI Common LISP.

  20. new to linux..... by jeffy124 · · Score: 1

    Learning Red Hat Linux by Bill McCarty

    Comes with Red Hat 7.2 CD's, is perfect for the Windows->Linux convert. Also a good reference on how to do simple things regardless of distro, this way I dont have to spend all day looking online.

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
    1. Re:new to linux..... by drightler · · Score: 1

      A Practical Guide to Linux by Mark G. Sobell

      --

      blah blah blah....
      drightler@technicalogic.com
  21. A couple of suggestions by astrashe · · Score: 3, Informative

    Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.

    Refactoring: improving the design of existing code, by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts.

    Joe Celko's SQL books.

    It's an introductory text, but Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs is pretty good too. It makes you think about things more deeply than many other books do.

    1. Re:A couple of suggestions by Junks+Jerzey · · Score: 2

      Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.

      The more I read and understand about design patterns, the more I'm convinced that it's an overrated topic. It's more of a way to avoid hanging yourself, given all the rope that a typical OOP language gives you. If you avoid OOP, then all of a sudden you don't find a need for these so-called patterns. This is especially true when using other programming paradigms.

    2. Re:A couple of suggestions by alext · · Score: 2

      Yes, definitely overrated. A lot of the patterns in the GoF book are implicit in other programming languages, as Peter Norvig has pointed out.

      I don't think Design Patterns is a good theoretical grounding, it really belongs to a much narrower field inhabited by C++ and Java programming. Even as practitioner's guide I have a lot of problems with it, but I don't know of anything better, though I like Martin Fowler's Refactoring book, I find it more useful and it has the advantage of not pretending to be particularly profound.

  22. Re:"Editors Are Censoring Nazis" is a very good bo by DopeThrone · · Score: 0

    if you care so much give me an alternative, and if its decent then i will patronize it. And if you do, then live up to all the expectations you want /. to do.

    --

    Righteousness postpones the inevitable
    http://burningaureole.caveism.net
  23. Everything by Knuth... by duckpoopy · · Score: 1

    Start with _The Art of Computer Programming_.

    --
    word.
    1. Re:Everything by Knuth... by heliocentric · · Score: 1

      Start with _The Art of Computer Programming_.

      Here here!! I'm with you all the way on that vote. But, if you can't jump right in with heavy Knuth, start with Weiss' Data Structures book (in general form and specific coding languages, I reccomend the general) and CLR (Cormen, Leiserson, and Rivest [as in RSA]) book Introduction to Algorithms.

      --
      Wheeeee
    2. Re:Everything by Knuth... by Anonymous Coward · · Score: 0

      I wish Weiss could have used less templating in his book. It seemed like an extra hurdle to understanding what should be a fairly straightforward topic.

  24. My Bible by pigeonhed · · Score: 1

    Computer Architecture A Quantitative Approach by Hennessy and Patterson

  25. O'Reilly by two-bookoo! · · Score: 0
    I have had never a bad experance with O'Reilly books.
    While they might be a dry cover to cover read, the infomation in the titles that I have referanced has been accurate, and indepth.

    O'Reilly's Website

  26. perl and o'reilly books by apoKalypse · · Score: 0

    For perl, O'Reilly has really great books documenting it, I recommend those books.

  27. The best books ive read by HanzoSan · · Score: 2


    John Smiley makes great books, mainly because, it makes it alot easier to read through boring as hell visual basic and java books when its told in the style he uses.

    You can also learn about from websites, marinoland C tutorial is the best

    It only teaches you the basics, but the foundation is what matters most when learning C, you can buy a refrence book/manual and deal with the advanced stuff as you have to use it.

    --
    If you use Linux, please help development of Autopac
  28. Perl... by MrSeb · · Score: 1

    Learning Perl by O'Reilly (Schwartz & Christiansen)... brilliant book for getting into Perl, and all things llama'ish.

  29. Just a few that come to mind.... by BMazurek · · Score: 5, Informative

    Introduction to Algorithms - Cormen, Leiserson and Rivest
    - Great book, little bit of everything.

    Code Complete - Steve McConnell
    - Must read for anyone serious about programming. Read it.

    Advanced Programming in the UNIX Environment - Richard Stevens
    - Still one of the best UNIX programming books I've seen.

    Since the advent of the web, though, I've come of the opinion that language agnostic books are the important ones. Books on particular languages ("Learn Foo in 21 days", "Practical Programming in BarBaz") or technologies date way too quickly. The web is the best source for information like this.

    I think we're thankfully seeing more books like "Pragmatic Programmer", the "Extreme Programming" series, "Design Patterns", "Refactoring", "Death March" and other books that transcend particular languages and technologies.

    1. Re:Just a few that come to mind.... by Inthewire · · Score: 2, Funny

      One day I saw a list of *must read* computer / programming books compiled by Steve McConnell. I had a brainfart and forgot he wrote CC.
      I emailed him and told him that I loved his list, had read a good portion of it, and was copying the rest down to look for. Then I recommended he look into a fantastic book called "Code Complete."
      Just before I hit 'send' I realized what I'd done. So I changed the text, but told him what happened. He sent back a nice reply that I probably still have around here somewhere.

      --


      Writers imply. Readers infer.
    2. Re:Just a few that come to mind.... by Anonymous Coward · · Score: 0

      Fascinating.

    3. Re:Just a few that come to mind.... by dmiller · · Score: 3, Informative

      I strongly second reading _Code Complete_ and APUE. Another two excellent books, also by Richard Stevens, are TCP/IP Illustrated (vol 1) and Unix Network Programming. If you do any Unix or network progamming, you need some Stevens books.

    4. Re:Just a few that come to mind.... by Anonymous Coward · · Score: 0

      heh, thanks for taking the time to post the anecdote, it's interesting. Can we see the reply?

    5. Re:Just a few that come to mind.... by Inthewire · · Score: 1

      I'll look - it was on my (then) work computer. I ftp'ed my mailbox out when I left, and haven't reconstructed it.
      I'll get back to you if I find it. Actually, I'll get back either way.

      --


      Writers imply. Readers infer.
    6. Re:Just a few that come to mind.... by Anonymous Coward · · Score: 0

      okay. Just letting you know that I'm going to check in a few days, so your efforts won't be wasted. (I'm on AC, so you might not assume that I care anymore, but I do.)

    7. Re:Just a few that come to mind.... by raboofje · · Score: 1

      I've been looking for a good book that will basically improve my programming (portability, efficiency, security, and general 'good programming practice' come to mind). I've been looking at the index for 'Advanced Programming in the UNIX Environment' and it looks quite useful, but I noticed that the book is 10 years old and generally biased towards the BSD family. Being primarily a linux person myself, do you think this will make the book less useful to me? Or will much of the information in the book just apply to today's linux (or preferably, portable unix) programming as well?

    8. Re:Just a few that come to mind.... by stephend · · Score: 2

      The thing that I hate about most "Learn x in 30 seconds" book is that they assume that you've never programmed before. Sorry, I just want to see the syntax and any idiosyncracies for most languages.

      I think Programming Perl shows that you *can* have good language specific books. I still use the second edition; it hasn't dated that much.

      The web is fine for reference material, but you can't beat a book for learning stuff.

      Also I second your Code Complete recommendation. In fact, go out and buy his whole back-catalogue!

      Also, how about Jon Bentleys Programming Pearls (note the 'a' :). Think more about how you solve programming problems...

    9. Re:Just a few that come to mind.... by Inthewire · · Score: 1

      Well, that sucked. I just reconstructed two mailboxes and it wasn't there.
      I used to use Pegasus, and that crashed on me, so I switched to the mailbox in Opera.
      I suppose the conversation was in the Pegasus mailbox. I was really looking forward to reading it, too.
      Sorry about that.

      --


      Writers imply. Readers infer.
    10. Re:Just a few that come to mind.... by Anonymous Coward · · Score: 0

      meh. thanks for trying though.

  30. Best in Electrical Engineering is DDPP by Amgine007 · · Score: 2, Informative

    The best textbook I have read for those just starting in EE (from a digital logic point of view) is "Digital Design: Priciples and Practices" by John Wakerly.

    It starts with simple logic, truth tables, and so on, and covers more advanced topics in later chapters such as VHDL and other cool things. If you're not strictly CS, this is *the* handbook to have if you don't want to look like a doufus listening to EE guys. And, I've always found the index to be very complete (and filled with riddles) -- something MANY books seem to be horrible at!

    I'd have to say the best 'feature' of this book -- and of any other, I'd say -- is the offer of a cash ($5!) reward for the first to discover an error!

    (The author maintains an errata page and other goodies at http://www.ddpp.com)

    1. Re:Best in Electrical Engineering is DDPP by Anonymous Coward · · Score: 0

      hmm I like Computer Engineering by M. Morris Mano. Its a little dated but still very useful.

  31. Object-Oriented Perl by Damian Conway by dustin999 · · Score: 2, Interesting

    Gets my vote. And any of the Oreilly books on Perl..

  32. http://www.oreilly.com/ by flogger · · Score: 1

    The O'Reilly books are great for introducing new topics and for delving deeper into topics that you are already familiar with. Well worth a look.

    --
    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    "First things first -- but not necessarily in that order"
    -- The Doctor, "Doctor
    1. Re:http://www.oreilly.com/ by Stripes007 · · Score: 1

      I work for a web hosting company, and our oreilly books are seen in the hands of everyone from our trainees to our hard-core developers.
      They really are an outstanding line of technical books

      --
      Stripes: Because stars are overrated
    2. Re:http://www.oreilly.com/ by Jeremy+Erwin · · Score: 2

      Many O'Reilly are good, but some seem slapped together. That imprint is not the end all of computer publishing.

      For example,Addison Wesley publishes

      OpenGL Programming Guide
      C++ Primer (Lippman/Lajoie)
      C++ (Stroustrup)
      The C++ Standard Library (Josutis)
      AOCP (Knuth)
      LateX (Lamport)
      LaTeX Companion (Goossens/Mittelbach/Samarin)

      I'd say that both AW and O'Rielly have good editorial staffs-- but a book should be judged by its contents, not its imprint.

      (On the other hand, certain imprints are acquiring a bad rep. Usually they are distinguished by loud, slogan strewn covers-- and a bias towards Windows.
      see, for instance, Donald Knuth's Big Dummies Guide to Visual Basic)

    3. Re:http://www.oreilly.com/ by johnnyb · · Score: 2

      Yeah, I was fairly disappointed in their Python book.

      The nice thing about imprint is that if a publisher takes time to pick out quality books, you don't have to wonder if you're purchasing a lemon. O'Reilly has really earned it's reputation, but I think it's been slipping a bit as of late.

    4. Re:http://www.oreilly.com/ by Anonymous Coward · · Score: 0

      I won't buy any computing books from AW. Don't trust the publisher (the man, not the company). Tim O'Reilly, on the other hand . . . .

  33. Shader Writing by donglekey · · Score: 2

    I have read a lot of good books (mostly by Wrox publishing) but the best book, and most relevant (and very seminal too!) is Avanced Renderman: Creating CGI for motion pictures. If you want to write shaders (and who doesn't) this is the book. All of the concepts apply directly to the current realtime shaders even though the book s written with movie CGI in mind. If you want to be taken into the world of 3D rendering, see where its going, where its been and how it got there, this is the book. It will take you in new directions, it will tell you all you need to know and is written so well, you will almost lose respect for 3D developers because it makes things seem so simple.

  34. GOF, Brooks, Fowler, Beck, Coad by alx512 · · Score: 1

    Design Patterns (Gang of Four)

    Refactoring (Fowler)

    Mythical Man Month (Brooks)

    Open Source tools for Java Development
    eXtreme Programming books (even if you're not an XPer) (Beck, et al)

    Analysis Patterns (Fowler)

    Java Design (even if you're not a java developer, some good OO stuff in here) (Coad)

  35. Get theory books. by WanderingGhost · · Score: 4, Insightful
    Personally, I value:
    • Theoretical background -- experience in a CS course, good books that give you a theoretical base are nice. Why? Because later, to translate the theory into real work, you'll just need a reference, and things will work easier!
    • Reference books -- to learn how to implement your ideas in specific settings (OS, language, etc).
    I never found the first with books for specific compilers, IDEs, versions of things, etc, or any of those "big" books that promise you a lot.

    Interesting choices are books written "by the language author" (think Stroustrup, Larry Wall, etc), or books by people with a good background in CS (a CS professor, for example).

    Also, books on theory are interesting. A book on Compilers may change the way you think. (The old "Dragon" book is nice, and Andrew Appel's book is also interesting). One book on Analysis of Algorithm like the one by Cormen, Leiserson, Rivest and (forgot the third author) is quite good, but you need a decent math background.

    And for a reference, I think the more compact the better (I use Java in a Nutshell). References shouldn't be more verbose than the necessary. :-)

    (Just my $0.02)
  36. some recommendations by g4dget · · Score: 3, Informative
    If you are looking for a concise book on C++, look at Pohl's "C++ Distilled".

    For Java, a smart person with a little computer background should be able to figure it out from the language definition. Any of the more complex topics in Java change so quickly that it isn't worth buying books on them anyway--just use the on-line references. Sun has on-line tutorials ("trails") at developer.java.sun.com, left over from the days when Java wasn't hot yet and when they still had to bother recruiting people to Java.

    For Perl, I wouldn't bother with any kind of reference. Just find scripts that roughly do what you want and hack them; it's blind groping around, but that's the way Perl works. If you can't get it to work that way, you probably should be writing in something else other than Perl. If you must, get something like the Perl Cookbook and a quick reference guide.

    For Python, I like "Python and Tkinter Programming" and "The Quick Python Book", although O'Reilly's reference is also decent.

    For a fun yet challenging introduction to computer programming, "Structure and Interpretation of Computer Programs" is good. What makes it even better is the fact that it's a book that teaches modern abstraction techniques but does not rely on object-oriented programming for everything. Most people coming to computers and computer programming wrongly think that objects are either the best, or even the only, way to build abstractions.

    1. Re:some recommendations by domc · · Score: 3, Insightful

      I think that you are right about the Java part, but dead-wrong about the Perl part. The O'reilly Perl library is an invaluable resource for education in the more difficult (and not-so-difficult) areas of Perl.

      domc

    2. Re:some recommendations by g4dget · · Score: 2
      The O'reilly Perl library is an invaluable resource for education in the more difficult (and not-so-difficult) areas of Perl.

      I agree with that statement. I just recommend that once things start getting difficult, people should start using something other than Perl. For the kinds of things Perl is really good at, little scripts, you don't need a lot of books.

    3. Re:some recommendations by domc · · Score: 1

      Perl is very much capable of tasks beyond 'little scripts.'

      domc

    4. Re:some recommendations by Colin+Simmonds · · Score: 2, Informative

      I agree that the books on the various Java APIs quickly become outdated and that it's easy to pick up the core language from the online references. However, Effective Java by Joshua Bloch doesn't fall into either of those categories and is very useful. It's the Java equivalent of Effective C++ by Meyer - roughly 50 concrete dos and don'ts to improve your code, no matter what version of Java you're using.

      I'll also second the nod for Python Essential Reference, which is the only Python book I've found useful so far, even if only because it's faster to look things up in than in the excellent included language documentation.

    5. Re:some recommendations by Anonymous Coward · · Score: 1, Insightful


      Your comment regarding Perl, 'just find some script that does what you want' is just BS. People can write shitty programs in perl, but they can also write elegant and concise applications, provided they know a few simple constructs (like modules). For this I would recommend Advanced Perl Programming.

    6. Re:some recommendations by g4dget · · Score: 2

      Yup, Perl is "capable" of complex programming tasks. I just think other languages are more suitable when things go beyond small scripts, and unless you are language-phobic, why not learn a bunch of them and use the best one for the task?

    7. Re:some recommendations by domc · · Score: 1

      First of all, get off your high horse. Secondly, don't put words in my mouth. Thirdly, piss-off.

      domc

    8. Re:some recommendations by crucini · · Score: 3, Insightful
      For Perl, I wouldn't bother with any kind of reference. Just find scripts that roughly do what you want and hack them; it's blind groping around, but that's the way Perl works. If you can't get it to work that way, you probably should be writing in something else other than Perl.
      That technique works when first getting your feet wet with Perl or when writing throwaway scripts. If you copy and hack up high quality code, you'll learn good habits. Randal Schwartz and Tom Christiansen are good. Code worth copying has 'use strict;' and usually has warnings enabled (-w). And if your interest in Perl ends with quick, hacked-up scripts, nobody will complain. But just because you learned to play "Happy Birthday" on the piano, don't assume you've exhausted the capabilities of the instrument.
      If you want to advance further, I recommend reading comp.lang.perl.misc for a few months. You'll go from being happy that there's a way to accomplish X through awareness of the many ways to accomplish X to a feel for the best way to accomplish X in a given situation. When I was going through this phase, a single post on clpm could send me on an all-night hacking, reading and learning session.
      The only Perl book I can wholeheartedly recommend is Damian Conway's Object Oriented Perl, which I love despite my lack of OO religion.
      Most people coming to computers and computer programming wrongly think that objects are either the best, or even the only, way to build abstractions.
      Yes. There is a tendency for OO advocates to rewrite history and essentially claim that code was a disorganized mess before the advent of OO, or alternately taht all previous coding paradigms were simply OO by another name. In fact, most useful code in the real world is procedural C, using functions and data structures as the key abstractions.
      Perl is agnostic about OO - the facilities are unobtrusively present. But it's easy to write C-style procedural code in Perl. And the grep, map, and sort functions support functional programming.
    9. Re:some recommendations by icoloma · · Score: 1

      > For Java, a smart person with a little computer background should be able to figure it out from the language definition.

      Bullshit, no offence intended. In any language, pretending that you can see the syntax and infere the rest of the knowledge demonstrates lack of knowledge.

      Imagine I have knowledge on C and C++, and lots of computer background. Now let me know how does that show me how to organize my application to achieve scalability, how to improve memory use (since there is no garbage collector on C), how to use reflection or which is the best Collection model to use. A quite _big_ API to try to learn "looking the language definition".

      And the trails online from sun don't address but two of these topics, and partially. If you try to learn Java this way (or bash, fwiw) you won't achieve great level of knowledge

    10. Re:some recommendations by joto · · Score: 2
      For Perl, I wouldn't bother with any kind of reference. Just find scripts that roughly do what you want and hack them; it's blind groping around, but that's the way Perl works.

      And people are wondering why Perl code is read-only? Well, if you never take the time to learn the language, use constructs you don't understand, and rely solely on cookbook approaches instead of understanding and thinking, that is going to be the result.

      I am certainly not a Perl bigot (well, I guess I am a SML bigot if I had to be called a bigot), but have used Perl for many really small tasks (i.e less than 10 lines), and at least one semi-large (ca 6000 lines of parser and code-generator). And I will tell you, in both cases (the large project as well), Perl was the perfect language for the job. And if you insist upon slapping things together, just because it is Perl, you loose the benefit of knowing how to slap something good together really fast, and actually maintenable, because that's where Perl shines.

      I find it quite curious that people in the SML community think they have the perfect module system (while in reality it's just too complex for most people to exploit). And people in the scheme community can't even agree on a module system. And that the language most frowned upon in both camps (Perl), has a module-system that works so well that CPAN is actually useful.

      You have to be pragmatic about when to use Perl. But if you haven't learned it, you can't be that.

  37. The only good book you need by Laplace · · Score: 0, Flamebait

    is the bible.

    We're all sinners.

    --
    The middle mind speaks!
  38. http://www.canonicaltomes.org/ by Clover_Kicker · · Score: 5, Interesting

    Check out http://www.canonicaltomes.org/, people have entered and voted on the "best" books in a variety of categories.

    1. Re:http://www.canonicaltomes.org/ by rnturn · · Score: 2

      Interesting site. You might want to update your bookmarks. The posted URL doesn't resolve. It's apparently moved to reactor-core.org. Just don't go there with an older version of Mozilla (I've never seen a web page make a browser actually display portions of a page outside the browser window before :-) ). Konquerer works alright (mostly) but, oddly enough, the oldest browser on my system (Netscape 4.76) works the best. Go figure.

      And... I didn't see much there that might interest a developer. Unless you're interested in reading about how to write a buffer overflow.

      --
      CUR ALLOC 20195.....5804M
  39. list by Twister002 · · Score: 4, Informative

    Sorry if I'm too lazy to look up any links or authors.

    Thinking in C++/Java

    Algorithms in C, the whole series.

    Design Patterns by Erich Gamma, Richard Helm,Ralph Johnson, and John Vlissides.

    Hidden Order: How Adaptation Builds Complexity and Induction : Processes of Inference, Learning, and Discovery both by John Holland - father(?) of the genetic algorithm - not necessarily computer books, but they do provide a different perspective on how you can write software to do thing.


    The Art of Computer Programming, Volumes 1-3 by Donald E. Knuth

    --
    "For a successful technology, honesty must take precedence over public relations for nature cannot be fooled." -Feynman
    1. Re:list by eddy · · Score: 2

      I haven't read Hidden Order, but I've read Emergence, and I really do not think that Holland is a good writer. This isn't a book one must buy, this is more like a book one maybe lends at a library.

      My overall feeling after reading it was that I might as well have gone straight for the papers.

      Again, Hidden Order might be a better work.

      --
      Belief is the currency of delusion.
    2. Re:list by danpbrowning · · Score: 2

      I just got done reading Knuth's 1965 Algorithms book. It was hilarious! However, even though all of it was in Assembly, some of the math algorithms are applicable today.

      --
      Daniel
  40. ! Extreme Programming Explained by ergo98 · · Score: 2, Insightful

    This is a tremendous waste of money at $45 CDN ($29.95 US). Firstly, it's lacking gross content at a measly 165 pages of large print pages (for $45 that is already criminal). More importantly, however, the content that is there could easily have been condensed to a two page article (I say this with complete sincerity): The author clearly strung along simple statements for long periods of time to convey the idea of foundation for some pretty dubious assertions.

    While I've always found XP to be pretty sketchy to begin with (indeed this book further convinced me of that: This book actually claims that each of its revolutionary new ideas can't be measured alone, but rather have to be all performed in parallel, whereby they'll have an amazing cross-product effect and you'll get multiples of the effects of each piece individually. I couldn't help but thinking of snake oil salesmen: "You didn't have the best luvin' ever? Well you muster forgot to take it while facin' to the East!"

    The only way I could even imagine recommending this book is if the same copy is going to be shared among a very large team, but otherwise save you're money. It's shameful to think that this book that literally could have been hashed together on the weekend is seling for the same price that a game that a team worked on for a couple of years.

    1. Re:! Extreme Programming Explained by matt_pattison · · Score: 2, Informative

      a few points:

      * The quality of a book is not directly proportional to it's thickness/weight/# of pages.

      * the idea that productivity increases emerge from the interaction of a number of different practices, and not one single "silver bullet" sounds like common sense to me, not snake oil.

      * The ideas behind XP Explained were not hashed together on the weekend, they came out of years of experience in smalltalk projects, culminating in the C3 project at Chrysler. Even if you don't agree with XP you have to accept that a hell of a lot more work went into the genesis of the book than say your average "Windows XP Unleashed in 21 days (for dummies)".

      * you compare a seminal book in the software engineering/methodology field (regardless of whether you agree with it) unfavourably with a computer game? Huh? I like computer games, but there's a hell of a lot of trash that gets pumped out in that industry. Not a very good comparison in my opinion.

      With all due respect ergo98 you sound fairly uninformed. I don't really understand why this post was moderated up as informative.

    2. Re:! Extreme Programming Explained by ergo98 · · Score: 1

      The quality of a book is not directly proportional to it's thickness/weight/# of pages.....With all due respect ergo98 you sound fairly uninformed

      Oh give me a break. Firstly, it is a personal review, and saying that I am "uninformed" about my own opinion of a book hints of stunning arrogance. Secondly, the size of a book conveys the amount of information, and backing of said information, that a technical tome has: If a "Advanced C++" book were 80 pages of large print, there is a very good foundation to say that perhaps it's a tad incomplete.

      the idea that productivity increases emerge from the interaction of a number of different practices, and not one single "silver bullet" sounds like common sense to me, not snake oil.

      What absolutely ridiculous nonsense. Each of the various factors proposed in Extreme Programming Explained are completely independant ideas: Pair program, build the tests first, go by the seat of your pants, refactor-> Many first use one or more of these as a basic factor of software development. The idea that these functionally separate philosophies come together to form some new paradigm is ridiculous, and the book proposes that even if you're 80% of the way to incorporating XP, you still might not see the benefits because the last 20% is what'll push you over the top: That is the nonsense of cultists, and people who want to sell a whole series of books describing what could be thoroughly described on a one page website.

      The ideas behind XP Explained were not hashed together on the weekend, they came out of years of experience in smalltalk projects, culminating in the C3 project at Chrysler

      The ideas behind XP Explained isn't some clever new paradigm developed at Chrysler: These are things that small, dynamic shops have been doing since the beginning of software development (about the only, and most critized and dubious, claim of XP that could be considered unique is pair programming, however the foundation for that sounds like someone should re-read Peopleware). I appreciate that it's been given a name (though most advocates have taken to call it "Agile Development" instead, somewhat embarrased about the "Extreme" title), but this is not some amazing new paradigm breakthorugh some someone independantly developed and is unleashing to the world: It's basic observations.

      you compare a seminal book in the software engineering/methodology field (regardless of whether you agree with it) unfavourably with a computer game? Huh? I like computer games, but there's a hell of a lot of trash that gets pumped out in that industry. Not a very good comparison in my opinion.

      My comparison was specifically to the amount of work that went into the product versus the amount of reward (the costXcopies) that they derive from it. This book I know has sold in the hundreds of thousands of copies, yet I will say it again: It literally could have been put together on the weekend (versus games that sell similar numbers of copies at a similar price, yet take years of work for teams): There are virtually no empirical studies or statistical analysis to back up the claims of the book (because such would be work), but rather it's just someone meandering on, rather verbosely, about some trivially easy to comprehend beliefs of software development. Maybe I just don't understand XP, and it'll all come together in some Voltron like magnification system that'll make me understand it 500x more if I pony up $30 US each for all the other books in his series (he hints at those books in this book as well...keep the $ coming kids!).

      If this book were $9.99, perhaps I would think "Huh, pretty empty but as an opinion piece of some guy's take on software development it was fascinating", but at $30 ($45 Canadian) it's just an outrage. I came to the conclusion many years ago that many books that line the bookstore are vacuous, useless money grabs, so normally this would have been heaped in the reject pile at a cursory glance, however I made the mistake of ordering it online sight unseen: That is a mistake I will not make again (at least not without considerable reviews indicating that it's worthy).

    3. Re:! Extreme Programming Explained by crucini · · Score: 2

      These Extreme Programmers certainly managed to hit your hot buttons. I've skimmed them in the store, and never really formed an opinion. You may have pushed me over the edge. But in fairness, consider the other side.
      The only people I know who are implementing XP are at large, rigid, "software engineering" places. In such places, it's useless for employees to point out the obvious - "You're crippling us with red tape, UML diagrams, QA, specification, process. Just back off and we'll write the code." But XP puts a respectable and trendy cover on these obvious complaints, and makes them more palatable to management.
      My favorite XP tidbit: one of the books (perhaps the one you bought) has a section at the back that tries to describe some kind of OO epiphany. The book was written as one Frame file per chapter, and the authors collaborated remotely. The author needed a way to mail his colleagues only the files that he had changed. Since he was obviously the first person in the Universe to face this problem, he worked out an Object-Oriented design including IIRC classes for File and Directory. Much of the work was necessitated by the weakness of his chosen langauge (smalltalk) at filesystem interaction. At this point the OO epiphany, which I've forgotten, occurred. It's good to know that you can become a programming guru without discovering CVS or find(1).

    4. Re:! Extreme Programming Explained by ergo98 · · Score: 1

      In truth, I'm not really pro or con XP, and I can see how components could be advantageous in certain situations. For instance, exactly as you mentioned large companies often have very strict processes because people respect that which is encapsulated in a methodology, so by calling these less activities "XP" it's legitimized it. Now someone can legitimately compare "XP versus 12207" rather than "12207 versus unorganized chaos!".

      My particular gripe with this book I brought forth only because I just happened to just finish it (in two short train ride commutes to work) and it happened to be sitting beside my desk when this request for book suggestions came up. Again, my real issue with this book is that the content is so trivial that it could have been condensed ot a hyphenated list covering a page, and two that there isn't the effort to study actual scenarios and derive metrics to support the suppositions (which, when we buy a fact book, is largely what we should be paying for). Paying $45 Canadian for a very brief, softcover, cuff of the pants "the way I see it is..." book just hit me the wrong way, and truly was something that I see as nothing more than a money grab capitalizing on an industry grasping for salvations.

  41. Horowitz and Hill: The Art of Electronics by agotterba · · Score: 1

    Horowitz and Hill's The Art of Electronics Is a wonderful review of basic EE concepts, from circuit design to device physics. Though it moves pretty quickly, and therefore might not provide the best introduction to the range of subjects it covers, I have found it an invaluable reference for those things that you learned a while back but can't quite recall. Doesn't get as detailed as a book on a more focused subject would either, but usually tells you enough to acomplish what you're trying to do. Detailed index; can look up that one equation you need, and be done.

  42. Patterson & Hennesey by warrior · · Score: 1

    Computer Architecture: A Quantitive Approach. THE book for computer architecture, the latest version even includes Itanium (too bad he didn't wait to give his review of the arch til McKinley came out).

    --
    Intel transfer the difficult from Hadware to software, for get more power, programmer need more technology. -- chinaitn
    1. Re:Patterson & Hennesey by krane · · Score: 1

      Haven't read this particular one, but 'Computer Orginisation and Design' by these guys is worth a look, too.

      They tend to start with the obvious, simple or initial ways of doing things, then build along clear principles to get to where the more complex stuff is.

      A good study of that fraught region where the hardware and software meet, with particular emphasis on MIPS architecture and RISC design (but with online extra bits that go into more detail about other chip designs).

      Managed to make some information adhere to my brain despite my awful study habits.

      --
      -- It sucks to be a pilot in the bonus wave.
  43. Knuth's "The Art of Computer Programming" by prospective_user · · Score: 4, Informative

    I have no doubt that if you want to have a more theoretical background on many subjects regarding Computer Science, you have to read (or, at least, take a glance at) Knuth's The Art of Computer Programming.

    His books give an excellent introduction to many subjects, including many of the hardest problems in Computer Science. The first volume of his "The Art of Computer Programming" gives a very concise and comprehensive review of Mathematics needed for the remaining volumes. You might even learn about mathematical objects you never heard of (if you don't have higher education in Mathematics).

    If you need something ligther on the Mathematics needed for Computer Science, then you might want to read his "Concrete Mathematics". Quite a beatiful book (typographically speaking), with an outstanding expostion of some advanced topics in Mathmematics neede for Computer Science and also quite funny to read.

    I should also mention that his books are also a prime example of how someone should write a book. His books, while mostly technical, show a clear style of writing, direct and also entertaining, while discussing deep subjects.

    The "problem" with Knuth's books are that they are intended for serious readers. You know if you are serious if you can read the first pages of his first volume. :-)

    Another book that I would recommend is Andrew Tanenbaum's "Modern Operating Systems" (which is a bit more practical than Knuth's books) gives an overview of the structure of some common Operating Systems, including DOS and Unix.

    I could give you many other recommendations, but you'd have to specify if the other recommendations that you want are more practical or more theoretical.

    I hope this helps.

    1. Re:Knuth's "The Art of Computer Programming" by Anonymous Coward · · Score: 0

      Andrew Tanenbaum is an excellent author. I read his introductory book about networking and thought it was very easy to read.

    2. Re:Knuth's "The Art of Computer Programming" by Anonymous Coward · · Score: 0, Interesting

      While Knuth's work is very good, I feel it is somewhat overrated. Its thoroughness impacts on its readability, and there are topics I feel are almost entirely useless for most readers (such as a dozen or so statistical checks for PRNGs and fast multiplication using FFT), which would probably be better served by reading papers. The description of algorithms in terms of CISC assembly is also very disappointing.

      Having said that, I do like Knuth, but if someone's asking "What algorithms book should I buy?", it's almost certainly not the answer. TAOCP is probably the third algorithms book I'd recommend, after Sedgewick's Algorithms in blah and Cormen, Leiserson and Rivest's Introduction to Algorithms.

      I was surprised that Sedgewick's book hasn't had much recommendation, so I'll praise it a bit here. It's very readable (but not "dumbed down"), and covers a lot of practical and commonly used algorithms and data structures. It strikes a nice balance between theory and practice. And you can read it cover-to-cover in a sensible timescale.

      Oh, and if you're really into this stuff, go read papers. There's a whole bunch of stuff beyond what's in the current books, much of it pretty accessible.

  44. Well, my favourite semenal book must be... by MrSeb · · Score: 1

    the Playboy collection from 1958... damn, when the girls were *pretty*, not stick thin.

    1. Re:Well, my favourite semenal book must be... by Anonymous Coward · · Score: 0

      I think the word you're looking for is fat.

      That's alright, someone has to love the fat ones.

    2. Re:Well, my favourite semenal book must be... by Anonymous Coward · · Score: 0

      now we all know how shriveled your ol' balls must be

    3. Re:Well, my favourite semenal book must be... by Anonymous Coward · · Score: 0

      I think the word you're looking for is fat.

      That's alright, someone has to love the fat ones.


      I think God has that part covered.

  45. Books: by Alex+Belits · · Score: 3, Informative

    1. K&R, The C Programming Language, 2nd ed.
    2. R. Stevens, Unix Network Programming, 2nd ed.

    After that one should decide what to choose. If it's C++:

    B. Stroustrup, The C++ Programming language

    After that people usually can find their way around books on their own.

    --
    Contrary to the popular belief, there indeed is no God.
    1. Re:Books: by Jay+Carlson · · Score: 2

      Let me second #1. K&R2 is one of the best "my language" books ever written. You need a copy if you don't have it.

      I have a special place in my heart for "Smalltalk-80: The Language And Its Implementation.". When I first encountered it in 1989 or so, it changed how I thought about programming. Now that object-oriented programming is part of the ambient, I don't think it would be so startling, but it's interesting to see where it came from.

      These days, you can only get "Smalltalk-80: The Language" which cuts out the last bit, which describes how the language was actually implemented on the hardware available as of 1983. I suppose it's not that relevant to see the bytecode used on the Alto when there are systems like Squeak around that are both portable and quite performant on commodity x86 hardware, but I still find the details of how to implement on 1983 hardware interesting.

    2. Re:Books: by Jeremy+Erwin · · Score: 2

      I found "C++ Primer" by Lippman and Lajoie to be far more readable than Stroustrup-- although I use both.

      C++ textbooks are notorious for inculcating bad habits in beginning programmers. Of course, some of that stems from lack of exposure to the standard C++ libraries.

      My biggest pet peeve: "using namespace std;" is not a magical incantation to be placed in every C++ file. Fine grain control of namespaces is something that C++ students should learn-- collisions are the cause of many a bug.

    3. Re:Books: by Anonymous Coward · · Score: 0

      You have got to be f#&king kidding me! That Stroustrup book is the worst programing book I own.

    4. Re:Books: by joto · · Score: 2
      My biggest pet peeve: "using namespace std;"

      I've noticed a lot of C++ heads saying this. But in practice, it is often the best solution. Often you want to use other compilers than the latest and greates gcc, or something based on EDG's frontend. And often you have 10 year old code that you want to continue using without changing everything. (At least we have, we can't even compile it using recent compilers, but it's definitely on the to-do list, because the workarounds for missing new features are really starting to bite us in the ass (and the availability of old enough compilers on new Sun hardware is also starting to make things difficult)).

      Secondly, I've never heard about a case where "using namespace std;" has really created more problems than it "solved". I guess I agree in principle, but in practice, it just makes life too fucking difficult, we have some real problems to solve as well, and can't constantly keep bickering with the everchanging C++ recommendations.

      Sometimes it pays off to be a little bit pragmatic, and collisition with stuff in namespace "std" are really rare (anyone designing a C++ library knows better than to name something global "read", "cout", "vector", or "remove_duplicates". And if that wasn't the case, and we had to use the library anyway, we would know better than to import that library's namespace into the global one. But if even that wasn't true, we might get into trouble. At this end of the probability scale I worry more about proper error checking/handling of system calls, thread synchronization, signal handling, interprocess communication and networking, etc.

      On the other hand, if you are writing new C++ libraries, there is no excuse for not managing your namespace properly.

    5. Re:Books: by Alex+Belits · · Score: 3, Insightful

      You have got to be f#&king kidding me! That Stroustrup book is the worst programing book I own.

      It's not the book, it's the author -- that book and C++ design show that Stroustrup has pretty poor understanding of the design and philosophy of C. The problem is, C++ is still the most usable general-purpose OO language, and Stroustrup's confusion and his part of C++ dual philosophy are still reflected in it, so the book is still good for studying.

      --
      Contrary to the popular belief, there indeed is no God.
    6. Re:Books: by Jeremy+Erwin · · Score: 2

      Secondly, I've never heard about a case where "using namespace std;" has really created more problems than it "solved". I guess I agree in principle, but in practice, it just makes life too fucking difficult, we have some real problems to solve as well, and can't constantly keep bickering with the everchanging C++ recommendations.


      vector means one thing in math and 3d graphics, and another thing in standard C++.

      I've recently run into (on a mailing list) a collision related to "dec". I'm not exactly sure, but I think both functions were used to format numerics for use in io. The old dec seems to have a different syntax.

      Possibly, "using namespace std" is "dangerous" because it promotes laziness.

    7. Re:Books: by Anonymous Coward · · Score: 0
      You do realise Bjarne Stroustrup created C++. Early in C++ history his book was what K&R's book was to C--the definitive guide.

      Of course when your that close to development you often don't realize what it is like for a newcomer to start learning a language. And this is probally where both Stroustrup and the K&R book are not that good for beginners. It is rare that the creator of something is a good writer at explaining it to those starting out.

      Stroustrup's The Design and Evolution of C++ is a wonderful book for anyone who has taken a compiler design class and is interested in many of the details of making a language work.

  46. What book could be better to reccomend by SuperKendall · · Score: 3, Informative

    under the circumstances, than "SQL For Smarties"? ;-)

    No joke, it really is a good book!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:What book could be better to reccomend by claes · · Score: 2

      I agree, I have been reading this book this very week and it combines theoretical discussions about set theory combined with how to use sql to get the information you want. Great book when you have learned the basic "select from order by" statements. Actually, "SQL for Dummies" together with "SQL for Smarties" is an excellent combination. This dummies book is much more intelligent than it may appear.

  47. Linux for Smart People by xanthan · · Score: 1

    Since you didn't specify that the smart people have to be geeks, I thought I'd share Linux Administration: A Beginners Guide. It's a good sysadmin book for people who aren't Dummies and is especially good for Windows sysadmins who want to move over to The Force. It actually gives the dirt on effective use of the CLI, compiling your own servers, and other useful sysadmin tasks. What really impressed me was the fact that even though the book was published in early 2001 (January I think), it is still easy to apply the knowledge to current versions of everything since the author actually bothers to explain the underlying protocols and build processes that have applied since ./configure has been around.

    Anyway, highly recommended.

  48. C++ In depth series by eddy · · Score: 3, Informative

    For everything (well, almost) C++, you need the C++ in depth series. Get it, it's a great package.

    Contains More Exceptional C++, Exceptional C++, Essential C++, Accelerated C++ and Modern C++ Design.

    Accelerated C++ is the best book teaching C++ from the ground up that I have ever seen. It's worth getting and reading even if you think you already know the basics. Really.

    --
    Belief is the currency of delusion.
    1. Re:C++ In depth series by Anonymous Coward · · Score: 0
      Accelerated C++ is the best book teaching C++ from the ground up that I have ever seen.
      I agree 100%. This is a must read for people who know the syntax of C++ but want to put it together to program with all the power that C++ gives you. It is a particularly good books for C programmers who know C++ but who don't know how to shake using C idiom and techniques. Read it from front to back. It is not at all dense, yet it is very rich. It takes an approach very different than most other texts. It teaches C++ the way Bjarne Stroustrup himself has long advocated but which few texts provide.

      It's worth getting and reading even even if you think you already know C++.

  49. I would have to recommend by BaShildy · · Score: 0, Offtopic

    Under the Bleachers
    by: C. Moore Butts

    Another good one is:
    The Yellow Stream
    by: I. Pee Freely

    Also:
    The White Ocean
    by: Kneed Moore Lotion

    You can't go wrong with:
    The Crooked Mile
    by: Ben D. Dick

    Or:
    Cherry Picking
    by: Brooke N. Heiman

    Coincidentally most of my favorite authors are named Mike:

    A Bridge Too Far
    by: Mike Hawk

    Dead in the Water
    by: Mike A'daber

    Training Your Dog
    by: Mike Hunt

    Up the Flag Pole
    by: Mike Rotch

    And Finally the Modern Classic:
    The Giver
    by: Bob Goatse

    And his Biography:
    Meet Bob Goatse
    by: Rip N. Torn

  50. Code Complete! by sphix42 · · Score: 4, Insightful

    Code Complete and Rapid Development are the kinds of books I find most useful. I don't like any books that are specific to a language. These two are fantastic resources for learning how to program better, not how to write in a particular language.

    1. Re:Code Complete! by bovril · · Score: 1

      By a strange coincidence, these 2 titles are available as a bundle from Amazon for only $49 (or separately for $24.50 each). Amazon sure knows how to strike a bargain...

      --

      ---
      Yeah, well, that's just, like, your opinion, man.
  51. All You Need Is... by Anonymous Coward · · Score: 0

    If your a begginer, "x For Dummies". If you actually want to learn a topic inside out 10x, by the O'Riely and Wrox Press book on the subject. Read both cover to cover and do all the exercises (often overlooked). After you have done this and taken several Rent-A-Coder jobs, you'll be ready for most anything.

    Now, as for learning Linux. I would (assuming your on Windoze), download Mandrake Linux, install it, then start toying around with it. Several years ago thats what I did, and now know Linux very well.

  52. Richard Stevens books by Chemical+Serenity · · Score: 4, Informative

    Specifically Unix Network Programming (vols 1 + 2) and Advanced Programming in the Unix Environment. Basically the holy bibles of all things unix-programish.

    Aside from that, same as what others have mentioned... Applied Cryptography, Unix System Administration, Practical Unix & Internet security...

    Oh yeah, "The Complete Canadian Small Business Guide" has come in handy in many instances indirectly related to programming... ;)

    --
    "People will pay big bucks for the luxury of ignorance."
    1. Re:Richard Stevens books by DevNull+Ogre · · Score: 1

      Absolutely. I was suprised I had to scroll so far for a post recommending Stevens. The man was an expository genius.

      I especially enjoyed the second chapter of the first Unix Network Programming book. It's dated, but it's a wonderful overview of how Unix works.

      I highly recommend books by W. Richard Stevens.

    2. Re:Richard Stevens books by Anonymous Coward · · Score: 0

      The weird thing about Richard Stevens is the bizarre nature of his death. I've yet to find a definitive answer but at Usenix and BSDCon several people familiar with the the case independently corroborated the rumors about autoerotic asphixyation as the cause of death. However, those who have the definitive answer are NOT talking. It was completed hushed up, a cover-up if you will. It is so strange that such a brilliant man would suffer such an ignominious death.

    3. Re:Richard Stevens books by Anonymous Coward · · Score: 0
      Oh yeah, "The Complete Canadian Small Business Guide" has come in handy ;)
      Here's a thumbnail summary: Send 90% of your gross receipts to Ottawa.

      No need to buy the book ...

    4. Re:Richard Stevens books by Chemical+Serenity · · Score: 2

      Yeah, but you need the rest of the book to help cushion the blow before you come to the inevitable conclusion that you're an indentured servant of a mealy mouthed schmuck who'd rather twin 6000+km of perfectly good highway than fix the problems with health care, schools, the military or any of the other actually important things in the country.

      If you didn't have the book to brainwa^H^H^H^H^H^H^Hcarefull explain why things are the way they are, you might feel like you were being treated unfairly, and noone wants to feel THAT way. ;)

      Seriously though, it's a good book. If you're not a suit-and-tie geek with your feet nailed to the floor under your desk at the office, it can be a useful reference.

      --
      "People will pay big bucks for the luxury of ignorance."
  53. Code Complete, for new programmers by willis · · Score: 2
    Once people have learnt a bit of code, and are starting to deal with the troubles of working with large projects, documenting, and getting their head around what consitutes decent code... I'd recommend Code Complete from the Microsoft Press. Say what you will about their software, but MS hardware, and some MS books are quite nice. In this one, Steve McConnell gives newbies many tips he's learned over the years. It doesn't have much to do with OO (, and the languages are old, but many of the ideas provide a good founding for the process of development.

    --

    there is no thing
    what else could you want?
  54. A few classic works by KidIcarus · · Score: 1

    You didn't say which technical topics, but here are some of the classic works that I've read and would recommend, in no particular order:

    The C Programming Language - Kernighan & Ritchie

    The C++ Programming Language - Bjarne Stroustrup

    Advanced Programming in the Unix Environment - W. Richard Stevens

    Operating Systems: Design and Implementation - Andrew Tanenbaum

    Compilers: Principles, Techniques, and Tools - Aho, Sethi, and Ullman

    Introduction to Algorithms - Thomas H. Cormen, et al.

    Structure and Interpretation of Computer Programs - Harold Abelson, et al.

    OpenGL Programming Guide - Opengl Architecture Review Board

    1. Re:A few classic works by Anonymous Coward · · Score: 0

      Introduction to Algorithms is an excelent book, with a good CS background that I can't find in other algorithms books (for example the chapters about sorting has an extensive analisis of the running time, and the introduction to graph algorithms is very clear).

      Also add to this list:
      UNIX Network Programming Volume 1 - Stevens

      This is a very complete book with a lot of examples and explanations on diferent Unix platforms (BSD based like: Linux, and SysV based like Solaris), and also covers IPv6 and tells how to make programs that supports IPv4 and IPv6.

      And
      Desing Patterns, Gamma et. al. (the famous GoF)
      This is a "must have" if you want to learn object oriented desing.

  55. Four sweet little letters... by Succa · · Score: 4, Informative

    SICP.

    (Structure and Interpretation of Computer Programs, a fine book that'll teach you more about programming than should be allowed by law)

    1. Re:Four sweet little letters... by Anonymous Coward · · Score: 1, Informative

      Yep! This is the book, the Bible of computer science. It's about time someone mentioned it! Structure and Interpretation is one of those books that most readers either love or make fun of depending on predisposition of character. Well, as Jusus said somewhere "it's given for some people to fathom the mysteries of the Kingdom, while others are just jerks!".

      The Little Schemer books, by Friedman and Felleisen, are an entertaining aside to go along with SICP. GEB("Godel Escher,Bach") by Hofstadter isn't bad either and Flake's "Computational Beauty of Nature" is fits right in too.

    2. Re:Four sweet little letters... by Succa · · Score: 2

      I choose to believe that those who mock it simply cannot comprehend its beauty. I'm finishing my CS degree in 5 days, and that book has taught me more than most of my courses combined. A thorough reading of SICP (and doing the problems too) is probably better training than most undergraduate CS degrees.

    3. Re:Four sweet little letters... by dr_l0v3 · · Score: 1
      I second that. I first read this after programming commercially for 10 years. I found it hard going (and its a book for undergrads!) but , absolutely, without doubt the most rewarding book on computer science that I have ever read.

      Design patterns, extreme programming, learning language X are all very good but SICP is on a whole different level.

    4. Re:Four sweet little letters... by jasoegaard · · Score: 1

      It is a classic. So classic that it has an entry in the jargon file:

      Wizard Book n.

      "Structure and Interpretation of Computer Programs" (Hal Abelson, Jerry Sussman and Julie Sussman; MIT Press, 1984, 1996; ISBN 0-262-01153-0), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. Now available on the http://mitpress.mit.edu/sicp/full-text/book/book.h tml

      Note: SICP is pronounced: "Sick pee".

      --
      -- A Mathematician is a machine for turning coffee into theorems. - Paul Erdös
    5. Re:Four sweet little letters... by jasoegaard · · Score: 1

      Sussman have written another delightful book (this time with Jack Wisdom) it is called
      Structure and Interpretation of Classical Mechanics. It uses computer programs to describe physical phenomena. Very interesting.

      This book is also online:

      http://mitpress.mit.edu/SICM/

      Note: Amazon has a discount if you buy SICM and SICP together.

      --
      Jens Axel Søgaard

      --
      -- A Mathematician is a machine for turning coffee into theorems. - Paul Erdös
    6. Re:Four sweet little letters... by Anonymous Coward · · Score: 0

      Hey buddy, I see you all over the web... c.l.s., plt-scheme, etc. funny, I think we frequent the same places :-)

  56. More C++ suggestions by Anonymous+Brave+Guy · · Score: 4, Informative

    A decent list of C++ books is in this newsgroup posting.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  57. Here are some for you.. by Axe · · Score: 4, Funny
    King Wen & Duke Chou: The I Ching
    Zoroaster: The Avesta
    Lucretius: On the Nature of Reality
    Marcus Aurelius: Meditations
    Immanuel Kant: Critique of Pure Reason
    Albert Einstein: Relativity

    Then, more specific for developers:
    The Lord of the Rings. (doh)
    Hitchhiker's guide to the Galaxy.
    How to date a woman.
    ..and
    Definitive guide to mental and sexual masturbation.
    ..by me. ;-)

    --
    <^>_<(ô ô)>_<^>
    1. Re:Here are some for you.. by davebob · · Score: 3, Funny

      I would personally recommend anything by Franz Kafka. That would prepare you for dealing with management.

    2. Re:Here are some for you.. by Inthewire · · Score: 0

      I actually own a book ( _Amerika_ ) that says "Kafka's first and funniest novel" on the back cover.

      --


      Writers imply. Readers infer.
    3. Re:Here are some for you.. by ericman31 · · Score: 1

      You forgot Stranger in a Strange Land!

      --
      In my universe I'm perfectly normal, it's not my fault you don't live in my universe.
  58. Re:"Editors Are Censoring Nazis" is a very good bo by Anonymous Coward · · Score: 0


    shut the fuck up. you are going to spoil it for everyone.

    slap first post in the subject line and NOBODY will read it, no matter what follows. we have been using slashdot to pass messages since the karma system was introduced. and NOBODY has noticed a thing.

    so lay off or I will have someone fly a 737 into your house.

    Osama

  59. A brief list by moebius_4d · · Score: 5, Informative

    Aho, et. al. "Compilers"
    Alexandrescu, "Modern C++ Design"
    Bentley, "Programming Pearls", 2nd ed.
    Brown, et. al. "Antipatterns"
    Cooper, "About Face: The Essentials of User Interface Design"
    Fowler, "Refactoring"
    Gamma, et. al. "Design Patterns"
    Hanson, "C Interfaces and Implementations"
    Johns & Lins, "Garbage Collection"
    Josuttis, "The C++ Standard Library"
    Kernighan & Pike, "The Practice of Programming"
    Kernighan & Ritchie, "The C Programming Language" 2nd ed.
    Knuth, "The Art of Computer Programming" vol 1-3
    Meyers, "Effective C++"
    Meyers, "More Effective C++"
    Meyers, "Effective STL"
    McConnell, "Code Complete"
    McConnell, "Rapid Development"
    Plauger, "The Standard C Library"
    Stroustrup, "The C++ Programming Language"
    Stroustrup, "The Design and Evolution of C++"

    For specific topics:
    Foley, et. al. "Computer Graphics"
    Kernighan & Pike, "The Unix Programming Environment"
    Schneier, "Applied Cryptography"
    Stevens, "Unix Network Programming"
    Stevens, "Advanced Programming in the Unix Environment"
    Also the Graphics Gems and Game Programming Gems series are superb. Maybe my list makes me old-school, but I like to understand what is happening from the use case all the way down to the register allocation algorithm. Of course, I can't always do that.

    I don't mention any Java books because they get outdated so fast. The language hasn't changed much since 96, but the class library api is in constant flux.

    1. Re:A brief list by (H)elix1 · · Score: 3, Funny

      Schneier, "Applied Cryptography" -- this is a must have if you ever do any type of crypto work, from munging files to hard encryption. Good for those who really want to know what the PKI thing is all about, and then some.

    2. Re:A brief list by mentin · · Score: 1
      Man, you are the only one on the whole topic who mentioned Alan Cooper. And only 2 points :(

      Guys, read all his books, "About Face" as well as "Inmates are Running Asylum".

      Before studing how to write software it is really important to learn what to write. And Cooper's books are the best I've read.

      --
      MSDOS: 20+ years without remote hole in the default install
    3. Re:A brief list by deltavivis · · Score: 2, Insightful

      Bruce Eckel's "Thinking in Java" can be added as a java book.

    4. Re:A brief list by JavaDuke · · Score: 1
      I don't mention any Java books because they get outdated so fast. The language hasn't changed much since 96, but the class library api is in constant flux.

      Too try. I've been doing Java since '96 and have been pretty much disappointed with every Java book I have purchased... except for two.

      The Java Class Libraries, 2nd Edition Volumes 1 and 2. Probably a bit out of date, but there is nothing better at explaining exactly what a class/method/field does. Covers (Vol 1) io, lang, math, net, text, util, (Vol 2) applet, awt, beans. I've dragged theses 3600+ pages to every contracting job I've had and everyone wants to use them. Though the api is in flux, the core hasn't changed too much, which is what this book covers

      And the other one , which is a bit more up to date, Effective Java. Many key points that all (but alas, hardly any) java programmers/developers should know.

    5. Re:A brief list by obsidian+head · · Score: 1

      Solid list. Only three things you left out.

      Structure and Interpretation of Computer Programs
      A Discipline of Programming (by Dijkstra)
      Gödel, Escher, Bach

    6. Re:A brief list by Qubertio · · Score: 1

      One more:

      Harbison & Steele, "C: A Reference Manual."

      K&R's more accessible, but most C-freaks I've dealt with seem to prefer this one as their C reference

    7. Re:A brief list by bmajik · · Score: 3, Informative

      Excellent list. Two domain specific ones i'd add are:

      Expert C Programming: Deep C Secrets

      This is the orange book with a blue fish on the cover. the guy that wrote it worked for Sun on the c-compiler or the kernel (dont recall, honestly).

      This book is hillarious and manages to tackle all the ugliest quirks of C.

      Next (hold your breath)

      Inside Windows 2000, 3rd Edition.

      This was written by the guy that does the Sysinternals website. If you have any NT/2k/XP machines at _all_, this book is like the bible. All the guts of everything in the architecture and implementation of windows 2000 is explained. Want to know what csrss.exe does ? It's in there. Want to know how kernel debug your windows machine ? included on cd. This book lives on my work bookshelf. I answer more questions for people out of it than anything else i have. Everytime i go to the can, i take the book with me and read a little bit more. It's a good read for no other reason than to stop making stuff up when you want something to insult microsoft for :) I'd much rather read well reasoned technical arguments about the shortcomings of W2k than "it sucks d00d" and "BS0D city!". And maybe, just maybe, you might learn something about your quirky w2k box :)

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    8. Re:A brief list by obsidian+head · · Score: 1

      Yup. So few people know about it, but it can often trump the Javadocs, which are more current.

      There's also the updated edition for the Java collections API, very good explanations, but it's not quite as vital.

    9. Re:A brief list by Prof.Phreak · · Score: 1
      "A colleague once told me that the world was full of bad security systems designed by people who read Applied Cryptography" - Bruce Schneier (author of Applied Cryptography).

      Applied Cryptography should be read in addition to Secrets & Lies.

      --

      "If anything can go wrong, it will." - Murphy

    10. Re:A brief list by disappear · · Score: 2
      Kernighan & Pike, "The Unix Programming Environment"

      Absolutely a classic --- but somewhat outdated to use as a real intro to Unix. How many gurus do you know who use ed(1) as their primary editor? Also, based as it is upon stock System 7 Unix, there's nothing about networking, etc.

      BlatantSelfPromotion: May I recommend Think Unix? It's an updated intro to modern Unix, designed to be read by smart people.

    11. Re:A brief list by (H)elix1 · · Score: 1

      True -- for me, reading Applied Cryptography gave me a healthy slice of humble pie.

    12. Re:A brief list by randombit · · Score: 2

      Schneier, "Applied Cryptography" -- this is a must have if you ever do any type of crypto work, from munging files to hard encryption.

      Better (IMO) is Handbook of Applied Cryptography, by Menezes, van Oorschot, and Vanstone. Also Stinson's book (titled Cryptography, Theory and Practice IIRC). AC is an OK-ish book but there really are a lot of errors in it.

      HAC is avaiable online in PDF and PostScript, so there's little excuse not to read it.

  60. Many good but .. by mbrod · · Score: 1

    these I feel lay the best foundation. Time and time again I come back to them -

    C Programming Language (2nd Edition)
    by Brian W. Kernighan, Dennis M. Ritchie

    Mastering Algorithms With C
    by Kyle Loudon

    Programming Perl (3rd Edition)
    by Larry Wall, et al

    Beginning Linux Programming (Linux Programming Series)
    by Neil Matthew, Richard Stones

    C++ Primer (3rd Edition)
    by Stanley B. Lippman, Josee Lajoie

    The C++ Programming Language (Special 3rd Edition)
    by Bjarne Stroustrup

    and any good C++ algorithms book.

  61. The best book ever by Anonymous Coward · · Score: 0

    Absolutely the *best* programming book I have ever found!

    Here is a link to it. It has details on C/C++, complete RFCs, amazing example code, and a huge index!

    The biggest problem is that there is only one copy. I tried to make my own copy, but quickly ran out of toner. When I asked one of the authors if there were any plans to make a second copy, he laughed and said, "Maybe on Mars!". I think he is losing his mind from all the corporations trying to stake a claim in his creative works. He really wants to be available to everyone.

    P.S. Here is a great article on the history behind this imaginative book.

    Learn to use your 104-button mouse. A.K.A. the keyboard.

  62. do you know c++? by Lord+Omlette · · Score: 2

    If not, I strongly recommend Koenig & Moo's Accelerated C++. They write a column for C Users Journal. I knew C++ when I read it, and it completely flipped things around for me.

    Behind the curve on .NET? Still haven't figured out COM? O'Reilly has a book called Learning DCOM by Thai. I used to need it alot, but it might still be useful to ya'll.

    Don't get me wrong. I absolutely HATE Perl. But when I'm forced by circumstance, I use Programming Perl, 3rd Ed. by Wall, Christiansen & Orwant.

    Programming C# by Liberty is the only C# book I've read. I recommend thumbing through it only when you have the .NET docs without mouse's reach.

    Don't known DirectX and learning DirectX 9 isn't a priority? I wholeheartedly recommend Programming Role Playing Games w/ DirectX by Adams.

    There's more. But these are the books I've used most often since January of this year...

    --
    [o]_O
  63. For Oracle PL/SQL by baldass_newbie · · Score: 1

    I know PL/SQL doesn't have the highest regard, but Steven Feurstein's Oracle PL/SQL Programming was one of the best introductions/reference books I've ever read.
    Got you on your feet quick and took you right to guru-ville.

    --
    The opposite of progress is congress
  64. Oh yeah, 2 other books by Anonymous Coward · · Score: 0

    Microserfs
    Tivo HACK Faq

    I think we need a slashdot poll to find out if more people have read K&R or the Tivo Hack FAQ.

  65. Cold Fusion by X_Caffeine · · Score: 1

    I know it isn't a particularly well-respected language, but Cold Fusion is a fantastic introduction to coding for people who don't know much more than HTML. Ben Forta's ColdFusion MX Web Application Construction Kit can't be beat -- Allaire liked Forta's books so much they made him their Senior Product Evangelist. The Forta book also provides a good foundation for learning SQL and relational database design.

    --
    // I will show you fear in a handful of jellybeans.
  66. Some light summer reading! by shooz · · Score: 4, Informative

    Not sure if these are for "the smart" but here are a few books that I've enjoyed. They make for nice easy summer reading -- and ya might learn somethin too!

    The Pragmatic Programmer: From Journeyman to Master -- A excellent guide to help you go from spagetti coder to a professional programmer.

    Programming Pearls (2nd Edition) -- Elegant solutions to interesting problems.

    The Practice of Programming -- Coding style, algorithms, etc.

    Titles that are more meaty would include Code Complete, Design Patterns, Refactoring, Applied Cryptography, Knuth, etc., but I'm sure these will be mentioned ad nauseam.

  67. I remember by Anonymous Coward · · Score: 0

    Jenna Jameson

    How could I forget.

    Sorry honey!

  68. Dummies series by BoneFlower · · Score: 1

    Great books... they rock. Very good basic introduction that is useful to technical and non technical people alike.

  69. "The Frozen Keyboard" by Boris Beizer by dpbsmith · · Score: 2

    "The Frozen Keyboard: Living With Bad Software." Boris Beizer, 1988, Tab books, ISBN 0-0306-3146-1. Out of print, alas. Absolutely wonderful.

  70. Books on Computer Systens failure by linuxislandsucks · · Score: 1

    Actually part of your collection should contain the great set of book son Computer Failures by Mr Glass..

    I have "Computer Failures.com" very good book on what pitfalls should be avoiding in projects..both from the programming/project managment stand point and from the business standpoint

    --
    Don't Tread on OpenSource
  71. Books by Quantum+Singularity · · Score: 1

    If you're willing to fork over the dough the "Bible" series is awesome. They've helped me more than any other books, mostly because they contain everything pertaining to the topic. If you're looking to learn something fast, I use the Visual series from MaranGraphics.

  72. Re:Bertrand Meyer: OOSC2 by Anonymous Coward · · Score: 0

    argh!! No Eiffel please!

  73. Ping by greysky · · Score: 1

    The Story About Ping is a must read for anyone who uses this utility..er..duck...

    1. Re:Ping by IamSorrow · · Score: 1

      Or golf putter...

  74. Languages by Myuu · · Score: 1

    The Pragmatic Program's Guide to Ruby is very good in its approach. It really eases the person into the language.

    The opposite would be something like O'Reilly 3rd Edition of Learning Perl. Brick Wall. It hits the info fast and hard.

    I like the median the "...For Web Professionals" series. I learned PHP faster off that than any web resource or book. Plus they are pretty cheap.

    --

    forget it.
  75. "The Visual Display of Quantitative Information" by dpbsmith · · Score: 4, Informative

    The three Edward R. Tufte books...

    "The Visual Display of Quantitative Information" Graphics Press; ISBN: 0961392142; 2nd edition (May 2001)

    "Envisioning Information" Graphics Press; ISBN: 0961392118; (May 1990)

    "Visual Explanations: Images and Quantities, Evidence and Narrative"; Graphics Press; ISBN: 0961392126; (March 1997)

  76. Re:Bertrand Meyer: OOSC2 by Anonymous Coward · · Score: 0

    Only if you can stand his fascist tone. The guy thinks he is god - he has just collected ideas which was already known. I just can't take his arrogant style. If someone else wrote that book with some "etiquette" it would indeed have been a great book. (It's practical though irrelevant of who wrote it - it supports my other books on that shelf. :)

  77. Depends on the subject by Screaming+Lunatic · · Score: 2
    These are all off the top of my head. So the titles or author names might be slightly off.

    The C++ Programming Language. Bjarne Stroustup

    Computer Graphics: Principles & Practice. Foley, Van Dam, et al

    Modern Operating Systems. Tanenbaum

    Compilers. Aho, Sethi, Ullman

    Artificial Intelligence. Russell, Norvig

    Introduction to Algorithms. Cormen, Leiserson, Rivest.

    Design Patterns. Gamma

    Code Complete. McConnell

    TCP/IP. Comer

    1. Re:Depends on the subject by eddy · · Score: 1

      Artificial Intelligence. Russell, Norvig

      I'm getting this one, but I'm waiting for the next edition which should be out later this year.

      I hope I'll be able to get it for yule as a present for my self, but I've been waiting a long time now.

      --
      Belief is the currency of delusion.
  78. For PHP... by aaronvegh · · Score: 1
    PHP and MySQL Web Development by Luke Welling and Laura Thomson. This is an AMAZING book for learning how to build open source dynamic web apps from scratch. I knew nothing about this stuff before I opened this book. Today I can butter toast with PHP and store it in MySQL. ;-) To me, this is THE book. I love it.

    --
    You can have my one-button mouse when you pry it from my cold, dead fingers.
  79. mod parent down; obvious troll by pgilman · · Score: 1

    mod parent down; obvious troll

    --
    if i'm a grammar nazi, you're an illiteracy nazi.
  80. G�del, Escher Bach - an Eternal Golden Braid by Anonymous Coward · · Score: 0

    A smart book, written by a smart person (Douglas Hofstadter) for smart persons. It's not computer science book. It's basically about intelligence and everything you can possibly connect to that topic.

    It requires some effort to read it, but I assure you; you will look at things differently afterwards. (I know some of his ideas helped indirectly in comp. sci. matters...)

  81. Structure and Interpretation of Computer Programs by Chuan-kai+Lin · · Score: 5, Insightful

    This is the introductory computer programming textbook used at MIT, and had been featured on slashdot here. However it is very different from what you would expect from such kind of books, with Scheme as the implementation language, it really does not teach readers how to code in a specific programming language, but how to program computers in a large variety of paradigms, what are the trade-offs in program design, how to manage complexity, and how the basics of computing works, by stretching the flexibility of the Lisp family of languages to the maximum. I first read it four years ago as a freshman, and it was a real eye opener. And it never ceased to amaze me through all these years, as I continue to discover new insights in the passages.

    You can almost find a full undergrad CS program concentrated in this book, with topics including language design and computing paradigms (object-oriented, functional, imperative, non-deterministic and logic programming, as well as lazy evaluation), operating systems (issues of concurrency), architecture (the design of a register machine), and compiler construction (the reader is asked to build a Scheme compiler in the end). Instead of being filled with buzzwords, here you are shown how the basics of everything works, in ways that you can really understand. Working through this book will teach you concepts that many people with a CS degree had never heard of.

    Hell, if I could only save one CS book when the world comes to an end, this would be the one. And the best part is: you can get the full-text online here at MIT Press. Definitely a must read.

  82. worthless by Anonymous Coward · · Score: 0
    so what the hell am i supposed to do with a bunch of ascii text? what a stupid idea

  83. Writing emacs extensions? by teetam · · Score: 0, Offtopic

    I recently started using Emacs and was blown away. Someone suggested a book called "writing emacs extensions". Any comments on this book? If I get good feedback for this book, I plan to buy it. Thanks.

    --
    All your favorite sites in one place!
  84. Not Computer but... by IamSorrow · · Score: 1

    Concrete Mathematics by Ronald L. Graham, Donald E. Knuth, and Oren Patashnik (Reading, Massachusetts: Addison-Wesley, 1994), xiii+657pp. ISBN 0-201-55802-5
    http://www-cs-faculty.stanford.edu/~knuth/gkp.html
    The following is snipped from a review....
    What is "concrete" math, as opposed to other types of math? The authors explain that the title comes from the blending of CONtinuous and disCRETE math, two branches of math that many seem to like to keep asunder, though each occurs in the foundation of the other. The topics in the book, such as sums, generating functions, and number theory, are actually standard discrete math topics; however, the treatment in this text shows the inherent continuous (read: calculus) undergirding of the topics. Without calculus, generating functions would not have come to mind and their tremendous power could not be put to use in figuring out series.
    The smart-aleck marginal notes notwithstanding, this is a serious math book for those who are willing to dot every i and cross every t. Unlike most math texts (esp. graduate math texts), nothing is omitted along the way. Notation is explained (=very= important), common pitfalls are pointed out (as opposed to the usual way students come across them -- by getting back bleeding exams), and what is important and what is =not= as important are indicated.
    The marginal notes unremarked; some are serious warnings to the reader. For example, in the introduction, one note remarks "I would advise the casual student to stay away from this course." Notes that advise one to skim, and there are a few, should be taken seriously. All the marginal notes come from the TAs who had to help with the text, and thus have a more nitty-gritty understanding of the difficulties students are likely to face. Still, there are plenty of puns and bad jokes to amuse the text-reader for hours: "The empty set is pointless," "But not Imbesselian," and "John .316" made me chuckle, but you have to find them for yourself.
    To someone who has been through the rigors of math grad school, this book is a delight to read; to those who have not, they must keep in mind that this is a serious text and must be prepared to do some real work. Very bright high school students have gotten through this text with little difficulty. I want to note ahead of time - some of the questions in the book are serious research topics. They don't necessarily tell you that when they give you the problem; if you've worked on the problem for a week, you should turn to the answers in the back to check that there really is a solution.
    That said, I would highly recommend this book to math-lovers who want some rigorous math outside of the usual fare. The formulas in here can actually come in handy "in real life", especially if one has to use math a lot.

    1. Re:Not Computer but... by pbury · · Score: 1

      This is a wonderful book indeed.

      I would especially recommend it to anyone who is seriously interested in diving into Knuth's "The Art of Computer Programming". It will prepare you to deal with the math stuff found in TAOCP.

  85. Python recommendations by PeterClark · · Score: 3, Informative

    Two books stand out: "Python: Essential Reference" (2nd edition) for the ins-and-outs of all of Python's built-ins and most of the major modules, and "Python Visual Quick Start Guide," which is sort of like a Python cookbook of the basics, if you're new to it all. These two books have taken care of all my needs.
    :Peter

  86. The obvoius choice in C books by muon1183 · · Score: 1

    The C Programming Language, 2nd Edition, by Kernighan and Ritchie is, in my opinion, the best book ever written on the C language. Every C programmer I know has a copy of the book (and I'm not exaggerating). This book probably has the most information on a programming language packed into the least amount of space. The book is $40 new on Amazon or your other favorite major bookseller.

    --

    There's no sig like SIGSEG
  87. A little off thread... by Anonymous Coward · · Score: 0

    Parallel Port Complete by Jan Axelson.

    It allowed this Mac head to develop a successful parallel port interface to a design of mine at work in a week.

  88. Best graphics books, in my opinion... by Ryu2 · · Score: 2

    My background is in computer graphics, so here are some of my recommendations if you're interested in this specific topic:

    Foley, Feiner, van Dam, Hughes: Computer Graphics, Principles and Practice, second edition (may have a even newer one out...)

    Glassner, Principles of Digital Image Synthesis -- a good all-around reference for rendering, useful as a jumping-off point for more in-depth works.

    Graphics Gems series (up to Volume 5, the last I checked)

    If you're interested in interactive 3-D algorithms (eg, games), 3-D Game Engine Design (forgot the author)

    --
    There's 10 types of people in this world, those who understand binary and those who don't.
    1. Re:Best graphics books, in my opinion... by macrom · · Score: 1

      Add these to your list :

      Advanced Animation and Rendering Techniques by Alan Watt
      Mathematics for Computer Graphics Applications by M. E. Mortenson
      Efficient Memory Programming by David Loshin
      Game Programming Gems series isn't half bad. Kinda pricey, though.
      Physics for Game Developers by David Bourg
      Books by Jim Blinn
      For a trip down memory lane, Graphics Programming Black Book by Michael Abrash.

      Granted these don't all apply to strictly Computer Graphics as a field, but games and graphics go hand-in-hand.

    2. Re:Best graphics books, in my opinion... by TastySiliconWafers · · Score: 1

      An excellent online resource for graphics (particularly B splines, NURBS, etc.):

      Intro to Computing with Geometry Class Notes

  89. These are Good by Lucas+Membrane · · Score: 1
    Graded Problems in Computer Science -- learn to program by working the problems (in whatever language you choose).

    Bugs in Writing -- learn to write (very important).

    OO Software Construction -- Meyer's a windbag and a promoter, but his writing is entertaining because he writes endearingly, like a nutty professor.

    The Computer Science and Engineering Handbook -- Leave this one as the only book in your bathroom for two years. Then eat some prunes and call me in the morning.

    Programming Classics (Oliver)-- Good code samples.

    Object Oriented Methods (Graham)-- A different look at OO.

    The Decline and Fall of the American Programmer -- Yourdon gets a lot wrong, but he got some things right in this one, but a little too early.

  90. good books and the best publisher by fermion · · Score: 3, Informative
    For Complete non-MS perverted C++:
    The C++ Programming Language by Stroustrup(Addison)

    A quick introduction to Fundamental Design:
    Composite/Structured Design by Myers (ReinHold)

    For on-time software projects:
    Debugging the Development Process by MacGuire (MS Press)

    For TCP/IP protocols and issues
    TCP/IP Illustrated by Stevens (Addison)

    For numerical programming:
    Numerical Recipes in C/Fortan/etc by Press, et al (Cambridge)

    For what a computer might be like:
    The Humane Interface by Raskin (Addison)

    For advance C:
    C Traps and Pitfalls by Koenig (Addison)

    For object-oriented design
    Design Patterns by Gamma, et al (Addison)

    For general reference:
    The CRC handbook by the editors at the Chemical Rubber Company

    Now, I have a question. Who is the most reliable publisher of computer books. It seems that O'Reilly is all the craze, but I have been disappointed with their accuracy and editing of late, though I buy their books if they are on discount or the only good text. For example, I bought their PHP book and I saw several mistakes in the programming examples, mistakes which would totally confuse an inexperienced coder. IMHO, the most consistently good books are published by Addison-Wesley. I would like to hear what other people think.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    1. Re:good books and the best publisher by elflord · · Score: 3, Informative
      Now, I have a question. Who is the most reliable publisher of computer books. It seems that O'Reilly is all the craze, but I have been disappointed with their accuracy and editing of late, though I buy their books if they are on discount or the only good text.

      The best publisher depends on the subject matter. Addison Wesley have by far the best lineup of C++ books (almost a monopoly on good C++ books), while Prentice Hall have most of the good C books. O'Reilly have most of the good UNIX-centric books: Python, Perl, and general UNIX stuff,

      Addison Wesley are probably the most consistent of publishers, and have one of the highest signal to noise ratios. They published at least one of the Stevens titles (Advanced Programming in the UNIX environment)

    2. Re:good books and the best publisher by JamesOfTheDesert · · Score: 2
      For object-oriented design Design Patterns by Gamma, et al (Addison)

      While this is a good and useful book, it does not do much teaching of OO design. If you don't already have a good understanding of OO analysis and design then the text becomes more of a superficial cookbook than a source of theoretical underpinnings.

      You would do better with Object-Oriented Software Engineering: A Use Case Driven Approach, by Ivar Jacobson, or Object-Oriented Analysis and Design With Applications, 2nd Edition, by Grady Booch

      There's more good info here.

      --

      Java is the blue pill
      Choose the red pill
  91. first anti-Knuth post by Theodore+Logan · · Score: 0, Flamebait

    Really, people, before you mod all these pretentious karma whores up, remember the following: they never read Knuths magnum opus. Noone ever did, TAoCP is to CS what Atlas Shrugged is to world litterature. People just say they read it and consider it their awakening because

    a) they are supposed to
    b) it makes them sound cool

    I'm so sick and tired of all people who shamelessly promote his books as essential and good introductions to CS. Knuth has become god around here, but I'll say what noone else dares: his books are milestones, full of amazing insights, and delve right into the core of what CS is about. But they are nonetheless amazingly boring, extremely difficult, and simply not worth their time. For mortals, that is.

    --

    "If you think education is expensive, try ignorance" - Derek Bok

    1. Re:first anti-Knuth post by JJore57 · · Score: 1

      So then if I actually have TAoCP and have read the important bits (no - not everything was relevant to what I was doing) and understood what I was reading then I'm not mortal?

    2. Re:first anti-Knuth post by Anonymous Coward · · Score: 0

      His books are good references when you want to confirm something about an algorithm, but I doubt one CS person in a million has read them all the way through, yet alone understood a fraction of what is in those books. They are incredibly dense, and certainly don't make for light reading.

    3. Re:first anti-Knuth post by Tonetheman · · Score: 1

      I am not sure that this is flame bait really. I like the Knuth books but MIX is just not really a good idea anyway you look at it. I realize that picking a language would have been hard and would have required a choice that would have "marked" his books but I must be honest I just about cannot read the 3 volumes that are often called the Bible of computer science just for that very reason.

      Anyway... my two cents

    4. Re:first anti-Knuth post by Anonymous Coward · · Score: 0

      I recently heard about someone who implemented the MIX processor in a FPGA. I'm going to have to track that down; it would make a neat homebrew project.

  92. TCP/IP Illustrated Guide Vol. 1... by Anonymous Coward · · Score: 0

    ...and The Object Oriented Thought Process. The first can make you a competent TCP/IP network administrator, and the second, if you're like I was, will finally clear up your confusion about the Object Oriented paradigm.

    We should all be anonymous just to piss "them" off.

  93. Kahn's The Code-Breakers by eddy · · Score: 3

    AC is a fine book if you're reading around to be able to implement protocols and cryptographic algorithms, but if I had to pick one book on cryptology it would be David Kahn's The Code-Breakers. A fantastic book on the history of cryptology. I can't even begin to phantom the amount of research that went into this tome, it's just unbelievable.

    Don't get the abridged version, and don't expect this one to be up to date on things happening after WW2 -- but understand that this is not a failing, it's a strength.

    It 1100+ pages of pure goodness, and I couldn't put it down.

    --
    Belief is the currency of delusion.
    1. Re:Kahn's The Code-Breakers by Anonymous Coward · · Score: 0
      I think you mean: "I can't even begin to fathom the amount of..."

      It's fathom not phantom.

      Dumbass.

      - The /. King's English Enforcement Police (KEEP)

  94. For C.. by tjwhaynes · · Score: 2
    Nobody's mentioned "Deep C Secrets" by Peter van der Linden. This is a great book for getting below the surface of writing C.

    Cheers,
    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
    1. Re:For C.. by Anonymous Coward · · Score: 0

      The book's actually called "Expert C Programming", but I agree, it's fantastic.

    2. Re:For C.. by Anonymous Coward · · Score: 0

      I second that. An excellent book, teaches you about more than just C programming. It also has a short intro to the design of compilers and programming languages. The single most important aspect of this book is that it doesn't "baby you".

      Of course this means that this book is not really for beginners. But then in the author's own words (paraphrasing) "this should be everybody's second book on C".

  95. Hidden Order by Jonathan · · Score: 2

    By an odd coincidence, I've just read Hidden Order last week (I seem to have gotten onto a complexity/artificial life kick lately, unfortunately about 7 years late...is the party over?).

    Anyway, I rather liked the book, although it is hard to say who the audience is supposed to be. It is too technical to be a good book for the general public, and yet isn't full of proofs to satisify the propeller-heads. And yet, I think it was better than reading the papers, at least for me, because I could focus on the main ideas rather than the details.

  96. Zen of Assembly Language by Anonymous Coward · · Score: 0

    can't go wrong with Abrash ...

  97. Networking books by Doco · · Score: 2

    If you are looking to write software that talks over sockets/pipes/anything in unix - you must have Richard Steven's books - Unix Network Programming - 1 & 2

    If you want to know the theory behind a lot of the networking stuff - then Tannebaum's "Computer Networks" is an excellent book as it Stalling's "Data and Computer Communications" (any edition - of course later ones are better but even the older ones are good)

    1. Re:Networking books by itsmarcos · · Score: 1
      Good recommendations!

      If you want to learn more about networking in a less theoretical way I strongly recommend IBM's redbook TCP/IP Tutorial and Technical Overview (link points to abstract and TOC). You can find a link to the PDF there. It's 980 pages but it's an easy read and free! I use it as an extended reference for freshening up my memory on stuff.

      --
      Marcos
    2. Re:Networking books by ewtrowbr · · Score: 1

      Here are the resources I use for the networking space: Perlman - Interconnections Stevens - TCP/IP Illustrated Vol1 Halabi - Internet Routing Architectures - The finest BGPv4 resource in the world. The answer to your BGP problem is in there somewhere. e

  98. 'How To Solve It', George Polya... (and 9 more) by pmorrison · · Score: 4, Informative

    ... great, classic, book on how to think about problem-solving.

    'Godel, Escher, Bach', Douglas Hofstader - for melting down, spinning around and reshaping your mind.

    'Structure and Interpretation of Computer Programs' - Abelson and Sussman - read the negative reviews at Amazon to realize how sophisticated a book this is. I found it my senior year in Computer Science and realized I'd hardly learned a thing yet. Deep stuff.

    'The Pragmatic Programmer', Thomas and Hunt - wish I'd had it at the start of my career, it'd be even more fun, profitable and far less painful.

    'Code Complete', McConnell - The bible of 'how to code it'.

    'Software Project Survival Guide', McConnell - got me through my first independent project, with plenty of room for growth. Great book for a newly appointed project manager. Helps developers (and everyone else) figure out if their project is going gold or down the tubes pretty accurately.

    'The Mythical Man Month' - Fredrick Brooks. Should be read regularly by anyone who manages software professionals. It's an interview question I ask any hiring manager. Ones who care about the field say 'Yes'.

    'Programming Pearls' (any edition), Jon Bentley - Great fun, great exercises, great quotes. When you start feeling like programming is drudgery, a great tonic to renew your appreciation. Full of little techniques and large wisdom.

    'Programmers At Work' - Interviews with 1985's leading lights of the software development industry. Great inspiration, now with historical relevance.

    'The C Programming Language' - my vote for the most influential computer book ever(Hello?), and full of worthwhile knowledge. Anything Kernighan's involved in is worth picking up, an author who really cares about writing well.

  99. the little LISPer by Theodore+Logan · · Score: 2

    You don't say if you're new to programming or not, but should the former be the case I suggest The Little LISPer.

    I have not read this book myself, mostly because I already knew a fair amount of LISP when I first heard of it. However, I know a number of people who read it as their intro to programming and simply LOVED it. Few people can say that about their first programming book.

    Of course, slightly more pretentious people would recommend the Wizard book and since you ask for "books for the smart" it deserves a note. It is interesting, no doubt, but a little overrated.

    --

    "If you think education is expensive, try ignorance" - Derek Bok

    1. Re:the little LISPer by segmentation+fault · · Score: 1

      The new editions are called "The Little Schemer"
      followed by "The Seasoned Schemer".

      Also recommended from the same authors are
      "A Little Java, A Few Patterns"
      "The Little MLer"

      --
      -segfault
    2. Re:the little LISPer by Anonymous Coward · · Score: 0

      The little schemer and seasoned schemer are very worthless. I can't believe anybody actually likes them. They were required books for a class I took, and nobody in the class liked them.

  100. Hear! Hear! by Axe · · Score: 2
    "THE TRIAL" is about our requirements reviews.

    I am going through "The Metamorphosis"...

    --
    <^>_<(ô ô)>_<^>
  101. O'reilly Books by xtremex · · Score: 1

    Someone may have obviously mentioned these books.
    Especially the "Bat" book (sendmail) and DNS/BIND.
    My personal favorite is UNIX Power Tools

    --
    If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
  102. Numerical Analyists right here! by Anonymous Coward · · Score: 0

    The Bible for Linear Algebra and Numerical Analysis is Matrix Computations by Golub and Van Loan.

    This book is for the educated mathematician/numerical analyst. You'd better be able to eat your wheaties in a bowl of warm piss to even think about this one...ie, its not a learning text. However, as a reference, its uncontested IMHO. Good explanations, good pseudocode, the maturity of a 3rd edition (soon to be 4th?!?!, please!!!). All good things.

    On the contrary, A great learning text is Trefethen and Bau's book Numerical Linear Algebra. It's got a nice one-method-per-lecture format that I find pleasant. I'm sure someone can back me up in saying that Trefethen is one of the best math writers of our time. If there is a math book you can curl up to by the fire with some warm cocoa, this is it!

    I've heard good things about Demmel's Applied Numerical Linear Algebra too. It seems like our faculty are 50/50 torn between it and Trefethen/Bau.

  103. Best TCP book... by Polo · · Score: 2

    TCP/IP Illustrated Volume 1 (The Protocols), by (the late) W. Richard Stevens.

    This is an EXCELLENT and fundamental book on networking.

    (He also wrote volumes 2 and 3, but you get a lot out of volume 1)

  104. For Graphics... by TastySiliconWafers · · Score: 1

    The Computer Image Watt & Policarpo
    Advanced Animation and Rendering Techniques Watt & Watt
    Introduction to Computer Graphics Foley et al
    OpenGL SuperBible Wright & Sweet

  105. books on patterns by Dr.+Awktagon · · Score: 3, Insightful

    You absolutely need the book on Design Patterns by Gamma et al.

    Also you should check out the Antipatterns book by Brown et al. A book on "common pitfalls" and more importantly, possible resolutions.

    But, if you want to deviate a bit from the technical books, and if you want to expand your understanding of design and design patterns in software, and the philosophy behind it, you might be interested in Christopher Alexander's books and writings. His books are quite old, published in the 70s.

    He's an architect (of actual buildings), but his ideas apply to anything that is designed. He developed the concept of "design patterns" and the computer science world has been applying his ideas. Here is a little article about him. It's because of him that we have the following definition of pattern: a solution (set of forms or rules), which solves a problem (resolves a set of forces), in a given context (a recurring sitution). A very general idea.

    Basically he was trying to come up what he calls a "Pattern Language", a high-level way to describe design patterns in urban architecture, so that people could basically design their own homes and buildings. But the end result was something more profound and philosophical. Very interesting stuff but rather touchy-feely at times. For instance when he talks about the QWAN (quality without a name, the mystical sort of "beauty" that a good design has).

    He also has (or he's still working on, I'm not sure) a recent multi-volume work called "The Nature of Order". I want to read it and I bet it's a much more interesting and insightful book than Wolfram's recent giant tome about a "new kind of science", and without the hype.

    Disclaimer: I'm just getting into this type of stuff so I'm not 100% aware of all the history, etc., but Alexander's the name I see everywhere.

    1. Re:books on patterns by alext · · Score: 2

      Why?

      The need to manually reuse a pattern in programming is a good indication of an inflexible language - Gamma et al wouldn't need these props if they weren't stuck with Smalltalk and C++.

      Programs are different from buildings because you can't reuse bricks. Alexander's work is valuable conceptually, as Richard Gabriel's book describes, but that doesn't mean that you have to spend the rest of your life retyping the skeletons of "Observers" and "Factories".

      In 1945 Alan Turing pointed out that "any [programming] processes that are quite mechanical may be turned over to the machine itself". It's a pity that, outside academia, 57 years later we're still faced with systems that don't permit this.

      Listen instead to the people promoting more academic languages like Scheme and ML. You can always pick up Java and its libraries later.

    2. Re:books on patterns by joto · · Score: 2
      Well, but Christopher Alexanders books are not about patterns, they are about describing patterns, something which is completely orthogonal to the (slowly fading) pattern movement in OO programming.

      Whereas GoF's "design patterns" list some design patterns, Alexander describes a "pattern language" useful for expressing such patterns (although in architecture, not programming).

      And also, whether you codify your "design patterns" in a reusable library, or rewrite it in your favourite but limited OO language any time you need it, you would still need a good description of it, so I don't think neither approach is completely useless.

  106. Warning: Redundant Troll Pandering by slickwillie · · Score: 2

    I think the book "Windows XP for Dummies" just about says it all.

    1. Re:Warning: Redundant Troll Pandering by n9hmg · · Score: 1

      That was just a problem with their LinoType machine. the "i" and "s" in "Windows" were too soon before the "is" between "Windows" and "XP", and the chute hadn't fed new ones by the time they were called for.

    2. Re:Warning: Redundant Troll Pandering by BoneFlower · · Score: 2

      Actually, the Dummies series is quite good. You'd be surprised.

    3. Re:Warning: Redundant Troll Pandering by Anonymous Coward · · Score: 2, Funny

      > --
      > mv /bin/laden /dev/null

      hi, which unix allows you to "mv" stuff to /dev/null, as a way of removing it i assume ?

      it doesnt work on linux or NetBSD, please advise.

      Linux:
      $ mv hello /dev/null
      mv: cannot move `hello' to `/dev/null': Invalid cross-device link

      NetBSD:
      $ mv hello /dev/null
      mv: rename hello to /dev/null: Permission denied

      also, why is this method useful, when with considerably less keystrokes you can just "rm" it?

    4. Re:Warning: Redundant Troll Pandering by Anonymous Coward · · Score: 0

      Actually, I tried it in Linux and it worked.

      As a regular user I got:
      mv: cannot move `file' to `/dev/null': Permission denied

      But as root, it was successful.

  107. Best ones. by Anonymous Coward · · Score: 0

    "Butt Licking for Middle Management" by P.R.Manager
    "How to Fuck up and Hide it" by J.D.Coder
    "Speaking Marketroid" by C.U. Sales
    ..and of course last week bestseller:
    "Book Cooking for Dummies"

  108. Two Books I've Found Useful by blitzrage · · Score: 2

    Linux Administration Handbook by Evi Nemeth, Garth Snyder, Trent R. Hein. Published by Prentice Hall PRT. ISBN 0-13-008466-2

    Linux Firewalls Second Edition by Robert L. Ziegler. Published by New Riders. ISBN 0-7357-1099-6

    --

    I have no signature
    1. Re:Two Books I've Found Useful by Anonymous Coward · · Score: 0

      no way those suck

  109. Wavelets by mieric · · Score: 1

    A great overview of wavelet theory minus intimidating equations.

    "The World According to Wavelets: The Story of a Mathematical Technique in the Making" by Barbara Burke Hubbard, 1996, A K Peters, Ltd., ISBN 1-56881-047-4.

  110. System Administration Books by dshelt · · Score: 2

    These are the books in the bin of my cube, in no particular order.

    Sed and Awk - Dale Dougherty, Arnold Robbins

    Exploring Expect - Don Libes

    UNIX System Administration Handbook - Evi Nemeth

    Mastering Regular Expressions - by Jeffrey Friedl

    Sun Performance and Tuning: Sparc & Solaris -Adrian Cockcroft

    Solaris Internals: Core Kernel Architecture -
    Jim Mauro, Richard McDougall

    PANIC! UNIX System Crash Dump Analysis Handbook -
    Chris Drake, Kimberley Brown

    AIX Performance Tuning Guide - Frank Waters

    UNIX Shell Programming, Revised Edition -
    Stephen G. Kochan, Patrick H. Wood

    The Korn Shell - Anatole Olczak

  111. The Mythical Man-month by plierhead · · Score: 1
    A true classic more from the management side is Fred Brook's "The Mythical Man-month". Its based on his experiences running some of IBM's largest software projects. Almost everything in it to do with technology is long outdated (eg, not commenting your code in order to save on storage space - and (funny, considering Y2K) he recommends not wasting space by adding code to handle leap years, instead relying on operators to correct the date !) but most of what he says is still as true now as then.

    The title comes from the bogus concept that you can speed up a project by, say, a factor of 3 by throwing three more people at it. Brooks has inspired thoughts on project planning and systems architecture for real big projects. Its a great read.

    --

    [x] auto-moderate all posts by this user as insightful

  112. Just the basics by x+mani+x · · Score: 2

    Like many others here, I have an interest in computer science. These are my favorite books having to do with CS:

    Structure and Interpretation of Computer Programs: If you want to be a software developer, read this book. If you're smart and motivated you won't need a CS professor to guide you through it. If you want to be a low level code monkey for the rest of your life, go read any C++ or Java book and go to technical school.

    Introduction to Algorithms: find out what all those data structure API's you use are actually doing!

    Introduction to the Theory of Computation: Wrap your head around the Halting problem. Find out why Alan Turing was one of the greatest minds in humanity's history. Blow your mind.

    Computer Graphics: Principles and Practice In C: Want to be the future John Carmack? Good for you. Now read this book or you won't stand a chance :) Less theoretical than the above, but I just love this book. For some reason it reminds me of the early 90's when Jurassic Park came out and SGI's were amazing. It has that kind of excited vibe about the potential of computer graphics.

    Artifical Intelligence: A Modern Approach: This book and my AI professor really sparked my interest in AI. I cannot praise this book (and professor :) )enough. Simply one of the most interesting and well written CS books out there, with that perfect mix of theory and practice.

    Introductory Techniques for 3-D Computer Vision: This tiny, yet $90.00 book is packed with information. I can't think of a more concise introduction to the field of computer vision, although admittedly this is the only book on the topic I've studied. :) You'll find lot of really interesting, cutting edge stuff here. Generate height maps from stereo pairs and shit. Cool!

    Again, no need to be a CS major to understand any of the above, but you'll have to be smart to do so. I'm personally not very smart, so I had to go the CS major route. If you're not smart and you don't want to and/or can't take courses, I'll refer you to the title of this slashdot story. :)

  113. CAPPs and Laws of Form by slickwillie · · Score: 2

    Content Addressable Parallel Processors by Caxton Foster.

    laws of form by g. spencer brown.

    1. Re:CAPPs and Laws of Form by Anonymous Coward · · Score: 0

      LOF. Now that is an obscure one. I swear Samual Delaney was influnced by this when he created his modular calculus and especially when he wrote Dalgren. The phraseology about crossing the bridge echoed that of LOF.

  114. Veen, of course. by Ravagin · · Score: 2

    What about Jeffrey Veen's The Art and Science of Web Design? This is the only book you need to learn about smart web design. It covers the important topics - assuming you know some basic html - and introduces you to fundamental aspects of building sites. It's a bit too lenient regarding tables-for-layout and such, but then, it's a year or two old and I'm a fanatic.

    Dabbled in HTML and want to learn the CSS and principles to really make it work? Check this one out. It's also in very pretty colors.

    --

    Karma: T-rexcellent.

    1. Re:Veen, of course. by Anonymous Coward · · Score: 0

      Web design is not CS. Maybe you could recommend some of your favorite coloring books too.

  115. For operating systems by DCowern · · Score: 2, Interesting

    I see Tannenbaum's book mentioned several times but so far I haven't seen even one mention of The Dinosaur Book.

  116. So fscking obvious by r_j_prahad · · Score: 2, Funny

    UF Book I: User Friendly the Comic Strip - $12.95
    UF Book II: Evil Geniuses in a Nutshell - $12.95
    UF Book III: The Root of All Evil - $12.95
    http://www.computergear.com/usfriencarbo.html

    Because any fscking dork can code, but it takes a mondo sense of humor to create.

  117. Cryptonomicon, Golden Braid, Mythical Man Month by Fastball · · Score: 2

    Let's not forget that programmers are writers of sorts. We need a muse like any other with a creative endeavor. I find these books that stay away from the low-level syntax and raise up what it is, the essence, of what we as programmers do to be much more uplifting and inspiring. After all, if I can't pick up on syntax, there's little use for me to drink caffeinated beverages well into the night.

  118. My List by Anonymous Coward · · Score: 0

    The C Programming Language (Kernigan and Richie)
    The best technical book about ANY subject that I've ever read.

    Refactoring (Fowler)
    This book has helped me write cleaner, more elegant code.

    Design Patterns (Gang of Four)
    A classic on program design.

    Ruminations on C++ (Koenig, Moo)
    Chapter 24 is the best explanation of how to write a C++ program (rather than writing a C program in C++) that I have read.

    Effective C++ (Meyers)
    If you try to program in C++ without reading this book, you are going to mess up!

    Inside the C++ Object Model (Lippman)
    The Design and Evolution of C++ (Stroustrup)
    These two books really let you understand what's going on under the hood.

  119. Database books by micromoog · · Score: 2
    For those interested in database design instead of (or alongside) programming, here's a short list:
    • Any of E.F. Codd's original papers (hard to find)
    • Introduction to Database Systems - Chris Date
    • The SQL Standard - Chris Date
    • Practical Issues in Database Management - Fabian Pascal
    • The Data Warehouse Toolkit - Ralph Kimball
    • Building the Data Warehouse - W. H. Inmon
    Programmers, if you ever find yourself building a relational database for a project, please please please read up and design it properly. There are way too many fucked up database designs out there already. Designing a mathematically sound database is way different from designing an algorithm.
  120. WITHOUT A DOUBT.... by Anonymous Coward · · Score: 0

    You have to check out the WROX Press series. Great stuff, especially Linux stuff. Also, the best C/C++ book is by The Waite Group.

    1. Re:WITHOUT A DOUBT.... by __aafkqj3628 · · Score: 1

      Wrox press books are informative, but with something like 50 writers on the same book, trying to get the same style, you end up with a monotone encyclopedia of stuff.

  121. for intel assembler by Anonymous Coward · · Score: 0

    I would recommend this book to anyone who wants to learn beginning to mid intel assembler.

    Assembly Language for Intel-based computers. 3rd ed
    ( Kip R. Irvine )

    I used this book my first year of CS to begin learning assembly, and still pick it up from time to time when I get tired of all the syntactic sugar. )

    A really good concurrent read is:
    Structured Computer Organization( Andrew Tanenbaum)

    enjoy!

  122. here is my list of some essentials by Anonymous Coward · · Score: 0

    -the K&R book for C
    -Design Patters by Erich Gamma et al for OO programming in any language
    -any of the O'reilly books which are consistently excellent, and can be accessed for a fee at Safari
    -the Camel Book for Perl (obviously)
    -php & python ... I use the web for these, python.org, php.net, phpbuilder.com, vaults of parnassus, etc.

  123. My Pick by dataentity · · Score: 1

    Design Patterns, Elements of Reusable Object-Oriented Software

    Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
    Hard-cover, 416 pages, Addison-Wesley 1995, ISBN 0-201-63361-2

    Most useful programming book I've encountered.

  124. Dynamic HTML - The Definitive Reference by jhmark · · Score: 1

    Dynamic HTML -- The Definitive Reference
    by Danny Goodman
    O'Reilly & Associates
    aka "the flamingo book"

    For HTML and browser scriptiing you must have this book at your elbow. With each feature of HTML, DOM, or CSS, Goodman lists the compliance with different standards as well of the version number that supports the feature in Netscape and MS browsers.

    A bit dated (1998) but still highly useful.

  125. Pattern on the Stone by DarkClown · · Score: 1

    The Pattern on the Stone : The Simple Ideas That Make Computers Work by Daniel Hillis
    Clickida
    Elegant read on the fundamentals of computer design from a badass mofo. Simple and powerful, gives us an easy to understand rundown of how we got here and a glimpse at where we're going.

  126. Some of my faves by Flower · · Score: 2
    Interconnections by Radia Perlman

    Essential System Administration by AEleen Frisch

    TCP/IP Illustrated Vol 1 by W. Richard Stevens

    Mastering Regular Expressions by Jeffrey E. F. Friedl (Hip Owls goes 2nd edition. Yeah Baby! Now I just need it to be put on Safari)

    And fwiw, some books I'm reading now:

    Network Performance Baselining by Nassar

    Building Internet Firewalls by Zwicky, Cooper and Chapman (Soon to be on my Fave list)

    The Six Sigma Way by Pande, Neuman and Cavanagh

    And the book I want for Christmas
    Network Security: Private Communication in a Public World by Kaufman, Perlman and Speciner
    --
    I don't want knowledge. I want certainty. - Law, David Bowie
  127. My List by Tom+Davies · · Score: 2

    General Books

    Bertrand Meyer: Object Oriented Software Construction
    Robert C. Martin: Designing Object Oriented C++ Applications using the Booch Method (this is useful for any OO programmer. You can read some good essays of Martin's at his company)
    Gamma et. al.: Design Patterns
    Martin Fowler: Refactoring
    Kent Beck: Extreme Programming Explained

    Java Books
    Any O'Reilly book for specific parts of the API
    Joshua Bloch: Effective Java

    Off Topic
    Hofstadter: Godel, Escher, Bach -- still a must-read IMHO

    --
    I have discovered a wonderful .sig, but 120 characters is too small to contain it.
  128. Beginning Linux Programming by Mattzilla · · Score: 1

    WROX Press book:Beginning Linux Programming" by Richard Stones and Neil Matthew
    A very good no non-sense introduction book about programming in Linux.

    --
    Everyman dies, not everyman really lives. -W.W
  129. The Camel or google by opencity · · Score: 1

    The best 'book' I've found is Google. Programming Perl would be second.

    --
    Physics is like sex: sure, it may give some practical results, but that's not why we do it.
  130. one of my favorites by natefaerber · · Score: 1

    /usr/src/linux/*

    --
    -- My HARDWARE, My CHOICE.
  131. Statistical recommendation by spongebobsquarepants · · Score: 0

    Another book I forgot to mention is Modern Applied Statistics with S-PLUS by Venables and Ripley (Springer, 3rd ed.). It applies to both the S-PLUS software package and the open source package R. Additionally, Ripley contributes much code to the R project and also seems to respond well to specific questions to do with R. I highly recommend R to those who need a high powered stats and plotting package...it's well worth the learning curve.

  132. SA book by Rubbersoul · · Score: 2

    I have said this before but this is a good book (in my opinion of course):

    The Practice of System and Network Administration
    This is a very good book covering many good processes and procedures in systems admining and the what not. I would recommend this book to any one working in the field. It covers everything from good practices in setting up a data center to good tips in dealing with Users.

    Check out the slashdot review here [slashdot.org]

    Author: Thomas A. Limoncelli and Christine Hogan

    Publisher: Addison-Wesley

    --
    man .sig
    No manual entry for .sig.
  133. mod parent down; complete dumbass by Anonymous Coward · · Score: 0

    mod parent down; complete dumbass

  134. Understanding the Linux Kernel by wormbin · · Score: 1

    I saw this article, looked over my shoulder at the bookcase that has way too many Oreilly books and thought "Understanding the Linux Kernel. has probably saved me more time than any other book."

    Eventually you are going to run into a bug/performance problem that is not in your code, not in the language, and not in the runtime, and you'll need to step into that big scary blob called the kernel. Then you'll read this book and realize that the kernel no different than any other piece of code, find the problem fix it, and go on with your life.

    Of course if you're programming on top of a closed source OS then you're out of luck.

    1. Re:Understanding the Linux Kernel by user32.ExitWindowsEx · · Score: 1

      Not quite out of luck. See "Inside Windows 2000" by David Solomon and Mark Russinovich (www.sysinternals.com). You can figure out WTF is going on, but you won't be able to fixit (limited to a workaround).

      And yes, I own and have read both and do like the O'Reilly book better in general. Solomon and Russinovich don't provide as much detail about the underlying hardware as Bovet and Cesati do.

      However, I must admit tha reading "Inside Windows 2000" made me have more respect for the NT Kernel, less respect for MSFT's userland code, and a downright disgust of marketing people (they are the ones who kept NT from truly being amazing).

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
  135. Not all of us by Brian+Hatch · · Score: 1
    There are plenty of us who write because it's fun, because we like sharing knowledge, and who are not millionaires. I loose money for each book I write because writing pays off I'm writing, which earns piddly royaltees, instead of doing real security/sysadmin work. And worse, you aren't getting paid anything while you're doing the writing, only after you're done.

    And I don't think you'll find many authors who want to get rid of libraries. Publishing houses, now that's possible. But don't blame the ones who do the grunt work. (Smacks of the artist vs MPAA/RIAA situation, eh?)

    And as to the 'used books are killing our business' angle, baloney. If someone reads one of my books and doesn't think it's worth keeping, by all means they should get rid of it. I never sell off old books, but I do give them away to friends a lot. Or my newer trend, when I have a book I consider crap then I'll write one that I'd want to read.

    It's much more rewarding.

    Even if it doesn't pay squat.

    1. Re:Not all of us by Abstrakt · · Score: 2, Funny
      I loose money

      writing pays off I'm writing,

      piddly royaltees

      At the risk of sounding pedantic... Shouldn't an author possess, at the very least, a basic grasp of spelling and grammar?

      Yes, I'm a smartass and an asshole. Would you expect any less from a Slashdot poster? ;)

      Cheers.

  136. Essential programming and computer history books by Colin+Simmonds · · Score: 1

    These books should be on the shelf of every programmer:

    • The C Programming Language, 2nd Ed. by Kernighan and Ritchie
    • Design Patterns by Gamma et al.
    • Refactoring by Fowler
    • The Mythical Man-Month by Brooks

    And here's a list of the best computer history books I've encountered:

    • The Soul of a New Machine by Tracy Kidder
    • Hackers: Heroes of the Computer Revolution by Steven Levy
    • Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age by Michael Hiltzik
    • The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal by M. Mitchell Waldrop
  137. C++ Programming by Anonymous Coward · · Score: 0

    I'm doing a level 1xx course at my university of summer. Its a course which covers programming fundamentals using C++ language. This is the book we use:

    Computer Science: A Structured Programming Approach Using C++ by Behrouz A. Forouzan and Richard F. Gilberg.

    The starting few chapters are written for complete beginners. But the later topics are more challenging. Nicely organized and written in an easy to understand manner.

    Don't buy this book on amazon..they rip u off. I got it at my university for 1/4 the price!

  138. If you want to really go back to basics... by quinto2000 · · Score: 1

    Principia Mathematica, by Russel and Whitehead. (not the inferior first version by Newton).

    --
    Ceci n'est pas un post
  139. Re:"The Visual Display of Quantitative Information by spongebobsquarepants · · Score: 0

    These are truly beautiful books. I actually keep TVDQI on my living room coffee table...and sometimes even find some of my more my quantitatively inhibited friends perusing the pages.

  140. Not 100% computer related but,,, by Reece400 · · Score: 1

    I enjoyed reading "elementery crypanalysis" i'd say you need at least a colleage math degree to understand some of the later chapters tho,,, gave some really insightful ideas on decrypting, and how to stop things from being decryted (except by those you want to) Reece :)

  141. Just fun to read by walterbyrd · · Score: 1

    I think technical books that are worth reading just for their entertainment value are rare finds.

    1) Complete idiot's guide to keeping your VolksWagen alive.

    2) There are no electrons.

    3) Instant Physics.

  142. "Thinking in *" books are free! by John+Harrison · · Score: 2
    Yup. Download one in the format of your choice. Free is pretty hard to beat. Ok, a free hardcopy would be better in some ways, but much heavier than my laptop.

    That link again is http://www.mindview.net/Books

    Not only are they free, but they are pretty useful books. Bruce has done a really good job. Wheneven I start a new job and people begin to ask me silly Java questions all day I make them download the "Thinking in Java" book and look for answers there first. Bruce explains things better than me. I admit it. He also saves me time.

  143. Second that by voodoo1man · · Score: 2, Insightful

    If there is any book that fits this topic, it is SICP. What makes this book different from any other intro CS book I have read is that it focuses on the science of computation, not just on "programming." Solid knowledge of higher math and some logic are prerequesites for reading, but this is the best possible book for anyone who wants to skip the syntactical crud of usual CS courses and jump right into the theory and mechanics of computer programming.

    While this may not be the best route for computer engineers, shame on anyone who thinks that this book isn't an important read for anyone studying towards a computer science degree. This book lays out all the necessary concepts for learning any further languages or programming methods.

    Some people don't like this book because it uses Scheme. They're mostly wrong - the book uses Scheme as a pseudocode, and touches only a fraction of the R5 Scheme standard. The benefits of this are apparent right from the first chapter - the book weans you from thinking of loops in terms of rigid and clumsy constructs, instead demonstrating that tail-recursion can completely replace them. And I really pity the people who think static types would enhance either Lisp or the readability of this book, as Hemos seems to be convinced about in his review. PS, R5 Scheme does have looping constructs; do some research before complaining.

    In short, if you like math for math's sake and want to learn computer science, read this book.

    --

    In the great CONS chain of life, you can either be the CAR or be in the CDR.

  144. Books not to recommend? by spongebobsquarepants · · Score: 0

    Not to change the subject, but a list of books not to recommend might be as useful as knowing the good ones, especially given the price of technical books...kind of like in college when you thought it might be cool to read James Joyce but later found that they were unreadable.

    Any non-suggestions???

    1. Re:Books not to recommend? by KidSock · · Score: 2

      Apache The Difinitive Guide from O'Rielly is a brick.

    2. Re:Books not to recommend? by Prof.Phreak · · Score: 1

      You mean the paperweight variety? That would include just about every Java, C++, C#, VB book out there. If a book is about a language and is more than 2 inches thick, then it's worthless. (I think Programming Perl still makes it into the "great book" variety though).

      Books to avoid? I never get books that deal with any specific technology (that will usually disappear or change drastically within a few years). Most of my books are theoretical, math, algorithms, graphics algorithms, etc. Those have proven most useful over many years.

      Technical details on specific technologies are usually published electronically as specs, etc., so no need for a book :-)

      Also, as a special precaution, avoid any book that has "VB", "Dummies", "21 Days", "7 Days", or "HTML" in its title.

      --

      "If anything can go wrong, it will." - Murphy

  145. What works for me. by supabeast! · · Score: 2

    I find that most computer books written at an "intelligent" level are too dry and boring to read through, although O'Reilly is pretty good about not falling into this category, great examples are the Samba and Python books.

    For the most part, I just use the Sam's "Teach yourself in 24 hours" series to get started, because they tend to be written by some pretty damned smart people who know the subject matter and present it casually, and then just buy a pile of more "sophisticated" books to read for detailed reference later on. Then again, I practice system-administration-on-the-fly-at-4am, so my style definately will not work for everyone.

  146. C++ books at Canonicaltomes by Anonymous+Brave+Guy · · Score: 2

    I looked at the books there on C++, and couldn't quite figure out where they came from. Some are obvious choices with many votes. At least one (by Schildt) is... not on my recommended list... and seems to have no votes, yet still appears. What gives?

    URL resolved fine for me, BTW.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:C++ books at Canonicaltomes by joto · · Score: 2
      Anyone can suggest a book, and anyone can give a book a vote. Max 3 votes per registered user per category.

      I suspect somebody suggested Schildt just to see if someone would vote it up. Nobody did (that's a pretty strong non-recommendation in my eyes). A date on when the book was suggested and a last vote could be helpful in understanding these things. As could reading the FAQ I guess.

    2. Re:C++ books at Canonicaltomes by Anonymous+Brave+Guy · · Score: 1

      Ah-ha. I'd read the FAQ, but it hadn't clicked that suggesting a book didn't also imply a vote for it. Thanks for the info.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  147. C Traps and Pitfalls by jurgen · · Score: 1

    "C Traps and Pitfalls" by Andrew Koenig is a little Gem that goes on the shelf next to K&R. Together those two books are both the perfect introduction for the C beginner and a timeless reference for the expert.

    Although this is not exactly "deep" CS literature, I offer it as an answer to "computer books for smart people" because I've never understood why there are so many books on C... why would anyone want to learn C from a book other than K&R? It's a fine tutorial /and/ reference from the ultimate authority; the language's authors. If you need K&R dumbed down, you probably shouldn't be programming in C. But C has its traps and pitfalls, so if you learn /only/ from K&R there are a lot of mistakes you'll have to make yourself before you really master the language... Koenig's book will help you get through that process /much/ faster.

    Most of the other books on my shelf that I consider really outstanding have already been mentioned, but one that deserves to be seconded is Abelson and Sussman's "Structure and Interpretation of Computer Programs". This one MIT textbook is worth more than an entire 4-year CS education at most lesser institutions.

  148. Javascript by AJ-perler · · Score: 1

    For Javascript I'm a firm believer in standards and with browsers, knowing what features entered with what browsers is a big part. The "Javascript Bible" is very good at core language and letting one know what various browsers can handle. I've bought some other Javascript books recently which are good too, but I use the Goodman "Javascript Bible" the most. When choosing a reference book that I expect to learn and live with, I collect an 18" stack at Borders and determine the best and most understandable and buy it. It takes a while, but since the book is going to be your LONG TERM reference, it is time well spent! After getting the "Javascript Bible," I was turned on to the "Bible" series. Later I realized that the quality of books in the series varies widely. Buy a "Bible" book only if it cuts your mustard. P.S. On a side perl note, I learned/loved the 2nd edition camel, but the 3rd edition camel is quite acceptable too.

  149. for C++ by Anonymous Coward · · Score: 0

    the ARM (Annotated Reference Manual) is absolutely necessary for smart people. There are many "how to" books for every level of experience and covering a great many domains, but the ARM is the only complete reference to the entire language. Smart people are helped by Stroustrup's discussion of why certain language features were included and why others were excluded, why some syntax is the way it is, etc.

    Surprisingly few C++ programmers I have met were actually aware of the existence of this book.

  150. My List is Bigger than Your List by KidSock · · Score: 3, Informative

    The Standard C Library,P.J. Plauger
    I use this book *all* the time. It's very informative to see how a C library implementation works, and it has the important sections of the C standard reprinted with discussion. My #1 pick.

    Advanced Programming in the UNIX Environment,W. Richard Stevens
    The comp.unix.programmer bible. A must have for UNIX programmers.

    UNIX Network Programming Networking APIs: Sockets and XTI, W. Richard Stevens
    Another classic from Stevens. I have not done a tremendous amount of socket programming in C but I have extensively in Java and I am confident that I can in UNIX after having read select portions of this obviously high quaility book.

    Lex & Yacc, John R. Levine
    I think yacc (the GNU version is called bison) is an extreemly usefull tool. I started writing yacc grammers for all sorts of configuration files on my system while reading this the first time. Great fun, and potentially very usefull. A good yacc grammer can save tremendous amounts of time and is often the proper way to handle a problem. And I'm not recommending the book just because it's the only of it's kind. It's genuinely good.

    Algorithms on Strings, Trees, and Sequences Computer Science and Computational Biology, Dan Gusfield
    This is a tough book. Be prepared to ponder the presentation of each algorithm and skip the proofs (I believe you Dan). If you find yourself getting stuck in spegetti string manipulation, implement a few of these algorithms like calculating the edit distance of two sequences or Boyer-Moore. You'll be a better programmer after and there are very practical application hidden in this book. Again, the presentation is of the highest quality.

    Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest
    I have three algorithms books. This one's the best and that's not a compermise. It's a great book.

    The C Programming Language, Brian W. Kernighan, Dennis M. Ritchie
    Of course.

    The Art of Computer Programming (Vols 1-3), Donald E. Knuth

    The C++ Programming Language (Third Edition and Special Edition), Bjarne Stroustrup

    Xlib Programming Manual, Adrian Nye

    Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition, Bruce Schneier

    X Window System Toolkit, A Complete Programmer's Guide and Specification, Paul J. Asente, Donna Converse, Ralph R. Swick, Paul Assente

    Expert C Programming, Peter van der Linden

    Life with UNIX, Don Libes and Sandy Ressler

    Programming Pearls, Jon Bentley

    Structured Computer Organization, Andrew Tanenbaum

    The Code Book, Simon Singh

    Etudes for Programmers, Charles Wetherell

    Secrets and Lies, Bruce Schneier

    The Pragmatic Programmer, Andrew Hunt and David Thomas

    TCP/IP Illustrated, Richard Stevens

    Exploring Expect, Don Libes

    UNIX System Administration Handbook, Evi Nemeth et al
    If you use UNIX, you need this book. Forget Running Linux. This is much better and the latest edition covers Red Hat as well as BSD, Solaris, and HP/UX.

    Digital Woes, Lauren Wiener

    Surely You're Joking, Mr. Feynman!, Richard P. Feynman
    This was a pretty funny book. Very readable for anyone. A NYT Bestseller.

    Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, and Julie Sussman

    Essentials of Programming Languages, Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes

    Software Fundamentals: Collected papers, David L. Parnas, Daniel M. Hoffman and David M. Weiss

    The Invisible Computer, Donald A. Norman

    Lion's Commentary on UNIX 6th Edition, with Source Code, John Lions

    Envisioning Information, Edward R. Tufte

    The Visual Display of Quantitative Information, Edward R. Tufte,
    I think I have this book. I was disappointed.

    Visual Explanations, Edward E. Tufte

    The Design of the UNIX Operating System, Maurice J Bach

    Algorithms in C, Robert Sedgewick
    Not that great. Having lot's of code samples is nice but the comments are unbelieveable. Their HUGE. Really ruins and otherwise good book. I'd rather go with the Cormen book on Algorithms and just write c from there (done just that many times actually).

    Introduction to Computer Theory, Daniel I A Cohen

    Compilers, Principles, Techniques and Tools (The Dragon Book), Alfred V Aho, Ravi Sethi, and Jeffrey D Ullman

    The Practice of Programming
    Kernighan, Brian W., and Rob Pike


    The Mythical Man-Month, Anniversary Edition : Essays on Software Engineering, Frederick P. Brooks

  151. My prejudices in computer books. by SN74S181 · · Score: 2

    I would start by looking at the publisher:

    Prentice-Hall
    O'Reilly and Associates
    Addison-Wesley
    Singer-Verlag

    Scanning down the spines of the books in my bookcase that matter, that contain information relevant year after year, those are the ones I see on the shelf.

    Avoid anything that has a software version number in the title. Avoid anything that has logos from Magazine Publishers (i.e. 'PC Magazine recommends') on the cover. Avoid anything that has recommendations on the cover from the coffee-stain boys who write columns in the Ziff-Davis/Byte/PC Mag grade of magazines.

    Thumb through the book. If it's more than 5% screen shots, avoid it like the plague.

    If it looks like it was typeset with LaTeX, it's probably a good bet.

    I know some of these are prejudices, and that there are exceptions to all the rules above, but it works for me.

  152. IBM's 360 and Early 370 Computers by Anonymous Coward · · Score: 0

    Absolutely fascinating. Read it cover to cover except for that boring chapter on OS/360 in the middle.

    Comer's original Xinu book was the first technical book I couldn't put down.

  153. A Tome on Category Theory by Jagasian · · Score: 2

    Category Theory is the most intuitive and practical branch of mathematics. Category Theory is even more useful and intuitive than counting. It is the glue that ties together the vast sea of concepts within your head. Category Theory is not just useful for continous or discrete mathematics/sciences, but instead Category Theory is useful for all kinds of exact thought! It lets you move from arithmetic to logic, from logic to set theory, from set theory to geometry, from geometry to a specific daily situation, from a specific daily situation back to a formal branch of matheatics, etc...

    You didn't get it taught to you in school because its such a young field of mathematics at around 50 years of age. Most branches of mathematics are at least hundreds of years old. However, you already use parts of Category Theory, even though you don't know the words for it, just as you used parts of counting before you knew the words "one", "two", ... So just as you learned the rest of counting, why not learn the rest of Category Theory ? It will give you a whole new insight into Computer Science.
    For its not just about the specific ideas used in Computer Science... its also about having enough "string" to tie it all together. Category Theory is an infinite supply of that "string".

  154. SMART?? by Anonymous Coward · · Score: 0



    I find it amazing that almost all the recommendations are for yet another book that teaches frickin for loops in yet another frickin dialect. "Using the STL" YEAH, iterators man, THEY RO0L0RZ, TOTALLY different from for loops. "Design Patterns" ADAPTER: reformats the parameters between two functionally compatible but syntactically different pieces of code. YEAH! ROCKET SCIENCE D00D.

    Also, it's MORONIC that NOT A SOUL is recommending a book that'll teach you even ONE of the Top Ten most important algorithms of the 20th century. They are REALLY IMPORTANT. The Fast Fourier transform made possible: sound compression, image compression, electrical engineering in general, efficient numerical PDE's, fast integer multiplication, fast polynomial multiplication and many more. Metropolis integration made possible: nuclear bomb simulation, and the best (so far) algorithms for rendering 3d images. QR decomposition is REALLY IMPORTANT to finding eigenvalues, which is often useful when solving any kind of PDE. The simplex method can be used to solve a very wide variety of real-world optimization problems efficiently.

    The other ones are really important as well.

    So I'll make a suggestion to at least fix the problem for Fourier Series and elementary integration method by suggesting An Introduction to Numerical Analysis by Kendall Atkinson. This is an excellent introductory book. If you "smart" people want to learn something other than "look at me mom! for loops in Python instead of Perl!" then you'll find this a REAL BREEZE to read (smart person that you are.)

    </outrage>

    I also like Purely Functional Data Structures by Chris Okasaki.

  155. i'll second part of that by cabbey · · Score: 2

    Bruce Eckel's "Thinking in ..." series are particualrly good (and have the requisite ugly cover to be a classic text). Especially the C++ and Java pair, which should more accurately be titled "Thinking in Objects, C++/Java flavour". These are particularly good for people moving from procedural languages like Cobol, into the OO world. There are also a number of pieces of books he has put out for free.

    The Gamma et al. book has really never impressed me, but then I suspect that is because most of the patterns they present were taugt to me over the years already... so by the time I saw that book, it was mostly review.

    The other books that I've always found helpfull are the fomal specs for the language... for C++ developers, get a current copy of the bible from Stroustrup. C heads would want K&R's version. For java developers the Lang Spec from Gossling, Joy, Steele, and Bracha is a must read, and the VM spec from Lindholm and Yellin can be a great resource for anyone that is used to assembly level programming and wants to know how this "machine" works.

  156. The Elements of Style (Strunk and White) by Anonymous Coward · · Score: 0

    I've met very few technical people that can
    write effectively. Everyone should
    read this book because communicating
    difficult ideas clearly is damn important.

  157. Great PHP and MySQL book. by Zibi · · Score: 1

    I would deffinatley have to say PHP and MySQL Web Development by Luke Welling and Laura Thomson. This is an incredible book.

    --
    -Zibi
  158. The Cuckoo's Egg... by Robber+Baron · · Score: 2

    ...by Cliff Stoll. Not a "how to" manual, but a very interesting tale of tracking hackers on the Internet in the pre-www days... Should be required reading for all geeks.

    --

    You're using her as bait, Master!

  159. "The Turing Omnibus" by Dewdney by Anonymous Coward · · Score: 0

    Hi -

    "The Turing Omnibus" is a real joy - about 60 short and lively essays on various CS and mathematical topics. (I see there is a "New" edition of that book - I have not seen that yet.) If you do not have a formal background in CS or math, this can at least help you quickly become conversant in some of the more theoretical areas of CS. (At least to the point where you can throw some of the terms around and impress others who know less than you...)

    TWR, Torrance, CA

  160. my fav by Darth_Burrito · · Score: 2

    Psychology of Computer Programming
    Gerald M Weinberg

  161. chasing the all important benchmark numbers by cabbey · · Score: 2

    O'Reilly's "High Performance Computing" (the harrier book, although I've heard it called the raptor book as well) is an excellent volume on performance. It covers everything from hardware architecture to high level language structures. Excellent starting place for those writing performance critical code; although it expects that you already know how to write properly functional code first. (you might be surprised how many people neglect to ensure code still functions properly after the "improve performance".) There are sections on specific langauges (HPF for example) and environments (MPI, PVM) as well. Also good reading for anyone that has to benchmark code (it explains how to do it right) and those who have to understand benchmarks. Includes an explanation of a number of industry standard benchmarks. I wish marketing people that try to sell something based on benchmarks would read this.

  162. Another Short List by StormyMonday · · Score: 3, Insightful

    "The Mythical Man-Month", Brooks. Won't really help much, but you'll have the satisfaction of knowing exactly how your pointy haired managers are screwing things up.

    "Design Patterns", Gamma, et al. Without this, you simply won't be able to understand current discussions about programs or programming. This book gives you the philosophy and vocabulary to understand what's going on.

    "The Art of Computer Programming", Knuth. What can I say? An absolutely mindboggling treasure trove.

    "Software Tools", Kernighan & Plauger. A Golden Oldie. The book is ancient, but the "software tool" concept is still solid.

    "The Design of the Unix Operating System", Bach, and "The Design and Implememtation of the 4.4 BSD Operating System", McKusick et al. (These are old. I would hope there is something equivalent for Linux and current BSDs). While abstraction is all well and good, at some point you have to open up the black box and figure out what the machine is actually doing in there.

    You need the definitive description of the language you're working with. For C, it's "The C Programming Language", Kernighan & Richie. For C++ it's "The C++ Programming Language", Stroustrup, or, if you're a standards junkie like me, INCITS/ISO/IEC 14882-1998, "ANSI Standard C++".

    If you're doing anything connected with the Internet, learn about RFCs. Personally, I credit a large part of the success of the Internet to the free availability of its governing standards. (Other standards are freely available, but not available for free. A paper copy of ISO 14882, for example, is US$175.)

    There are all sorts of "domain specific" books. What you need depends on what you're doing. I find "Advanced CORBA Programming with C++", henning & Vinoski, to be priceless, but then, I do CORBA programming in C++.

    --
    Welcome to the Turing Tarpit, where everything is possible but nothing interesting is easy.
  163. Best design and windows books by sambo99 · · Score: 1

    Design:

    Gui Bloopers - Jeff Johnson
    Design of everyday things - Donald Norman
    The inmates are running the asylum - Alan Cooper

    Uber Windows Coders (not for begginers)

    Programming Applications for Windows - Jeffery Richter
    Debugging Applications - John Robbins
    Advanced Visual Basic 6 - Matt Curland

    Sam
    samsaffron.com

    --
    - Sam
  164. Endianness by senahj · · Score: 1


    Seminal?

    On Holy Wars and a Plea For Peace
    Danny Cohen 1980

    http://www.op.net/docs/RFCs/ien-137

    --
    Wait a minute. Didn't I say that on the other side of the record? I'd better check ...
  165. Dummies and more by nullard · · Score: 2, Informative

    Actually, I learned perl with "Perl 5 for Dummies." It's a terrible book, but it let me (with mostly C and Pascal experience) fix a client's webstore.

    I also recomend:

    Oh! Pascal by Doug Cooper -- sure it's Pascal, but it has lots of general programming info that I use to this day. It's available in many flavors, including my favorite, the platform neutral one.

    Assembly Language for Intel-Based Computers by Kip Irvine. It gets into all kinds of details about the x86 architecture.


    Structured Computer Organization by Andrew S. Tanenbaum will teach you how to build a processor that understands Java byte code (integer instructions only) out of transistors. It's really that good.

    Archimedes' Revenge: The Joys and Perils of Mathematics by Paul Hoffman is a wonderful book that covers everything from encryption to Turring machines to number theory. This book is a fun read that, altough somewhat dated, is still very relevant today.


    Insanely Great: The Life and Times of Macintosh, the Computer That Changed Everything by Steven Levy provides an interesting look at the history of the first personal computer with a gui. The edition I have is from pre PowerPC times, so I assume that this one (featuring an iMac rather than one of the boxy 9"screen Macs on the cover) is more current.

    --


    t'nera semordnilap
  166. How about some Non-*NIX related books? by Lost+Canadian+Abroad · · Score: 1
    As a developer from before the mainstream acceptance of Windows, I did a lot of stuff with DOS mainly using Turbo Pascal and later on Assembler. A few of my favorites were(are):

    PC Interrupts (Brown, Kyle)

    Structured Assembler Language for IBM Microcomputers (Kindred)

    Later with Windows my development love affair with Borlands Delphi got me hooked on the following:

    Delphi Component Design (Thorpe)

    Developing Custom Delphi 3 Components (Konopka)

    Now with Borlands 3rd release of Kylix I'm sure I'll soon find more books about it that I'll find deeply interesting.

    Actually I told a lie...I do have one very well used copy of The UNIX Operating System 3rd Ed. (Christian, Richter) that I truly love.

  167. Safari by Ionizor · · Score: 1

    Personally I'd suggest you go to O'Reilly and Associates' Safari and preview any book that looks interesting. Previews give you a HUGE amount of information at 0 cost. If you subscribe at 5 points it's only $119.88 a year and you can swap out books you're finished with for new ones on a monthly basis but MAKE SURE you preview a bunch of books before you put them on your bookshelf as you will inevitably find a much cooler book two days later. I'm seriously considering sacrificing the money I set aside for a new hard drive to buy a year's subscription. O'Reilly books aren't the only ones you will find there, either which is nice.

    --

    --
    Todd's Law: All things being equal, you lose!
  168. Digital Communications by Anonymous Coward · · Score: 0

    by Proakis. The bible of Mobile Communications research engineers everywhere. Well, those working on the physical level like myself anyway.

  169. Programming for smart people by Animats · · Score: 2
  170. My top 10... by brooks_talley · · Score: 1, Troll

    1) "Trolling for dummies"
    2) "Dumbing for trolls"
    3) "Anti-trolling for smarties"
    4) "How to stop dumb trolls"
    5) "Trolls: Dummies or not?"
    6) "Is that a troll in your pocket?"
    7) "Dumb trolling for smarties"
    8) "Smart trolling for dummies"
    9) "Dumb, Trolling, and Out in Beverly Hills"
    10) "Troll, Dummie, what's the difference?" ...er, you were looking for reccomendations for /. readers, right?

    Cheers
    -b

  171. the BOOK by DemiKnute · · Score: 1

    I'd have to say that the greatest book on programming is The Tao of Programming by Geoffery James. Sure, it was written in the mid 80's, but being a language agnostic book, it's still surprisingly relevant.

    I learned everything I know about programming and even computers in general from that book. It even goes into management and stuff.

    You can find it here, assuming you're not on an anti-software patent kick.

    --
    .
  172. Ethernet by macdaddy · · Score: 2
    Ethernet: The Definitive Guide by O'Reilly. Excellent book.

    I also loved the Perl CD Bookshelf, especially the Learning Perl volume. I found myself frequently referring to it.

    I understand that TCP/IP Illustrated Volume 1 and Volume 2 are valuable. I own both but haven't yet read either. (sorry for the amazon linking. I don't have anything else handy)

  173. I would suggest by Laplace · · Score: 2

    Dianetics.

    --
    The middle mind speaks!
  174. Two spring to mind... by Anonymous Coward · · Score: 0
    I found the following two invaluable:
    • Timothy Budd, "An Introduction To Object-Oriented Programming", Second Edition, ISBN 0201824191
    • Brad Cox & Andy Novobilski, "Object-Oriented Programming: An Evolutionary Approach", Second Edition, ISBN 0201548348
  175. Meetup was fun by snoozebutton · · Score: 1

    Meetup in Toronto was fun last night.

  176. favorite book by Anonymous Coward · · Score: 0

    I rather like my iBook for programming.

  177. Object Oriented Programming in PLAIN C by namespan · · Score: 2

    Class Construction in C and C++ by Roger Sessions was the book that showed me that OOP was as much (or more) a design philosophy than a language feature. You learn to write your OO code first in plain C, and only then do you start getting any introduction to C++'s language feature. An excellent approach.

    --
    Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
  178. This one for you smart people by Anonymous Coward · · Score: 0

    Sex for Dummies, cause you "smart" (you mean fat and geeky) slashdot readers are loser computer freeks and need to learn some how!

  179. Thinking Forth by Leo Brodie by Anonymous Coward · · Score: 0


    Hard to find but an excellent general programming book. It's easy to discount the rants against OO methods, but they are accurate insofar as OO attitudes are concerned (OO implementations are not so restrictive.)

  180. You should read this by shepd · · Score: 2

    The Hardware Bible by Winn L. Rosch. (Its cheap too!)

    Why?

    I'm tired of working with programmers who can't deal with whats inside a computer. It drives me insane!

    Reading and trying a bit of this puts you in my extra good books too. :-)

    --
    If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  181. The Algorithm Desgin Manual by nonane · · Score: 1

    The Algorithm Design Manual by Steven S. Skiena.

  182. The Deadline by Tom DeMarco by Anonymous Coward · · Score: 0


    Essential reading. This is a book about the management of large development projects, told as a story.

  183. Top-notch Ruby Book by JamesOfTheDesert · · Score: 2
    Programming Ruby: The Pragmatic Programmer's Guide, by David Thomas and Andrew Hunt. Enjoyable, lucid, to the point.

    It presumes the reader already knows something about programming, but wants to learn the essentials of a new language.

    A smart book by smart people, for smart people, about a smart language.

    --

    Java is the blue pill
    Choose the red pill
  184. American Bukkake by Anonymous Coward · · Score: 0

    ...or Gangbang sluts 7. After viewing these, you will be sooo relaxed that you WILL be a genius.

  185. The TeX Book!!!!! by Anonymous Coward · · Score: 0

    The most beautiful and comprehensive description
    of a typesetting language you will ever read.
    Great illustrations too. Should really be a
    large-format coffee-table book. Glue, boxes and
    tokens; the TeX stomach. Marvelous stuff!

  186. Doesn't pay squat? by Anonymous Coward · · Score: 0

    Well then, can't you put the book available for free download, since you're not making money off it?

  187. The seminal works? by _LFTL_ · · Score: 1

    Well.. that'd have to be playboy, and penthouse

  188. Only one comes to minde... by Q-Hack! · · Score: 1

    The Kama Sutra!

    --
    Some days I get the sinking feeling Orwell was an optimist.
  189. Where's "The C Programming Language" by K&R? by js7a · · Score: 2, Interesting
    "Anything with Knuth's name on it" includes a bunch of theist judeochristian superstition as well as some useless stuff.

    In addition to Kernigan & Ritchie's 2nd edition, The C Programming Lanugage with ANSI C, which should be on any programmer's workbench, be they Perl, Matlab, Maple, TCL, or even elisp programmers, here are some others:

    The Algorithm Design Manual by Steve Skiena. Excellent.

    The Nuts and Bolts of Proofs -- the heart of correct math is showing your work, and this book shows you how.

    The Data Game -- Controverses in Social Science Statistics -- this really puts you in touch with the kinds of numbers you hear bandied about on the news, and what those numbers mean.

    The Maple V Learning Guide -- this comes with Maple (and presumably Matlab if you get it with Maple) and teaches more than a typical undergraduate mathematics program in about 270 pages. Actually, you have to delve into the hypertext documentation of Maple to get at all the calculus, linear algebra, statistics, etc., but it's all in there.

    Studies in Inductive Logic and Probability -- actually there were two volumes published in 1980, and one or both might have gone out of print.

    What If there were No Significance Tests -- this overpriced volume (which you should be able to get for much less from the publisher's site, www.erlbaum.com that doesn't seem to be working right now) explains exactly what soft scientists (e.g., psychologists) mean when they say something is true.

    100 Statistical Tests -- this reasonably priced but somewhat advanced, applied book will tell you how to tell whether something is true, even if you have to use indirect or partially correlated measurements. The author has provided tools with what you can quickly find the appropriate test(s) for most situations I can imagine.

    All I Ever Needed to Know I Learned From My Golf-Playing Cats. Here's hoping for the +1 Funny moderation for Ruben Bolling, whom I believe to be perhaps the finest editorial cartoonist, up there with Ted Rall, Tom Tomorrow, Tom Toles, and Gary Treadeau. Fantastic!

  190. Answer key? by Anonymous Coward · · Score: 0

    Does anyone know if there is a way get the answers to the extra excercises in this book? This isn't for a class. I'm using to learn on my own, but I think they are not available unless you can prove you are a teacher. Why do people allways trash this and other Deitel books? It's a lot better than most I've read.

    1. Re:Answer key? by Qa1 · · Score: 1
  191. partial coverage by half-troll · · Score: 1

    Often CS programs are heavy on calculus and lite on discrete math so I'd include Concrete Mathematics (Graham, Knuth, Patashnik) plus Learning Discrete Mathematics with ISETL (Baxter, Dubinsky, Levin). The combination gives a reasonable combination of math and programming. For learning programming as a discipline, I'd start with Structure and Interpretation of Computer Programs (Abelson's, Sussman, Sussman). To gain a view of the implementation of a full computing system, Smalltalk-80: The Language and Its Implementation (Goldberg, Robson). Bytecodes to meta object protocol: this is a great worked example, placing emphasis on the critical distinction of language vs. implementation. A great view of the modeling required for complex, yet flexible systems is Working With Objects (Reenskaug, the author of Model View Controller). Plus with this you can forget all the Swing books, unless there is separate value added. A key piece of Reenskaug is his notion of value chain. It turns out we are suppose to be adding value to someone else's work, not just cool hacks! For Patterns, clearly Design Patterns is a required reference, but people need to be both smart and experienced to gain much from it. For learning Patterns I'd go to Design Patterns Java Workbook (Metsker), which also covers an an introduction to Swing and what passes for GUI programming. Saving time, we can order one more by Metsker: Building Parsers with Java, which not only presents a great framework for parsers (and a great tutorial by implication for framework design), but a strong introduction to unit testing, uml, and a greatly underappreciated framework for random testing. Since Metsker needs to parse something, logic programming, query processing, and imperative languages all get treatment that complements Structure and Interpretation of Computer Programs. Is it really enough to cover everything with Scheme, ISETL, Smalltalk, and a little Java? Not quite. Partially because a good book on low level language will give something of an introduction to machine architecture. That sounds like C and I think The Practice of Programming (Kernighan, Pike) is far better than the standard white book. In addition, topics like incremental testing (unit tests without the xUnit brand), 'little languages', scripting languages, low level efficiency are introduced clearly. Continuing the path forward from C, Advanced C++ Programming Styles and Idioms (Coplien) is not just about C++, but about computer science. Another reason, of course, for books in the C tradition is that they represent 'computing in the wild' - that is that's how a giant section of programmers works. (Of course, I'd say they are often doing it the hard way;) To finish with work in the C tradition, Effective Java is just fine. Far more than a Java book. It's good coverage of the problems of working with a language that reflects so many (I'm not saying poorly chosen) compromises. Many workday issues are well covered in The Pragmatic Programmer (Thomas, Hunt). Programming Perl (Wall, Schwartz)should be compared to Programming Ruby (Thomas, Hunt) and/or Programming Python (Lutz). The point is not to learn three scripting languages. The point is not to discover that my favorite is the best. The point is to gain an understanding of the differences and similarities among great programmers. More, to come to grips with the negative as well as positive consequences of almost any path. Now there is this stuff called AI. This is not the place for an evaluation, but programmers need to know the work. Lets use google as our inspiration and go with Artificial Intelligence, A Modern Approach (Russell, Norvig). For an approach to AI from a different tradition, Genetic Programming (Koza). Watch out. This book is aggressive in its program. Something by Rodney Brooks belongs here, but I have not read his recent stuff and I can't find a copy of his earlier 'how to build a robot book). The point is that a work advocating a very bottom up, sensor/perception based model of computation/robotics/AI is needed to balance Russell and Norvig. Data, Data, Data. Ullman's Database and Knowledge Base Systems covers a lot of bases. SQL gets placed in a sensible context. Swarm Intelligence (Kennedy, Eberhart) can round things out and set people up for Grid Computing Unleashed!. (author tbd). Objects have been covered, so we need to take the next step and look at components. Here Component Software (Szyperski) is great. Some could say it's a bit dated, and it 5 years it will be, but right now it is solid and provides historical perspective on COM/CORBA, etc. Components are (largely) about deployment. The Java issues and opportunities are well covered in Component Development for the Java Platform (Halloway). The basic issues (dynamic class loading, security management, dynamic invocation, distribution, etc.) have strong are similar in C# (CLI, really), but I'd like a comparable book from that world. Aspects and Generative programming are well introduced in Generative Programming: Methods, Tools, and Applications (Czarnecki, Eisenecker). For those who deal with (or should deal with) ontology, Appendix A is great. The discussion of Exemplar and Probabilistic ontology certainly raises some semantic web issues. Writing code and changing it are pretty closely related. Fowlwer's Refactoring, is a great introduction to a disciplined approach to changing it. More: it can be read as a call for better tooling. In order to have any hope of getting clear specifications and useful tests, programmers need to understand a bit of logic and probability. Language Proof and Logic (Barwise, Etchemendy) is great. It raises some deep issues concerning logic and visualization as well. I don't know what to recommend on the probability/statistics side. Certainly an introduction to Bayes should be included. Pearl's Causality or its predecessor exhaust my knowledge. Graphics. Video. Sound. Music. 3d. Help! Out of time, out of space. Distributed programming, operating systems, object databases, configuration management, source code control,and Linda (spaces) have not been mentioned.

  192. Recursion, Computation, Obj. Orientation, Patterns by Kojo · · Score: 1

    I'm not expert, but I think a solid grasp of the above concepts would serve any programmer. You can never have too many tools. I think a "Smart Person" could get quite a lot from the following books. All are slim (210pp or less) and written in a "conversational" style. Some might find the style bothersome, but I didn't.

    • For a quick introduction to recursion, The Little Schemer. The first sentence of the second paragraph of the preface says it all: The goal of this book is to teach the reader to think recursively. They use a small subset of Scheme to illustrate.
    • The goal of this book is to teach the reader to think about the nature of computation. This is from The Seasoned Schemer, the "sequel" to the book above. The biggest of the books I mentioned (a whopping 210pp), it's easy reading and gets at what computers and computation can and can't do. Again, they use as small subset of Scheme here, but the concepts transfer to any language.
    • A Little Java, A Few Patterns is perhaps the most ambitious of the three. It has two goals. In 180 pages, they introduce you to the nature of, concepts behind and reasons for Object Orientation (using a subset of Java). Then, they introduce you to design patterns. Note, I say "introduce" in both cases.
    There are definitly more "classic" books out on all of these topics. Sadly, I think the definition of "classic" is too often the same for computer books as it is for standard literature. A book everyone talks about, but no one reads. For a "Smart Person", I'm not sure I know of any more accesable, compact, high density introductions to such fundamental topics. It's been my experience that smart people only need to be introduced to ideas to get them started. These books are slim enough that a person working full-time could go through them (thoroughly) in a week each, taking away quite a bit of information. You would then be better prepared to choose your next book from the list of "classics".
  193. Linux Starters by teaton · · Score: 1

    I always liked the Unleashed series for Linux, helped me get started so many years ago :). As far as coding goes, If you're looking to get started coding and don't have any experience, get a book that's set up like a text book (or just get a school text book). It's easier to measure your progress if the chapters have tests and quizes at the end. Also, if you're doing coding, I've found that having two books on hand helps, one big thick $50 something or other as an in depth reference, and then some tiny lil $20 learn C++ in 5 mins, etc, as a quick reference. HTH

  194. Sams Teach Yourself in {21 days / 24 hours} by fdiv(1,0) · · Score: 1

    When I first started looking at computer books, I classified the Sams "Teach Yourself" series into the same category as "for Dummies". Then, one day, I decided I wanted to learn C. I went to the bookstore (long before the days I knew of free online book sites like informit) and was presented with only two choices: Sams Teach Yourself C in 21 Days, or C for Dummies. Weighing out my chances (and glancing through the table of contents of each book), I decided to suck it in and try the Sams book. (I refused to sink to the level of the other choice.) I took the book home, and four days later (at a rate of 3-4 chapters/day, skipping the "how computers work" and "installing Borland C" first couple chapters) I knew more about C than (I later found out) was taught at the college I went to. The books are very well structured, and after the first four chapters (Days), each chapter builds on something taught in the earlier ones. Since then, I have bought several Sams books, and with the exception of one (Advanced C in 24 Hours, only because it was DOS-centric), I have been very happy with them. Definately a recommended {publisher / series / whatever you want to call it}.

    --
    --- "...And everybody died!!! Except for me, of course...you know why? Because I had my tray table up...and my seat ba
  195. books I keep handy by squirrel_mop · · Score: 1
    I am not a good learner from those self teaching books, and I find I pick up on stuff quickest from reference books, however the _best_ programming book I have had is "A Programmer's Introduction to PHP 4.0" by W.J. Gilmore, which combines practical knowledge and information as well as a comprehensive refence to the functions layed out in a convenient way. The book is mainly for people starting out with no knowledge of PHP, but it doesn't waste time on stupid metaphores for variables. Even if you know PHP (at least the basics) this is still a good book because it also has a unique refence style layout for PHP with SQL, installation, XML, OOP, etc..

    That book and "Apache Desktop Reference" are always beside my monitor.

  196. Here's my GOLD list! by Prof.Phreak · · Score: 1

    Here's my gold list (from the front of my bookshelf):

    Computer Graphics, Principles and Practice, Foley, van Dam, etc.

    Computer Graphics, C version, by Donald Hearn and Pauline Baker

    Real-Time Rendering by Thomas Moller and Eric Haines

    Crafting a Compiler with C by Fisher and LeBlanc

    Numerical Recipes in C, Art of Scientific Computation

    Introduction to Algorithms, Cormen, Leiserson, Rivest

    Computer Algorithms, Introduction to Design and Analysis by Sara Baase

    Computers and Intractability, A guide to the theory of NP-Completeness

    Computability, Complexity, and Languages, by Martin Davis

    Introduction to Languages and The Theory of Computation, by John Martin

    An Introduction to The Theory of Numbers by Ivan Niven, etc.

    Operating System Concepts by Silberschatz, Galvin, Gagne

    Data Compression, The Complete Reference by David Solomon

    The Art of Computer Programming by Donald Knuth

    Rapid Development by Steve McConnell (and other McConnell's books)

    And how could the list ever be complete without...

    The Mythical Man-Month by Frederick Brooks

    (am I a nerd of what?)

    --

    "If anything can go wrong, it will." - Murphy

  197. Re:Bertrand Meyer: OOSC2 by Anonymous Coward · · Score: 0
    Meyer does tend to rub one the wrong way. I had a professor at university who was also very arrogant but still I learned quite a bit. Mostly Meyer backs up what he claims with incredible logical arguments, but a careful reading of the book will reveal a couple of places where he "waves his hands" to get over some contradictions.

    One case is where he discusses enumerated types. He doesn't treat them in an OO fashion, and he even breaks his rules on the opaqueness of types by exposing thier internal representation as unique integers. Of course he waves his hands over what an integer exactly is too. He wants everything in his world to be a proper "object" but when some things don't fit so neatly, he waves his hands and tries to distract us from the contradiction.

  198. Coroutines in C by Lao-Tzu · · Score: 1

    One of the best reads I've ever located on the web relating to development is rather peculiar. If you do C or C++ development though, this page may very well astonish and gross you out.

    It explains how to implement coroutines in C, using a not-so-well known feature of switch statements: cases may be inside blocks inside a case statement.

    I printed this out and showed it to my boss. I think he said something about firing for using code like that, but I didn't pay much attention to him. ;-)

  199. Good books by esap · · Score: 1
    These are the best books I've read:

    Hofstadter: Gödel, Escher, Bach, an Eternal golden braid

    Gamma et. al: Design Patterns, Elements of Reusable OO software.

    Abelson, Sussman: Structure and Interpretation of computer programs.

    Lakos: Large scale C++ software design.

    Barendregt: Lambda calculi with types. http://citeseer.nj.nec.com/barendregt92lambda.html

    Sorensen: Lectures on the Curry-Howard isomorphism. http://citeseer.nj.nec.com/519604.html

    Knuth: The art of computer programming. (all volumes)

    Rumbaugh et. al: Object oriented modeling and design

    Brown et. al: Antipatterns, Refactoring software, architectures and projects in crisis.

    Hopcroft, Ullman: Introduction to automata theory, languages and computation.

    Henning, Vinoski: Advanced CORBA Programming with C++.

    McConnell: Code complete, A practical handbook of software construction

    McConnell: Rapid developement, taming wild software schedules

    Brooks: The mythical man-month.

    Meyer: Object oriented software construction

    Andrews: Concurrent programming, principles and practice.

    Russel, Norvik: Artificial intelligence, a modern approach

    Meyers: Effective C++, 50 specific ways to improve your programs and designs.

    Meyers: More effective C++, 35 new ways to improve your programs and designs.

    These were selected from about 60 different books.

    --
    -- Esa Pulkkinen
  200. you all a bunch of sissies by Anonymous Coward · · Score: 0

    all you need is revolutionary guide to assembly language and dos debug program to craft masterpiece

    alright may need table to translate to opcode

    1. Re:you all a bunch of sissies by crazzyrussian! · · Score: 1

      bah... use hex editor and opcode from scratch

      --
      "Indeed, the ideal for a well-functioning democratic state is like the ideal for a gentleman's well-cut suit- it is not
  201. Cool! command reference by nerdsinspace · · Score: 1

    I saw this website for a book that I guess took a group of computer guys almost 3 years to write. It looks pretty amazing to me. The book claims to have every UNIX and Linux command in existance and cross-references. I checked out the samples and I think I will order it soon. The website for the book is http://www.allcommands.com. Check it out and let me know what you think

  202. You MUST buy these (waves hand in Jedi manner) by Anonymous Coward · · Score: 0

    Well there's some great stuff but it can be hard
    to find if you don't know what you're looking for.

    Try any of the following:
    Chip, the Little Computer (ISBN: 1885624557)
    Look Inside a Computer (ISBN: 044842178X)
    101 Things to Do With Your Computer (ISBN: 0746029357)
    Hit Enter (ISBN: 0325000816)

    of course the seminal book "The ladybird book of computers" is now very difficult to find despite being the bible in this area. It certainly taught me everything I needed to know.

    However, if you've had enough of the hard stuff you could look at these for some light relief:

    First Course in Formal Language Theory by V. J. Rayward-Smith (ISBN: 0632011769)

    The Art of Computer Programming (ISBN: 0201485419) this one's a bit of a classic really so if you're a real geek you're gonna want to say that you don't need to read this.

    Anything else is icing on the cake :-)

    AC and proud of it!

  203. Re:Structure and Interpretation of Computer Progra by Anonymous Coward · · Score: 0

    Wow I can't believe MIT makes you write a scheme compiler. I had to write one for one of my classes, and I went to an affordable school.

    The prof. called it simple scheme, we called it hell. I actually have a shirt that has a logo of
    front: not (logical operator) superman logo (read as not superman)
    back: Scheme Programmer

    I still hate scheme not everything should be recursive.

  204. Publisher by droyad · · Score: 1

    The best programming books come from O'Rielies (spelling is wrong). I've bought a few and basically they assume you know something. So the book on C# I bought assumed I was well practiced in Programming and wanted to know how I could apply my knowledge in programming with c#. It didn't teach basic programming techniques and theory, except for a very light section to introduce the language

  205. Books on AI & graphics by metlin · · Score: 2

    For books on AI, I'd definitely recommend -

    Artificial Intelligence - Elaine Rich & Austin Knight

    Artificial Intelligence - Patrick Henry Winston

    If you're serious abt AI, I'd also recommend that you also read these auxillary ones -

    Natural Language Understanding - James Allen (awesome book)

    Compilers: Principles, techniques and tools - Aho, Sethi & Ulman

    Graph Theory - Narsingh Deo

    These books would give you a general idea about AI, and then specializing into any area would be fairly less difficult.

    If you are planning on using LISP in AI, I'd again recommend Patrick Henry Winston & Berthold Klaus Paul Horn's book on LISP.

    And in graphics, I'd recommend 2 must-read books -

    Computer graphics: Principles & Practice - Foley, van Dam, Feiner & Hughes

    Graphics Programming Black Book - Michael Abrash

    (ok, although this is very outdated, he mentions some amazing techniques on optimization like bit compression, culling and the like, good anyday!)

    Ofcourse, in almost all areas of comp sci, having the three volumes of Knuth would also be very handy indeed, if only as a reference material.

  206. These are the essential ones by Anonymous Coward · · Score: 0


    Any geek should have these on their bookshelf :

    Advanced Programming in the UNIX environment (W. Richard Stevens - ISBN: 0201563177)

    UNIX Network Programming Vol 1: Networking APIs - Sockets and XTI (W. Richard Stevens - ISBN: 013490012X)

    UNIX Network Programming Vol 2: Interprocess Communications (W. Richard Stevens - ISBN: 0130810819)

    C Programming Language: Ansi C (Kernighan and Ritchie - ISBN: 0131158171)

    The C++ Programming Language, Special Edition (Bjarne Stroustrup - ISBN: 0201700735)

    Programming with POSIX Threads (David R. Butenhof - ISBN: 0201633922)

    TCP/IP Illustrated Vol 1: The Protocols (W. Richard Stevens - 0201633469)

    TCP/IP Illustrated Vol 2: The Implementation (Gary A. Wright, W. Richard Stevens - ISBN: 020163354X)

    TCP/IP Illustrated Vol 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols (W. Richard Stevens - ISBN: 0201634953)

    The above books are very high quality and are packed with info. A good buy.

  207. my "best books" by danny · · Score: 2
    Well, the following computing books made it into my best books selection: See the computer science, computing, networks, and Internet sections for information about lots of other books.

    Danny.

    --
    I have written over 900 book reviews
  208. Bruce Eckel by peterpi · · Score: 0

    For C++ I would recommend "Thinking in C++", and for Java the similarly titled "Thinking in Java".

    In fact, when I was a Java programmer, I think I leant just as much from T.I.C++ as I did from T.I.J, as it talks about the OOP model from a much lower level.

  209. Abrash is the God by Anonymous Coward · · Score: 0

    Michael Abrash, Graphics Programming Black Book

    Of course Kunth's books are essentials. I liked the gang of Four (I think?) design patterns book as well

  210. The Elements of Programming Style by toby · · Score: 2, Interesting
    This under-appreciated text (Kernighan & Plauger) taught me more about writing comprehensible (and minimally buggy) code than any other work I can name. (Thanks, Peter, for lending me your copy. Thanks, bibliofind, for furnishing my very own.)

    Moderation doesn't seem to work very well for lists like this. Maybe each poster should have equal weight, votes for specific texts are added together, and the highest scoring texts bubble to the top. Moderation seems to be a bit orthogonal to this, in that whole "groups" of recommendations are rated. Tough job for a moderator!

    And I think it's HIGH TIME for the allowed HTML to be reviewed in line with recent W3C standards. For instance, most semantic/accessible markup is disallowed (<CITE>, please?) This is wrong (IMHO).

    --
    you had me at #!
  211. Best Computer Books For The Smart by Anonymous Coward · · Score: 0

    ``What do you, the slashdot reader consider seminal works?''
    The eight-by-sixteen ASCII table in my WordStar
    Customization Guide taught me all I needed to know.
    I didn't go into programming, but when I saw the Mac
    two years later I said, "Hmm, niche machine. Pity."
    When I saw Microsoft Windows a year after that, I said,
    "Oh-oh. Someone's up to no good." If anyone knows of
    any books that teach the *basics* to *anyone* with
    half a brain, let us know. *That* is what is really
    needed -- Dan "dski" Strychalski

  212. Use your time, read the classics by ndecker · · Score: 1
    Pick up any book from Goethe, Hemmingway, Steinbeck or any other good writer.

    If you want a more geeky book, read "Gödel, Escher, Bach" from Douglas R. Hofstadter.

  213. No good answer by Diamon · · Score: 2

    There really is no good answer to the question. What book is good for you to learn from is not a matter of how smart you are or what websites you visit. It's how you learn. My suggestion is look at what books you already have and ifgure out which one's did the best job for you. Then look for other books on the topics you want to learn by the same publisher/line. Generally a publisher tries to keep a "feel" for a line (say the O'Reilly in a Nutshell books) even across authors and subjects.

  214. My Favorites by chris-johnson · · Score: 1

    I'm a computer science student at Western Carolina University.. the books I always have sitting somewhere nearby are:

    1) C++: The Core Language ... It's a really good book for getting up to speed in C++. It makes the assumption the reader has previous programming experience (particularly in C), so it doesn't go through the (what I find annoying) "this is an if statement" sort of chapters.

    2) Java, Learn to Program ... This is a rather long book with small type that does include those "this is an if statement" sort of chapters earlier on (it's geared for people who have never programmed before), so I tend to use it as a reference when I forget how some Swing component works or want to be reminded how to do programs with multiple threads.

    3) Learning Perl is a very short, newbie-ish guide to Perl, but if you want to get up to speed in Perl quickly, this'll do it. (I haven't checked out Programming Perl yet, mainly because I'm not a big Perl user).

    4) Online manuals and references (okay, maybe this should fall under last week's thread) are often a good source of information when you're trying to do something not covered in the books.

    5) computerbooks.web.com has alot of free books for download (some as HTML in tarballs, some as PDFs, some online only...).

    Hope these help!

    --

    <wik>/bin/finger that girl in the back row of machines.
  215. cookbooks... by kisrael · · Score: 2

    Cookbooks tend to be better than average...the Perl and Java ones from O'Reilly are great, the PHP one I got from somewhere else was ok.

    I tend to add a cookbook section to my Atari 2600 programming Tutorial, 2600 101

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
  216. Re:More on C++ by Anonymous Coward · · Score: 0

    I would recommend a book i recently bought called "Large Scale C++ Software Design" (ISBN: 0201633620)

    It deals with issues like how to design you program to make the code reusable and how to maintain the code while the project is growing.

  217. Weinberg's Quality Software Management by beowulverine · · Score: 1

    The original post is seems to be asking more for technical books, but I notice a number of replies have listed some of the software engineering books by Brooks, McConnell, etc. so let me add to those.

    Gerald Weinberg's Quality Software Management is an amazing compendium of wisdom on programming and running software development projects. There are four volumes in the series:
    1. Systems Thinking
    2. First-Order Measurement
    3. Congruent Action
    4. Anticipating Change

    It seems to me that from these four volumes, all other software engineering, methodology, and management books can be derived. He identifies fundamental dynamics of humans developing software, the problems that arise and how to address the problems in a systematic way. No quick fixes, no easy answers, but stuff that works in the real world.

    Like Gerald Weinberg's other books, it is very well written: high information density, easy to read, humorous.

    Some of his other books I have read and highly recommend:
    - Becoming a Technical Leader: An Organic Problem-Solving Approach
    - Secrets of Consulting: A Guide To Giving & Getting Advice Successfully (he has also just come out with More Secrets of Consulting: The Consultant's Tool Kit, which I haven't read yet)
    - The Psychology of Computer Programming
    - Handbook of Walkthroughs, Inspections, and Technical Reviews
    - Exploring Requirements: Quality Before Design

  218. Expert C Programming by _randy_64 · · Score: 1

    For C, get "Expert C Programming" (aka the ugly fish book), by Peter Van Der Linden. Excellent in-depth coverage of topics that your average "Learn C" book never even mentions.

  219. Re:For applied C++ YEAH! by IpalindromeI · · Score: 2, Informative

    Also, it's MORONIC that NOT A SOUL is recommending a book that'll teach you even ONE of the Top Ten most important algorithms of the 20th century.

    You're getting outraged over nothing. This page you link to gives the top ten most influential algorithms for computing in science and engineering, not the overall most influential algorithms of programming in general. Reading through them, I didn't see more than a couple that would be useful for general application. They're mostly just for the researchers in these different fields. Besides, everyone knows the most important and influential algorithm of all time is Hello World.

    For my money, I really like the O'Reilly books. They're detailed and informative without feeling overwhelming or distant. I would recommend most of those to a beginner in whatever subject it may be.

    --

    --
    Promoting critical thinking since 1994.
  220. RegEx and Lingo by sparkyz · · Score: 1

    One of the best programming concept books I have ever read is Jeffrey Friedl's Mastering Regular Expressions, now available in a Second Edition. I've become somewhat disenchanted with O'Reilly lately; but this book remains in the stable of great ones for me - both for it's learning value and also for it's high readability, something unusual in a computer book. And here's one that's probably gonna seem off the wall; but Lingo Sorcery by Peter Small, although language specific, really helped to crystallize for me a lot of basic concepts that I have been able to turn around and apply to virtually every other language I've worked in.

    --
    Oops
    1. Re:RegEx and Lingo by daveman_1 · · Score: 1

      That book by Jeffrey Friedl really is an excellent book. Although I'm still trying to figure out whether I have the second edition or not...

      While I'm here though, I think I'll add my recommendation for the best book you'll find if you want to learn C++ as a first programming language: Problem Solving, Abstraction, and Design Using C++, by Frank L. Friedman and Elliot B. Koffman, Addison Wesley Longman Inc. Why do I recommend this book in particular? It touches on a subject that is sorely lacking in most programming books: problem solving and software engineering. It is the book that was used in my intro computer science course at the university. I must've tried to teach myself programming a dozen times before finding this book and just never "got it" because all the books I had been reading left out the most crucial part of programming, how to solve problems...

      --
      Russian Russian Russian RussianDollSig DollSig DollSig DollSig
  221. The "bag of tricks" book by Taco+Cowboy · · Score: 2



    Back in the late 80's, there were couple of "Bag Of Tricks" series of books, for C and C++, and for Programming in general.

    There were extremely helpful.

    I am sorry if I can't remember the exact title, someone borrowed my books and never return them.

    If anyone still remember the title of those books ( something like "101 Programming Tips" ), please post them so I can go and search for them in used book stores.

    Thanks in advance !

    --
    Muchas Gracias, Señor Edward Snowden !
  222. For Understanding Ultimate Reality... by Anonymous Coward · · Score: 1, Interesting

    "The Moment", Kierkegaard (sometimes known as "Attack Upon Christendom")
    "The Banquet", Kierkegaard (found in "Stages on Life's Way")
    Kierkegaard's Journals & Papers
    "Thus Spake Zarathustra", Nietzsche
    The Lectures and Talks of Hakuin
    The Zen Teachings of Huang Po
    The Anecdotes of Diogenes
    Chuang Tzu
    The Gospel of Ramakrishna
    The Dhammapada
    The Diamond Sutra
    "Poison for the Heart", Kevin Solway
    "The Hidden Teaching Beyond Yoga", Paul Brunton (A good analysis of the way mind creates reality)
    "The Way of Zen", Alan Watts (A good introduction to Buddhism)

  223. Linux Device Drivers 2nd ed by burningd · · Score: 1

    As a pretty new user to the linux kernel, i think the above book gives a nice overview. It includes char,block,network drivers and some probing stuff: http://www.oreilly.com/catalog/linuxdrive2/

  224. Kant wrote too. by SEGV · · Score: 1

    You should check it out.

    --

    --
    Marc A. Lepage
    Software Developer
  225. K & R - "The C Programming Language" 2nd Ed. by linuxjack55 · · Score: 1
    The one, the only...

    It's a masterful tome written by, um, the masters.

    Concise, direct, and challenging, this is one of the greatest examples of technical writing I've seen in any field. It contains everything you can, want, or possibly need, to know about C (in a scant 190 pages). It is one of the few essential computer books I've ever encountered.

    --
    The trouble with practical jokes is that very often they get elected. -- Will Rogers
  226. How computers came into being by Jezzerr · · Score: 1

    Book: "Fire in the Valley: The Making Of The Personal Computer"
    Author: Paul Freiberger

    An excellent book that tracks the invention and development of computers. Starts in the 1800's through to the Altair and beyond focusing mainly on the storys of Apple and Microsoft. There was a film made of this book called "Pirates in the Valley" starring Noah Wyle as Steve Jobs. I would recommend this book to anyone.

    --
    The two most common elements in the universe are Hydrogen and Stupidity.
  227. A Very Short Short List by raytracer · · Score: 1
    1. Structure and Interpretation of Computer Programs -- Hands down the single finest book ever written about computer science
    2. The Unix Programming Environment
    3. The practice of programming --
      Anything Pike writes is worth reading
    4. Programming Pearls
    5. Mythical Man Month
    6. Extreme Programming

    I've included no books on C++ or object oriented
    design because I hold the rather radical opinion
    that they aren't very interesting. Pike's book
    does more to explain how to program than any
    book on patterns ever have.

  228. Beginning Programming for Dummies by JayFlatland · · Score: 1

    Once I saw this gem, I decided I had to have it for my shelf at work.

    --
    Badgers? Badgers! We don't need no stinkin' Badgers!
  229. Great PHP Books by mlas · · Score: 2

    My favorite computer books EVER are the PHP Developer's Dictionary (SAMS, by Wyke, Walker and Cox) and PHP Developer's Coookbook (SAMS, by Sterling Hughes). Great organization, just-the-basics examples, even decent typography and layout! It's almost a shame that the language is continually evolving, 'cause I'd like to keep these on hand for a long time.

    I also second everyone who's mentioned Code Complete.

    --
    "Luck is the residue of design" --Branch Rickey
  230. "Calculus Made Easy" by John+Jorsett · · Score: 3, Informative

    As I interpret the question, seminal works on technical topics of all sorts qualify. In that spirit, I most highly recommend "Calculus Made Easy" by Silvanus Thompson. Originally written in 1910 (I think. It's recently been republished), this is the book that finally enlightened me. After 3 years of advanced mathematics and an engineering degree, everything I knew about calculus was rote: I could come up with the answers, but not because I understood the underlying principles or basis, but because I could memorize procedures. After I got this book and read it, I finally understood what the hell it was all about. I don't know whether I was just a bad student before, had bad teachers, or simply was presented the material in a way that was incompatible with the way I learn. In any case, this book did it for me, and perhaps it will do the same for others.

    One caveat: I read the original, not the current version, which Amazon says "In this major revision of the classic math text, Martin Gardner has rendered calculus comprehensible to readers of all levels." I'm loathe to recommend a book that I considered perfect in its earlier incarnation and that someone has 'revised,' so perhaps you'll want to search for the original.

    1. Re:"Calculus Made Easy" by alacqua · · Score: 2

      Although I have not read this book yet, the description says that Gardner simply tweaked a few things like using modern terminology and symbolism. Then he added three chapters covering some concepts not in the original, apparently including infinite series. Given the stellar reputation that Martin Gardner has, I would not worry too much about getting the new edition.

      --

      Move on. There's nothing to see here.
  231. My books by Anonymous Coward · · Score: 0

    I love the deitel & deitel books. Clear and concise.

  232. Best Books by Wixon · · Score: 1

    Forget about everything else you've read so far. O'rielly books are best for C, C++, Perl, Python, PHP , System Administration, anything...

  233. Re:K & R - "The C Programming Language" 2nd Ed by paladin_tom · · Score: 0

    I agree completely!

    After I got my copy of K&R, I was just amazed at how quickly it helped me figure out the more esoteric aspects of the C language.

    I'm a comp sci student at present, and I think schools would be doing their students a favour if they made K&R a required text for some course, just to make sure everyone buys a copy. In terms of learning, this book is the equal of many courses.

    A good follow-up, IMHO, is Stroustrup's "The C++ Programming Language." I wouldn't rate this text as being as strong as K&R (in large part because it is MUCH more wordy), but it is, I believe, the "definitive" guide to C++. It covers topics like classes, templates, and the STL in a very informative manner. As for Java, I believe that Sun's "The Java Tutorial" is very good. It's available at http://java.sun.com/docs/books/tutorial/, and can be ordered in hard-copy. It's also available for download in HTMLHelp format at http://www.confluent.fr/javadoc/indexe.html.

    --
    #define sig "Every social system runs on the people's belief in it."
  234. Re:Effective this by Anonymous+Brave+Guy · · Score: 1, Offtopic
    Anyone taking C++ seriously should change job.

    Thou art a troll, sir, and, I should wager, a poorly paid and bitter one at that. Away with thee, 'fore I rain down fireballs and acid arrows upon thy head.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  235. Re:For applied C++ YEAH! by Anonymous+Brave+Guy · · Score: 3, Informative
    Also, it's MORONIC that NOT A SOUL is recommending a book that'll teach you even ONE of the Top Ten most important algorithms of the 20th century.

    If you truly believe that those are the ten most important algorithms of the 20th century, you really need a change in perspective. Quicksort could certainly be put forward as one of the most important algorithms of all time in computer science. Most of the remaining algorithms mentioned are important for their mathematical basis and/or their contribution to the field of engineering, not for their contribution to computer science.

    And of course, in order to make any use of these algorithms, it is important to have a good implementation of them. If you don't know how to write those "frickin for loops" and how to make use of your development tools of choice, you're going to get nowhere real fast. It's true that from a computer science perspective, many development languages or features in them are isomorphic and once you've learned it once, the rest is mostly just a different syntax. But you do have to learn it once, and well.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  236. Language agnosticism and using the web by Anonymous+Brave+Guy · · Score: 3, Interesting
    Since the advent of the web, though, I've come of the opinion that language agnostic books are the important ones.

    I think that was always true beyond a certain point. Most developers follow the same path: they start out with specifics (their first language, a particular I/O library) and as they learn more specifics, they start to see the generalities (procedural/OO/functional/etc. approaches, "pseudocode" for algorithms, concepts like controls/widgets and event-driven code in GUIs). There is always a need for good information on any given tool, be it a programming language, a library or whatever, but the distilled knowledge that transcends any specific tool will always be more useful for longer.

    Books on particular languages ("Learn Foo in 21 days", "Practical Programming in BarBaz") or technologies date way too quickly. The web is the best source for information like this.

    That I have to disagree with, though. The web is a great source of information for a few languages, particularly the less popular ones. It's a lousy source of information on good programming technique in many (C, C++, Java, etc), because most of what's there is written by enthusiastic but ill-informed authors, and they simply spread their poor style or incorrect knowledge.

    Most languages do not change so fast that a good book will date too quickly to be useful. In various places I've programmed, there have been plenty of books on the shelf covering C, C++, Java, Python, Perl, FORTRAN and other languages, many dating from several years ago but still just as relevant today. Sure, there come certain cut-off points; books with only the Java 1.0 library in them or dating from before the C++ standard have limited use, now. But those cut-off points are relatively rare. Reading a good book takes only a few days, and even if the benefits last for a year or two, that's still a very sound investment.

    The web can be good for keeping up with rapidly changing libraries (Java's, for example). Then again, if your library is changing so fast that books on it are obsolete before they're useful, perhaps you should slow down. This problem is usually caused by adding too much to a library too fast, and the consequent continual efforts to clean up the mess.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  237. Douglas Hofstader by gwernol · · Score: 4, Interesting

    I'm surprised this hasn't been mentioned yet. Godel, Escher and Basch by Douglas Hofstader. This is profound investigation into the fundamental theories that underly computer science. After reading this book everything else is just work. If you can understand Hofstader you have all the theoretical and philosophical underpinnings you need to really understand software.

    The real joy is this book is not just meaningful it is also enormous fun. Hofstader covers some complex mathemetical ground (Turing machines, Cantorization, Godel's incompleteness theory) wrapped up in erudite and thought-provoking tales of the relationship of computer science, language, art and music.

    Truly one of the great works of our field.

    --
    Sailing over the event horizon
  238. Code Complete, for *any* programmers by Anonymous+Brave+Guy · · Score: 2

    I don't think Code Complete is only relevant to newbie programmers. Far from it, I know many who went into programming without any formal background in CS or programming theory, whose work is good more because of natural talent and enthusiasm than anything else. These people will make the effort to read a book like this if you give it to them, and they will go from being good to being great.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Code Complete, for *any* programmers by willis · · Score: 2
      Well spoken -- it's good for just about everyone.
      I've been programming for several years (on and off), and I look to the book frequently for suggestions, or just to stir the coals in my head.

      --

      there is no thing
      what else could you want?
  239. Recursion by alienmole · · Score: 2
    I still hate scheme not everything should be recursive.

    Sounds like you didn't actually learn the lesson. Recursion and loops are mathematically equivalent - if you see a difference between the two, it's only in your head (and perhaps on the stack of a language that doesn't properly support it).

    All of the most sophisticated languages available today make recursion a very natural part of their operation: the ML family, including OCaml; Haskell; and of course, Scheme. Here's a factorial function in ML:

    fun fact 0 = 1 |
    fact n = n * fact(n-1);
    All it says is "the factorial of 0 is 1; the factorial of n is n times the factorial of n-1". Of course, factorial might be called a naturally recursive function, but the point is that in languages that support recursion, recursion is as natural as looping, and in fact usually much clearer in terms of communicating what's happening.

    If you'd like to learn about recursion in a very natural way, try A Gentle Introduction to ML, which is an excellent tutorial. You don't have to get very far into it before it becomes obvious how useful and natural recursion can be.

    1. Re:Recursion by fferreres · · Score: 2

      Recursion and loops are mathematically equivalent

      Isn't looping a subset of recursion, or a limited way of recursion?

      A loop is like a recursion in which you declare all function variables as globals, you can't pass arguments (can't declare anything local). And with no return functionality?

      --
      unfinished: (adj.)
    2. Re:Recursion by alienmole · · Score: 2
      Isn't looping a subset of recursion, or a limited way of recursion?

      Any recursion can be translated into a loop, and vice versa, so the answer is no. However, it's certainly true that recursion is usually more expressive than looping, i.e. more concise and communicative of the intent of the code.

      If recursion and looping were not equivalent, there would be operations which you could not do without one or the other approach (or you'd need a third alternative), but that's not the case. The equivalence of recursion and loops can be proved via a formal mathematical proof - which qualifies as real computer science, btw.

      An easy way to prove it mentally is to construct a general rule for translating recursion to a loop: simply declare each of the original recursive function's parameters as an array, and use the loop index to index into that array. Of course, many recursive operations can be loopified more efficiently than this.

      You could argue that in going to the trouble of implementing recursive behavior as a loop, you're effectively implementing recursion, and thus no longer looping at all; but that kind of proves the point that there really isn't much difference between the two, conceptually.

      A loop is like a recursion in which you declare all function variables as globals, you can't pass arguments (can't declare anything local). And with no return functionality?

      That's reasonably accurate, although I would replace "can't" with "less convenient".

    3. Re:Recursion by fferreres · · Score: 2

      If recursion and looping were not equivalent, there would be operations which you could not do without one or the other approach

      Yes, but I though loop was a subset of recursion, not a different beast. I only learned recursion when loops where not good enough for doing what I needed (ie: I just _couldn't_ find a way to accomplish the task :-).

      Thanks for insight!

      --
      unfinished: (adj.)
    4. Re:Recursion by joto · · Score: 2
      Well, but if you also had learnt your lesson, you should have written it tail-recursive:

      fun fact n = fact' n 1;
      fun fact' 0 res = res |
      fact' n res = fact' (n-1) (n*res);

      In this case it becomes as fast as a typical loop. This of course makes the code slightly more complex, and explains why most programming languages have loops.

    5. Re:Recursion by alienmole · · Score: 2
      Hmmm. It isn't clear from your post whether you're aware that all recursion can automatically be transformed into iteration. This was the point of my statement that recursion and iteration are mathematically equivalent, i.e. each can be converted into the other following well-defined rules. This makes such conversion quite amenable to automated transformation, e.g. by compiler.

      In fact, in the CPS intermediate representation for compiled code, commonly used for functional languages, *all* calls are converted to tail calls, automatically. CPS conversion and subsequent closure optimization allows functions to be written recursively, without worrying about tail calls, and converted by the compiler into an iterative tail call form, where possible.

    6. Re:Recursion by joto · · Score: 2
      You are right, I didn't know that. I do intend to learn more about CPS sometime ;-)

      Of course, not all functional languages are implemented using CPS (e.g. Ocaml). But smlnj is (I think), so all the more power to your original example.

      Thanks for your correction, which quickly led me to some interesting websurfing on the topic ;-)

    7. Re:Recursion by alienmole · · Score: 2
      You're welcome. Some of the most interesting computer science I've come across has been from googling based on Slashdot messages... ;)

      You have a valid point that it's not possible to rely on recursion always being as efficient as iteration in a given language or language implementation, so for maximum efficiency, you have to become familiar with the capabilities and quirks of the system you're using. That's true of many other features also, though.

      This is a big reason that recursion gets a somewhat bad rap: mainstream languages have virtually zero support for it (other than e.g. tail call support in gcc), and support in other languages varies wildly. I expect over the next decade or so, we'll start seeing better recursion support in mainstream languages.

  240. My list of favourite books: by comp.sci · · Score: 1

    C++: Problem solving with C++ - The Object of programming by Walter Savitch
    Data Abstraction and Problem solving with C++ by Carrano, Helman and Veroff (both books were used in my Harvard course "introduction to computer-science"

    Networking: TCP/IP Illustrated Volume I - W. Richard Stevens

    Security/Honeynets: Know your enemy by the Honeynet Project

    Perl: Perl for Dummies by Paul Hoffman

    google.com - the best search engine for finding information (try groups.google.com)

  241. I don't buy books anymore... by BeatlesForum.com · · Score: 1

    I can pretty much find anything I need on the Internet now without having to blow ~$50.00 on some book that I'll reference a few times.

    --
    When millions disappear from earth, it's not aliens, it's the rapture.
  242. Re:"Editors Are Censoring Nazis" is a very good bo by bigsexyjoe · · Score: 1
    You seem to have very strong feelings about slashdot. It is one thing to troll because it is funny but another to troll because you really hate slashdot. You say boycott and go to other sites? Then do it already!! They are not Nazis they simply run a private business in the manner they see fit. Ironically enough, kuro5hin has a policy that they can actually remove posts and slashdot does not.

    Is slashdot trying to egg the trolls on? Of course they are!! The trolls are some their most avide readers and posters. They are also very entertaining and get people (like me) to read the comments. I don't like the twice a day rule, but that probably does keep the trolls fresh and more entertaining, rather than redundant.

  243. Re:"Editors Are Censoring Nazis" is a very good bo by Anonymous Coward · · Score: 0

    I can't actually find this book. Could you give me an ISBN number? This is a book about applied crytography right?

  244. I would add Dijkstra by jason_watkins · · Score: 1

    It's a bit formal, but Dijkstra's discipline of programing can really deepen your intuative understanding of what programing is all about, and how to be beyond confident your program does what is intended, to be certain of it.

  245. Databases! by crucini · · Score: 3, Informative
    I work on server-side business apps, so that colors my response. The single biggest error in business programming is probably underestimation or misunderstanding of relational databases. Used properly, the database takes on much of the burden of storing, indexing and searching the data and prohibiting the entry of inconsistent data, thereby lightening the load on the application programmer. It's generally best to make the database the center of gravity, and use the "host language" (perl/java/python) as a thin layer of authentication, validation, business rules and logging between the database and the network. To do this, you need a good understanding of:
    • database design. Read Graeme Simsion's Data Modeling Essentials. This explains how to analyze proposed and existing business activities and accurately reflect them in a database schema. Knowing a lot about SQL or Oracle is not a substitute! A strong schema forces the database to do much of the work for you. A weak schema reduces the database to expensive passive storage.
    • SQL. Read Joe Celko's SQL for Smarties. Work through the examples with Postgres or Oracle. (Knowledge is in the fingers.) Main benefit: the ability to craft a SELECT statement that generates a desired report with little or no postprocessing in the "host" language. On average, the database is going to be faster and less buggy at extracting, correlating and sorting data than any custom-written code. If you ever perform two SELECTs and knit the results together with custom code, your SQL knowledge may have room for improvement.
    Geeks love introverted, clean, mathematical problems and hate ugly, fuzzy business-driven problems. That bias is reflected in the responses here - Knuth is the hands down favorite. While I don't dispute Knuth's value, the focus on algorithms reinforces the lamentable tendency to reinvent the database for each major application. The programmer with a knowledge of C and a head full of algorithms has in a sense a complete toolkit to take on the world, but the programmer with a high-level language and a relational database operates at higher leverage because he need not reinvent fundamental parts each time.
    For example, I learned many sorts in school. I have never used any of them at work. Perl has a built-in quicksort, and SQL has ORDER BY. I think you can assume that more energy and expertise went into Oracle's implementation of ORDER BY than you can bring to bear on average on a homemade sort.
    1. Re:Databases! by alacqua · · Score: 2
      I agree that it is important to understand the relational model and I also agree with your recommendation of Data Modeling Essentials. However, it is a practical book designed to help those who already understand databases and the relational model in the abstract but don't have experience "where the rubber hits the road". As a book to get the more abstract background, I suggest

      Introduction to Database Systems, C.J. Date.

      Although he can be pedantic, this book teaches the relational model very well. It is somewhat abstract, but it seems much more straightforward than other books I have read covering the same material. Apparently, the new (7th) edition has a greater focus on his "Tutorial-D" language than SQL (because he doesn't believe SQL is a proper relational language). Tutorial-D comes from his book The Third Manifesto which is a detailed proposal for the design of future (object/relational) database systems. I'm not sure if that shift in language focus is a good thing or not. I read an older edition, which was excellent.

      --

      Move on. There's nothing to see here.
  246. UI Texts by UncleOlethros · · Score: 2, Informative
    I'm a UI designer/developer and a general bibliophile, so I have lots and lots of books. Most of them are only mediocre, but there are a few that I have found very helpful. I know /.ers come from many different walks of life, so maybe a look into my User Interface library might be interesting:
    • Tufte, Edward: I've already seen a few recommendations for his books, but they are so good I wanted to reiterate them. Even if you're not a UI person, these books are worth at least a flip through in the bookstore.
      • Visual Display of Quantitative Information
      • Visual Explanations
      • Envisioning Information
    • Cooper, Alan, About Face: The Essentials of User Interface Design. Good book with lots of practical advice for designers.
    • Johnson, Jeff, GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers. Concentrates more on the "don'ts" than the "do's" but still an excellent read. Well designed, too, so that you can go to exactly the right section to do a quick check of your work. Good for developers as well as designers, and designed with both audiences in mind.
    • Jacobson, Robert (editor), Information Design. A collection of papers on general information architecture, grouped by topics. Probably the best read I've ever had on information architecture and design, even if I didn't agree with everything in it.
    • Wildbur, Peter and Burke, Michael, Information Graphics: Innovative Solutions in Contemporary Design. Good, hardcore success stories. The section about the signing in Schipol Airport and Dusseldorf Airport is a highlight. Each chapter has relevant case studies about design in various media, from in-car navigational displays to neighborhood maps for the blind.
    • Flanagan, David, JavaScript: The Definitive Guide. One of the only JavaScript books to treat JavaScript like a real language, as opposed to just concentrating on recipes for making mouse cursor trailers and other abominations. I haven't seen the newly-released edition yet.
    • Schengili-Roberts, Keith, Core CSS. A fairly advanced text that I use regularly. Lots of examples. At the time I bought it, it was the only full CSS-2 reference I could find in print.
    I also have several pure design books for various media--books on typography, graphic design, web graphics, technique books for Photoshop and Illustrator, and so forth. Those aren't precisely apropos, though.

    In addition to my UI books, I have a few other books that I'd classify as seminal:

    • Kernighan, Brian and Ritchie, Dennis, The C Programming Language. My very first language book. Hard to beat as a way to learn C, though not for the faint of heart. (I learned C using K&R and the man pages.)
    • Nemeth, Evi, et al. Unix System Administration Handbook. The book for Unix admins. I have five sysadminish books that I've bought in my ten or so years of doing Unix administration, and this is the only one I refer to with any regularity.
    • Oualline, Steve, Practical C Programming. The stylistic advice in this book is priceless. Great companion to K&R.
    • Vermeulen, Allan, et al. The Elements of Java Style. Great handbook on writing good Java code, which will help keep code clean and consistent--something all of use can use help with from time to time. The directives are along the lines of "Choose good and consistent variable names," as opposed to "All variable names shouldBeLikeThis."
  247. O'Reilly's is obvious... by TibbonZero · · Score: 2

    I think that O'Reilly's has put out more quality and less fluffy technical books than any other publisher. Their books on Perl are Masterful, and they really care about the computer and technical topics that matter, not stupid stuff about "Windows ME Super Secrets"
    I think that their stuff on Bioinformatics is great, because few others are covering that. Or books on just Regular Expressions. Other publishers might touch on something like that for 2 seconds, and then leave. I haven't seen anything written by them that gets your hopes up too much. They don't promise that you will Master C++ in 7 days, or 24 hours (which I think is what some of the people in my Com Sci classes thought they could do, but they failed, after trying to cram everything in in one night). They don't claim that programming games is easy, and that anyone can kick out quality game engines.
    Alot of publishers put out these books that offer too much, often more than they really offer.

    The books for dummies are ok for people who have never touched a computer, and don't really want to know much more than the basics, but they really aren't gonna do that much for you

    --
    Tibbon
    tibbon.com
  248. Just to point out the obvious by Anonymous Coward · · Score: 0



    Here's probally one of the best lists of books available.

  249. Avoid UNIX books for ever by kick_unix_from_workp · · Score: 1

    Every new programmer should be advised to Avoid UNIX from the beginning. Look at the torture of learning a cryptic language like shell. The options are driving all crazy. The previous learners have taken upon themselves to impose the stupid shell on the youngsters. No one had made any attempt to rewrite a NEW shell with simple commands. Take the example of the command tar. Can't they rewrite it like this. archive inputfolder=currentfolder outputfile=somefile overwrite=yes Once beginners avoid unix, it will teach a punishing lessons to companies like SUN and UNIX who will then agree to modify their behaviour. till that time, bye,bye Unix.

  250. Re:Structure and Interpretation of Computer Progra by fferreres · · Score: 2

    Looping is a very special case of recursion, isn't it. I am not a good programer for sure, but after fully grasping recursion I wonder why do we need loops at all. Maybe only to save some stack memory in special cases, but loops should be teached well after recursion, and only as a practical convenience or short cut.

    I'm not good at math, but will definetly take a look at this book :) (neither do I studied CS or CE). But any science should force you to study CS or at least advanced programing. It's a shame to see Economists using paper writen math in publications and not programs, or even Excel spreadshits for complex stuff which should have been a program really.

    --
    unfinished: (adj.)
  251. The Feynman Lectures on Computation by Anonymous Coward · · Score: 0
  252. My list by Anonymous Coward · · Score: 0

    Here's the list of all the books I've recommended to people in the past (usually people looking for books on a specific subject, though, not people looking for "good books.") Some of the URLs may be out of date.

    Advanced Programming in the Unix Environment - W.R. Stevens
    http://www.kohala.com/start/apue.html
    http://www.bookpool.com/.x/x/ss/0201563177
    http://www.isbn.nu/0201563177

    The C Programming Language - Brian Kernighan and Dennis Ritchie
    http://cm.bell-labs.com/cm/cs/cbook/
    http://www.bookpool.com/.x/x/sm/0131103628
    http://www.isbn.nu/0131103628

    Expert C Programming: Deep C Secrets - Peter Van Der Linden
    http://www.sun.com/books/catalog/vanderLinden/
    http://www.bookpool.com/.x/x/sm/0131774298
    http://www.isbn.nu/0131774298

    The C++ Programming Language, Third Edition - Bjarne Stroustrup
    http://www.research.att.com/~bs/3rd.html
    http://www.bookpool.com/.x/x/sm/0201889544
    http://www.isbn.nu/0201889544

    The C++ Standard Library : A Tutorial and Reference - Nicolai Josuttis
    http://www.josuttis.com/libbook/
    http://www.bookpool.com/.x/x/sm/0201379260
    http://www.isbn.nu/0201379260

    Programming Perl, 3rd Edition - Larry Wall, Tom Christiansen, Jon Orwant
    http://www.oreilly.com/catalog/pperl3/
    http://www.bookpool.com/.x/x/sm/0596000278
    http://isbn.nu/0596000278

    Introduction to Algorithms - Cormen, Lieserson, Rivest
    http://theory.lcs.mit.edu/~clr/
    http://www.bookpool.com/.x/x/sm/0262032937
    http://isbn.nu/0262032937

    Open Source Development with CVS - Karl Fogel
    http://cvsbook.red-bean.com/
    (book has been replaced with a second edition)

  253. books -- some re-runs, maybe some not by ansak · · Score: 1
    I hope somebody is going to compile this list when all is said and done. For my part, I've seen a LOT of my favourites under other people's headings, but here are the ones I would recommend:
    • The Mythical Man Month
    • Writing Solid Code
    • PeopleWare
    • The Timeless Way of Building
    • The Cuckoo's Egg
    • Effective C++, More Effective C++, Effective STL
    • Extreme Programming Explained, Extreme Programming Explored, Extreme Programming In Practice
    • Joel Spolsky's book on User Interface
    • Design Patterns (but not before you've spent about three years using C++ extensively)
    • Applied Cryptography
    • all the documentation that came with the pre-Network Associates versions
    • Judge Thomas Penfield Jackson's finding of fact against Microsoft
    • the Peruvian Congressman's reply to MS-FUD
    • comp.risks -- usually good for a laugh, often very sobering
    • In The Beginning Was the Command Line
    • Roger Penrose's Shadows of the Mind
    • Orson Scott Card's "Ender" books: Ender's Game, Speaker for the Dead, Xenocide, Children of the Mind and Ender's Shadow (the latest one was a trifle weaker)
    Lots of others, too, but those are the more techy-ish ones.
    --
    Still hoping for Gentle Treatment...
  254. Classics by Anonymous Coward · · Score: 0

    The Elements of Programming Style and Software Tools by Brian W. Kernighan, P. J. Plauger

    Programming Pearls
    by Jon Bentley

    Code Complete
    by Steve C McConnell (too bad more m$ofties have not read it)

    The Psychology of Everyday Things, The Design of Everyday Things and The Invisible Computer : Why Good Products Can Fail, the Personal Computer Is So Complex, and Information Appliances Are the Solution
    by Donald Norman

  255. Two more C books by Anonymous Coward · · Score: 0

    Apart from R.Stevens APUE and Network Programming books, there are two more general C books which have a great reputation but are, funnily enough, rarely mentioned:
    1) Samuel P. Harbison, Guy L. Steele "C: A Reference Manual"
    2) Peter van der Linden "Expert C Programming"

  256. Add Stevens TCP/IP books.... by TBone · · Score: 2

    Volumes 1, 2, and 3. One, in particular, teaches you everything you need to know about networking protocols. Everything is broken out at the tcpdump level, and his demo network is well illustrated, so you can see how everything talks.

    --

    This space for rent. Call 1-800-STEAK4U

  257. Mod the parent up, he's right! by JohnQPublic · · Score: 1

    The xxx for Dummiesvolumes are great resources. I've used them tons of times for survey-level forays into unfamiliar teritories. If you're a Reader (two-foot tall stack of pending material on your nightstand, a bedroom "decorated with books", and a lust for Henry Higgins' library from the Rex Harrison/Audrey Hepburn version of My Fair Lady), you should be able to scan through one of these tomes in an hour or two and come away with enough of an understanding of the subject to go find better, more in-depth material easily.

    Plus, your local public library has many of them on the shelves, saving you the investment in books you'd rather not display in your bookcases!

  258. This is stupid! (was: Re:A brief list) by sorbits · · Score: 1

    Come on... this just looks like a stupid competition of who have read the most books -- I doubt people have even read through many of the books they suggest, or have considered why that book should be a must read.

    It's similar to me listing all my CD's and labeling them Music you must have.

    I consider myself rather skilled when it comes to computers/programming -- but even though I've read many of the books mentioned, I certainly wouldn't say they are must read -- Knuths The Art of Computer Programming seems to come up rather often, so does Design Patterns (during the recent years), but exactly what is it in these books that make them a must read? Is it simply so that you can discuss the content with your fellow programmer friends (or should I say brag about having skimmed the table of contents?).

    Don't get me wrong, I'm not against books -- I have 6 years of formal education behind me, but seeing people list the same hyped books just make me think that those people haven't really read anything else, and also have missed out on a lot of real computer science information left out of those popular books... not to mention the parent list, which list 10 books that in their title reveal that they are tied to C/C++ -- C/C++ is a practical language, but academically inferior, and only reading about that language certainly will limit your perspective -- besides, how much can these books teach you apart from the actual language? You should just get the language definition and then read books about all sorts of other topics, to get more general design and algorithm knowledge, not to mention getting your hands dirty by getting some experience!

  259. Fortran optimizing compiler? by HuguesT · · Score: 1

    Yes, I think you need a book that'll teach you this `algorithm'. Yes it's part of the top 10 and you are likely to use it in each and every one of your GUI programs deep inside a couple of do/while loops.

    Please get some perspective.

  260. Not just new O'reilly books are bad by HuguesT · · Score: 1

    In the O'Reilly series there are lots of truly excellent books, and quite a few lemons. For a truly horrible few check their RCS/SCCS offering or their C++ books.

  261. books..... by netsurferchick · · Score: 0

    I had given myself a task this summer and that was to teach myself PHP. Since i am fairly decent with HTML, it wasnt to difficult to read get the jist of PHP. I had gone to the local bookstore and found a great book that was very user friendly and it gave step by step instructions for anything you would want to write. The name of the book is "PHP:Fast and Easy Development". It is written by Julie C Meloni. I found it very easy to understand, and I think it is a grat book for anyone who has little to no knowledge of PHP.

    --
    "Knowledge is from books, Wisdom is from experiences"
  262. Windows Programming with MFC by lateralus_1024 · · Score: 1

    by Jeff Prosise....the beast has like 1300+ pages and cost like $70. It's the single best book i have. errm, Microsoft Press. Yeah I know, i need to be modded down.

    --
    If you think /. comments are bad, check out Digg.
  263. Great book: Pragmatic Programmer by skip_linfu · · Score: 1

    _The_Pragmatic_Programmer_ by Andrew Hunt and David Thomas is an excellent book containing many basic programming and project management tips. It is written in a clear style, making the information very accessible to any one. I suggest all new or relatively novice programmers pick up a copy and read it. Check out reviews and exerpts at: Amazon

    --
    skip

  264. On line SQL book by neves · · Score: 1

    I really like this on line sql book, by Philip Greenspun. I doens't waste time.

  265. A couple not mentioned here... by Anonymous Coward · · Score: 0
    (at least at level 3).

    Network Programming in Perl by Lincoln Stein is probally the best candidate for third book a Perl Programmer needs (after Programming Perl and Perl Cookbook). Of course few programmers ever get this far.

    If your just going to program in plain C instead of C++, any of Steven Kochan's books are great. They are a little old, but still good. His Topic's in C is a good Unix system library reference.