Slashdot Mirror


A Programmer's Bookshelf

An anonymous reader writes "With christmas just round the corner I have been looking for gifts for my geek friends. But what book? I recently found a simple page with one person's bookshelf and explain what's good and what's not. What do you think? Whats on a programmer's bookshelf? (or what should be and is not!)"

21 of 362 comments (clear)

  1. first post by themusicgod1 · · Score: 5, Informative

    goedel escher bach d:

    --
    GENERATION 26: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
  2. And just as importantly... by tcopeland · · Score: 4, Funny

    ...do you group your books by color or by topic? Especially the O'Reilly books... does the Sendmail one go in your "mail server" books? Does the pink Python book go next to the pink CVS book or next to the red and white Ruby book? Decisions decisions!

    Nice to see that he's got his Knuths... although, if he's like me, they get opened about twice a year.

  3. Frederik Brooks by rassie · · Score: 4, Informative

    The Mythical Man-Month by Frederik Brooks (clicky) has some very good insights which still hold true (the book was originally published in 1975).

  4. There are so many options by koltrane · · Score: 5, Informative

    It's hard to be specific when "a programmer" could write in a number of languages. Regardless, just about anything from O'Reilly is well worth the shelf space. I still have my original copy of "The Whole Internet"!

    1. Re:There are so many options by Klivian · · Score: 4, Insightful

      More importantly a copy of K&R should be in every programing book authors shelf.

      the clear writing style and tidy code snippets are an example to all.
      Exactly and I wish other writers could emulate that approach rather than trying to write as many pages as possible. Take any C++ book and compare the section about the basic datatypes to K&R, usually 5 to 10 times the number of pages and K&R are still easier to understand.

      And it's not only programming books, you find the similar style in other fields of science too. And it's rather consistent, making me believe that most American publishers of technical books pays their authors at a per page ratio.

    2. Re:There are so many options by An+Onerous+Coward · · Score: 4, Insightful

      Well of course it's worth its shelf space. The thing is about a third of an inch thick!

      For those just tuning in, "K&R" is shorthand for Kernighan & Ritchie's "The C Programming Language," and it really is a great little book. However, part of the brevity and clarity comes from the C programming language itself. Try writing a similar book about C++, and even with the same eye for brevity, you'd end up with a book five or six times as long. Ten times if you threw in the STL.

      Some people have claimed that this book should be required reading for programmers. Others have countered that the book should be required for authors of programming books. Let me take it one step further and suggest that it should be required reading for authors of programming languages. If the language you're designing cannot be effectively and similarly summarized given the K&R treatment, then it may be worth it to simplify things.

      I've become a huge fan of Python recently. As proponents claim, it's one of a very small handful of languages where you can keep the entire syntax in your head. I'm not claiming that Python is the ideal language, but merely that other programming languages should strive for similar simplicity.

      --

      You want the truthiness? You can't handle the truthiness!

  5. 3 names, "Gödel, Escher, Bach" by eldavojohn · · Score: 4, Interesting

    GEB is simply amazing and really makes you think. It is a large tome but it was well worth the read when I read it in high school. It influenced me musically, mathematically and gave me insight to become a computer programmer.

    It's a very common book and can be acquired cheaply on amazon, ebay and the wiki.

    I also heavily recommend getting to know this site if you're willing to search through lists of books for good deals.

    --
    My work here is dung.
  6. Gifts for Christmas by ATeamMrT · · Score: 4, Insightful
    With christmas just round the corner I have been looking for gifts for my geek friends. But what book?

    Just because your friend is a geek does not mean a book is the best gift! Picking tech books can be difficult. You need to know what your friend is interested in. If your friend knows the topic a book covers, it won't be useful. If the book is outside the scope of what your friend does, the book won't get used. Even within a language, there are so many topics that just because you hit the right language, does not mean the book would be useful. If you want to get a book, but a cheap $7 trashy novel that will be filled with laughs, and add a $50 gift card at your local bookstore. That will probably be cheaper than some of the $70 books out there. The cool thing about giving the $7 novel is you're giving a piece of yourself. It should be a book that made you laugh and think. I'd suggest Catch-22. It will provide lots of laugh out loud moments. You should pick a book you liked and want to share with your friend.

    Christmas is not about gifts or materialism. Christmas is about celebrating the birth of Christ. Spend time with your friends, listen to how their life is, their year. Celebrate with them. Be happy. That is the greatest gift you can give. People don't need more objects. People need to feel loved.

  7. PARENT NOT OFFTOPIC! by madaxe42 · · Score: 5, Insightful

    Godel, Escher and Bach is a damned good book, and any self-respecting geek should have read it. Twice.
     
    Other favourites include Capital by Marx, Crime & Punishment by Dostoeyevsky, Also Spracht Zarathustra (Nietzsche), The Fountainhead (Rand), The heart of a dog (Bulgakov) and Dubliners (Joyce).
     
    If you're a programmer, the last thing you're going to want to read are code books.

    1. Re:PARENT NOT OFFTOPIC! by ATeamMrT · · Score: 5, Insightful
      Godel, Escher and Bach is a damned good book, and any self-respecting geek should have read it. Twice.

      Other favourites include Capital by Marx, Crime & Punishment by Dostoeyevsky, Also Spracht Zarathustra (Nietzsche), The Fountainhead (Rand), The heart of a dog (Bulgakov) and Dubliners (Joyce).

      Those books are a little heavy to digest. I don't know about most people, but I would not want work as a gift, then to feel obligated to read 700 pages. I've read a few books by Dostoevsky, and they are not christmas books! Christmas should be about having fun, not getting a headache reading.

      If you're a programmer, the last thing you're going to want to read are code books

      I agree. It is like giving your mom a skillet for christmas because she cooks for you.

      Picking the right gift requires knowing your friend. One of the BEST gifts I ever recieved was from a neighbors wife. She is an awesome baker. She filled up a tin with homemade cookies, her daughters helped decorate the tin. It was a gift they put their hearts into. They spent a few hours at my place, it was nice to talk, to listen about their year, and what they were planning for the new year. Fellowship is the best gift.

      I also love getting christmas cards from friends who have moved away. It is a nice way to keep in touch with people.

      Remember, it is the thought that counts. The gift is not important. What is important is someone cares about you.

  8. Bookshelves by BioCS.Nerd · · Score: 4, Insightful

    I'm just a budding programmer, so my bookshelf is fairly skimpy (5-6 books -- mostly accumulated from class). However it seems to me that you're best to buy books that won't be dated as quickly, such as those that are more conceptual (e.g. design patterns, cookbooks, and Art of Programming type books). For everything else, O'Reilly Safari digital book collections are the way to go. I've found it has taken a little time to get used to not reading books on dead trees, but the convenience pays off.

  9. Garfield by Snap+E+Tom · · Score: 4, Insightful

    > Every good programmer loves garfield?

    I assume the article writer was asking a question. The answer is no.

  10. Joel on Software's Book List by Poeir · · Score: 4, Informative

    Joel on Software posted a very useful book list, which extends more to the management of programming than to any specific language. This makes it more generally useful than yet another C book.

    --
    Sigs are like bumper stickers.
  11. Re:Nothing by indifferent+children · · Score: 5, Funny
    Actually, I do have an O'Reilly CSS book in my drawer, but I never use it (because I cannot search it).

    You do know that books had Indices before databases, right?

    --
    Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
  12. Not to throw cold water on this or anything... by Peregr1n · · Score: 5, Insightful

    I find lo-tech paper books aren't costworthy in today's tech environment - they go out of date too quickly, and are thus resource wasteful (In my area - web tech - anyway). Any reference books I buy in digital form, as this is usually more cost-efficient.

    So for a REAL bookshelf... probably some IT-angled fiction. This is tricky as most authors fail to research tech angles correctly (like Hollywood computers, but not quite as glaringly obvious). Douglas Copeland's Microserfs was OK, and quite entertaining.

    For an intelligent recommended read though, I can't recommend the usual Zen and the Art of Motorcycle Maintenance highly enough. It really makes you think, which is nice. I've been meaning to check out Scott Adam's (of Dilbert fame) God's Debris too. That's free to download by the way. So it might be worth reading a bit and if you like it, you could buy paper copies for your friends.

  13. Book Pool by NaNO2x · · Score: 4, Informative

    I can't believe that in all this discussion no one has even mentioned the site "Book Pool" http://www.bookpool.com/ . This site is one of the most extensive places to purchase any computer books. I'd highly sugest browsing around there if you want to buy new books for a geek.

    --
    Utinam me logica falsa tuam philosophiam totam suffodiant.
  14. A few must-haves... by Beek · · Score: 5, Informative

    Code Complete by Steve McConnell
    The Pragmatic Programmer by Andrew Hunt and Dave Thomas
    Refactoring: Improving the Design of Existing Code by Martin Fowler
    The Mythical Man Month by Fred Brooks

    The are a few off the top of my head that any programmer should read. I'm sure there are a few others. Most things after that are probably specific to certain areas and interests.

  15. Safari by tclark · · Score: 4, Informative

    I recommend a Safari subscription. It provides online access to everthing by O'Reilly and a number of other publishers. My subscription has saved me huge amounts of time, since I can search and find useful information on all sorts of topics without leaving my desk.

  16. My personal favorites... by mackman · · Score: 5, Informative

    Neither of these I would recommend in general, but they are both excellent books if you are dealing with the subject matter they discuss. They are both enjoyable reads and extremely useful.

    Inside the C++ Object Model by Stanley B. Lippman. Lippman is one of the original authors of CFront (along with Stroustrup), the original C++ compiler which worked by translating C++ into C. This book explains how every C++ feature is implmented by the compiler: virtual functions, multiple inheritence, in-memory object layout, etc. If you are working on projects where the overhead of a pointer de-reference or virtual function call may be too much, then this book is a must read. Even if that doesn't describe you, this is still a suprisingly enjoyable read and will almost certainly help you at any job interviews for C++ programming positions.

    Hackers Delight by Henry S. Warren Jr. This deals entirely with efficient bit twiddling. It has chapters on counting the bits set in a word, finding the first set bit, quick integer square root approximations, etc. Unless you're working with embedded systems or otherwise need assembly-level optimizations, this book just serves to obfuscate your code. On the other hand, it's quite a fun challenge to try to figure out the algorithms without reading the explanations.

  17. Re:Bookshelf? by bhsurfer · · Score: 4, Funny

    Probably the kind that are all stuck together...

    --
    Those are my principles, and if you don't like them... well, I have others.
    Groucho Marx
  18. hold that thought (that "counts") by Anonymous Coward · · Score: 4, Insightful

    >>Remember, it is the thought that counts. The gift is not important. What is important is someone cares about you.>>

    I wish people wouldn't waste money buying me gifts. If they spent five minutes talking to me about something they know I am really interested in, that would be worth far more. The "thought" that counts is a respect for a person. Giving wine to someone who never drinks it, giving lingerie to your wife (instead of asking for her wearing it as *your* present), giving a CD of music reflecting your religion to a couple of atheists, giving candles or "zen rock gardens" to people who aren't interested, checking off the names on a list, that ain't "the thought that counts"-- it's the thought that adds useless junk to an already crowded home!

    I've made the mistake myself in the past. These days I beg people not to give me gifts and (because my wife loves Christmas so much) I put in effort getting stuff for her that reflects her interests, even when I don't like the stuff.

    Everyone else, just give money to charity!