Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Books Media

A Programmer's Bookshelf 362

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!)"
This discussion has been archived. No new comments can be posted.

A Programmer's Bookshelf

Comments Filter:
  • first post (Score:5, Informative)

    by themusicgod1 ( 241799 ) <jeffrey.cliff@gmail.TIGERcom minus cat> on Monday December 12, 2005 @10:03AM (#14238046) Homepage Journal
    goedel escher bach d:
  • Frederik Brooks (Score:5, Informative)

    by rassie ( 452841 ) on Monday December 12, 2005 @10:05AM (#14238059)
    The Mythical Man-Month by Frederik Brooks (clicky [wikipedia.org]) has some very good insights which still hold true (the book was originally published in 1975).
  • by koltrane ( 925418 ) on Monday December 12, 2005 @10:05AM (#14238063)
    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"!
  • by ad0le ( 684017 ) on Monday December 12, 2005 @10:10AM (#14238095)
    C++: The Complete Reference by Herbert Schildt & Thinking in C++: by Bruce Eckel.

    In my opinion, the best c++ books out there.
  • Perl Best Practices (Score:1, Informative)

    by Anonymous Coward on Monday December 12, 2005 @10:12AM (#14238114)
    By Damien Conway , O'Reilly ISBN 0-596-00173-8

    I'm hoping that they make a series of 'Best Practices' with a C/++ and Python too. It was quite expensive at $40 but I bought local. Totally packed with amazing nuggets of things you never knew you never knew ;)
  • by Poeir ( 637508 ) <poeir@geo.yahoo@com> on Monday December 12, 2005 @10:21AM (#14238178) Journal
    Joel on Software posted a very useful book list [joelonsoftware.com], which extends more to the management of programming than to any specific language. This makes it more generally useful than yet another C book.
  • by benj_e ( 614605 ) <walt@eis.gmail@com> on Monday December 12, 2005 @10:23AM (#14238192) Journal
  • ACCU Reviews (Score:3, Informative)

    by Frankie70 ( 803801 ) on Monday December 12, 2005 @10:23AM (#14238194)
    Always a good idea to check the book review at ACCU [accu.org] before you buy any book. The reviewers here are mostly experts in the subject matter.
  • by hibiki_r ( 649814 ) on Monday December 12, 2005 @10:30AM (#14238235)
    I'd not pick any of those two before Effective C++, More Effective C++, Advanced C++ Programming Styles and Idioms or The C++ Programming language. After you've programmed in C++ for six months, all the introductory stuff from the books you mentioned becomes a waste of paper, while the books I listed are still useful to a professional programmer.

    Also, read this excerpt of the alt.comp.lang.learn.c-c++ FAQ:

    6: Why do many experts not think very highly of Herbert Schildt's books?

    A good answer to this question could fill a book by itself. While no book is perfect, Schildt's books, in the opinion of many gurus, seem to positively aim to mislead learners and encourage bad habits. Schildt's beautifully clear writing style only makes things worse by causing many "satisfied" learners to recommend his books to other learners.

    Do take a look at the following scathing articles before deciding to buy a Schildt text.

    http://www.lysator.liu.se/c/schildt.html [lysator.liu.se]
    http://herd.plethora.net/~seebs/c/c_tcr.html [plethora.net]

    The above reviews are admittedly based on two of Schildt's older books. However, the language they describe has not changed in the intervening period, and several books written at around the same time remain highly regarded.

    The following humorous post also illustrates the general feeling towards Schildt and his books.

    http://www.qnx.com/~glen/deadbeef/2764.html [qnx.com]

    There is exactly one and ONLY one C book bearing Schildt's name on its cover that is at all recommended by many C experts - see Q 25.

  • by khendron ( 225184 ) on Monday December 12, 2005 @10:36AM (#14238279) Homepage
    This book is on my shelf and is a must read for anybody working in tech.

    It is not a technical book. It is a non-fiction novel about a team of engineers building a mini-computer back in the early 1980s. The book might be 25 years out of date from the technical point of view, but few books capture the essence of the engineer's mind and commitment as well as this one does.

  • Where to begin (Score:3, Informative)

    by narcc ( 412956 ) on Monday December 12, 2005 @10:41AM (#14238317) Journal
    Some treasures on my shelf:

    D. Knuth, The Art of Computer Programming (Volumes 1-3)
    D. Berlinski, A Tour of the Calculus
    D. Berlinski, The Advent of the Algorithm
    G. Polya, How to Solve It
    P. Beckmann, A History of Pi
    G. Lakoff & R. Nunez, Where Mathematics Comes From
    Aho & Ullman, Principles of Compiler Design (1st Ed.)
    Aho & Sethi & Ullman, Compilers: Principles, Techniques, and Tools
    P. Freiberger & M. Swaine, Fire in the Valley: The Making of The Personal Computer
    H. Sheldon, Boyd's Introduction to the Study of Disease
    C. Petzold, Code: The Hidden Language of Computer Hardware and Software

    Anyone of these would have made a good gift for me -- and I'm sure other geeks would appreciate these as well. That is, if they don't own them already.

    On a related note: The conference proceedings from the ACM SIGCSE add quite a bit to my library every year. The membership is very affordable and makes an excellent gift (provided, of course, that the geek in question is not already a member of the ACM). I'm not sure about the other SIGs, but you certainly get your dues worth out of SIGCSE.
  • Book Pool (Score:4, Informative)

    by NaNO2x ( 856759 ) on Monday December 12, 2005 @10:46AM (#14238352)
    I can't believe that in all this discussion no one has even mentioned the site "Book Pool" http://www.bookpool.com/ [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.
  • A few must-haves... (Score:5, Informative)

    by Beek ( 10414 ) on Monday December 12, 2005 @10:48AM (#14238365) Homepage
    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.
  • Safari (Score:5, Informative)

    by tclark ( 140640 ) on Monday December 12, 2005 @10:50AM (#14238393) Homepage
    I recommend a Safari subscription. [oreilly.com] 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.
  • by headkase ( 533448 ) on Monday December 12, 2005 @10:58AM (#14238464)
    I highly recommend this book [mit.edu] for the part about computation alone (there are 5 parts in the book). In the computational part it covers number systems, infinity, and computability and incomputability. Then the rest of the book is gravy for a geek: fractals, chaos, complex systems, and adaptation (genetic algorithms and neural networks). It's the kind of book that gives you a framework to hang the rest of your knowledge on. Seriously, get it.
  • by mackman ( 19286 ) on Monday December 12, 2005 @11:00AM (#14238475)
    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 [amazon.com] 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 [amazon.com] 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.
  • Re:Frederik Brooks (Score:3, Informative)

    by mmkkbb ( 816035 ) on Monday December 12, 2005 @11:16AM (#14238573) Homepage Journal
    The anniversary edition has some new chapters in which Brooks examines with principles did NOT hold true. Some newer practices seem to have taken him by surprise in terms of his "No Silver Bullet" essay.
  • by portscan ( 140282 ) on Monday December 12, 2005 @11:31AM (#14238694)
    I really like Linux Administration Handbook [amazon.com] by Nemeth, Snyder, and Hein. It is quite comprehensive and detailed, not to mention enjoyable to read. My copy is well-used, indeed. For any hobbyist who runs a linux box at home and is interested in the actual nuts and bolts of the system, rather than just the graphical configuration tools provided by (some) distros, it would be a welcome gift, I think. I used to just google around for online documentation until I came across this excellent reference, which is now the first place I turn.

    I think that buying a programming reference for a person who programs for a living would not be such a good idea. But buying something related to a person's out-of-work (or out-of-school) computer interests is a nice gift.
  • by daVinci1980 ( 73174 ) on Monday December 12, 2005 @12:28PM (#14239089) Homepage
    If your friends are into 3D programming or game development, I recommend some books about OpenGL.

    If your friends are serious about 3D programming, I recommend books about D3D instead. D3D is used in 99% of PC game development studios. An OGL-like API is used on the Gamecube, and the PS2 doesn't have a formal API for graphics, although lots of studios choose to emulate OGL with their own API. Finally, the XBox (obviously) uses a D3D API. That being said, it is much easier for a first-timer into the industry to get a gig with a PC development studio then a console development studio, so *if* you do graphics in the game industry, it's much more likely you will be working with D3D (to start) than with OGL.

    Stay away from anything by LaMothe, whether he edited it, wrote it or just wrote the forward. His books are absolutely terrible. I recommend the book Advanced 3D Game Programming with Directx 9.0 [barnesandnoble.com] by Peter Walsh. Although "Advanced" this is a good treatment on quite a few game programming topics, and is really a good introduction to graphics programming.

    If your friend is an advanced graphics programmer, then GPU Gems or GPU Gems II [barnesandnoble.com] might be more their speed.

    Finally, if your friend is interested in game development but not particularly in graphics per se, then the Game Programming Gems [barnesandnoble.com] series is a must have, at least books 1-3. I cannot vouch for GPG 4 or 5 as I have not read them myself yet.. However, books 1-3 are phenomenal, and are widely used within the game industry.
  • by xitology ( 901936 ) on Monday December 12, 2005 @01:26PM (#14239599)

    As an aside my [older] translation begins with "I am a sick man... an angry man... an unattractive man. For whatever reason the newer translation substitutes wicked for angry. Perhaps someone who understands more Russian would know why.

    The Russian word is zloy, which can be translated both as wicked and angry among others. Dostoevsky uses zloy a lot, so the choice is quite significant. I don't know English enough to advise the best choice though.

  • by raygunz ( 577841 ) on Monday December 12, 2005 @02:39PM (#14240230) Homepage
    Debugging by Dave Agans: universal, often neglected principles to avoid long debugging cycles. Illustrated with interesting war stories and amusing anecdotes. This is one you'll actually read all the way through. Called a classic by several reviewers, including IEEE SW and Dr. Dobbs.
    It was reviewed on Slashdot http://books.slashdot.org/books/04/02/21/228241.sh tml [slashdot.org], and is endorsed on the back cover by Rob Malda. (Disclaimer: I wrote it.)
    You can get it on Amazon but they sold out this week, so for Christmas you'd have to go Barnes and Noble and pay a bit more.
    Oh, and it's cheap ($15 on Amazon, $22 on B&N) but well worth the money.
    See http://www.debuggingrules.com/ [debuggingrules.com] for info, samples, free poster, etc.
  • Re:Book Pool (Score:3, Informative)

    by williepete25 ( 668669 ) on Monday December 12, 2005 @03:00PM (#14240420)
    And cheaper than most, I might add.
  • by tjr ( 908724 ) on Monday December 12, 2005 @07:53PM (#14242789) Homepage
    As has already been noted, books on particular technologies/languages/etc tend to go out of date pretty quickly, although even some of those are well-written enough to be timeless. I have a lot of computer books; if I had to whittle my collection down to those I viewed as most important, it would probably look something like:

    Structure and Interpretation of Computer Programs (Abelson & Sussman)
    The New Hacker's Dictionary (Raymond)
    Selected Papers on Computer Science (Knuth)
    Database-Backed Websites (Greenspun)
    Programming Pearls (Bentley)
    The C Programming Language (K&R)
    Algorithms (Cormen et al) --OR-- The Art of Computer Programming series (Knuth)
    Essentials of Programming Languages (Friedman et al)
    The Little Schemer (Friedman & Felliesen)

    This last book is perhaps one of the most elegantly simple, yet profound books I've ever read. Even though it is not as comprehensive as, say, SICP, this is probably my favorite computer science book, because it's such a joy to read and it truly expands your thinking.

    Those books, combined with online or printed language/API manuals, would make a great foundational library for a programmer.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...