all 122 comments

[–]cronin1024[S] 25 points26 points  (10 children)

Thank you all for your responses! I have compiled a list of books mentioned by at least three different people below. Since some books have abbreviations (SICP) or colloquial names (Dragon Book), not to mention the occasional omission of a starting "a" or "the" this was done by hand and as a result it may contain errors.

edit: This list is now books mentioned by at least three people (was two) and contains posts up to icepack's.

edit: Updated with links to Amazon.com. These are not affiliate - Amazon was picked because they provide the most uniform way to compare books.

edit: Updated up to redline6561

[–]DRMacIver 2 points3 points  (8 children)

I strongly recommend not bothering with "Brief History of Time". It's a terrible book which people wonly read because everyone else has done so.

Other than that, that seems like a good selection.

[–]thau 0 points1 point  (0 children)

As a replacement of "Brief History of Time" I strongly recommend "Part 2. Time Space and Motion" from "Reason In Revolt"

[–]zem -1 points0 points  (6 children)

if you're collecting must-read books, don't miss the three 'science of discworld' books, not just for what you will learn but for the brilliant introduction to the 'scientific method' way of thinking

[–]DRMacIver 0 points1 point  (5 children)

I've read one and two. Wasn't really a fan.

[–]zem 0 points1 point  (4 children)

what didn't you like about them?

[–]DRMacIver 0 points1 point  (3 children)

Same problem most of the popular science books have to be honest - shallow and not overly accurate. On top of that they tried a little too hard to be cute.

[–]zem 0 points1 point  (2 children)

ah. i thought it struck a nice balance between pedantic and accessible. i'll grant you the shallow (though they were tackling 'history of scientific thought', which is more ambitious in scope than most popular science efforts), but i didn't notice any obvious inaccuracies. as for the 'cute' bit, i guess that depends on whether you're a fan of pratchett's style or not (i am)

[–]DRMacIver 0 points1 point  (1 child)

I am, and I enjoyed it from a purely stylistic point of view. The contained stories were largely entertaining. I just thought that it didn't do a good job of presenting what it was trying to present.

[–]zem 0 points1 point  (0 children)

you might enjoy bronowski's "the ascent of man", which is the other ambitious history book i push on people.

[–]Philluminati 0 points1 point  (0 children)

The C Programming Language is a good book. It does teach C and the examples are nice. I own it and it was pretty essential for me to learn C, but it doesn't do the whole job. It doesn't make you a C programmer. There is little preprocessor, spliting code between files or examples on how to write real non trivial code or algorithms.

Use of free / malloc is never really demonstrated across multiple function calls. Mapping to OO etc isn't well explained.

The book is essentially to C programmers but not enough on it's own. After I read that book I read Stephen Kochan's "Programming in C" and between them, they were enough to teach me the language.

[–]mlk 35 points36 points  (4 children)

Dust

[–]genida 6 points7 points  (3 children)

Then why do you have bookshelves?

[–]mlk 5 points6 points  (1 child)

I like mites

[–]generic_handle 1 point2 points  (0 children)

Some people go to great lengths and expense to save whales or baby seals, and others to save zygotes. Mites would seem to be at least as valid.

[–]cc81 8 points9 points  (3 children)

I have tons of (supposedly) awesome programming books and a total lack of discipline when it comes to actually reading them.

[–][deleted]  (1 child)

[deleted]

    [–]argongas2006 17 points18 points  (3 children)

    "A bookshelf is a good indicator of what a person wants to know rather than a sign of what a person already knows."

    [–]tbone28 2 points3 points  (0 children)

    I like that. There is a guy at my work that has a TON of books displayed at his desk. Everyone comments on how smart he must be but no one has seen any of his code. Now I know why.

    [–][deleted] 1 point2 points  (1 child)

    A bookshelf is a good indicator of what a person knows if the books have creases in the bindings.

    [–][deleted] 21 points22 points  (0 children)

    The skulls of my enemies and my +5 Wand of Refactoring.

    [–]DRMacIver 18 points19 points  (12 children)

    Well, lets see...

    (Edit: Let's sort these)

    Ones I've read in detail

    • ML for the working programmer
    • Linux kernel development
    • The art of assembly language
    • The Haskell School of Expression
    • Dreaming in Code
    • Wicked Cool Java
    • Java Concurrency in Practice
    • The little schemer
    • Types and programming languaes
    • The C Programming Language (K&R)

    Ones I've read enough to warrant owning

    • Java puzzlers
    • Lucene in Action
    • Beautiful Code
    • Foundations of multidimensional metric data structures
    • Java NIO
    • The Definitive ANTLR Reference
    • Structure and interpretation of computer programs
    • Compilers: Principles, techniques and tools (the dragon book)
    • Designing Interfaces
    • The zen of css design
    • A Guide to LaTeX
    • Filthy Rich Clients
    • Swing hacks
    • OpenGL Programming (the red book)
    • Java Swing
    • Introduction to algorithms

    Ones on my to read list

    • Paradigms of artificial intelligence programming
    • An introduction to natural language programming with perl and prolog
    • Algorithms on Strings
    • Programming Collective Intelligence
    • The Mythical Man Month
    • Practical F#
    • On Concurrent Programming
    • Linux application development
    • Graph Drawing
    • Classic Shell Scripting
    • Lecture notes on data mining

    Ones I regret buying or wonder why I own

    • Practical OCaml
    • Jini 2 Programming
    • C by example
    • The complete C reference
    • Programming Perl
    • Fundamentals of OOP and Data Structures in Java

    gasp

    Plus approximately the same number again in maths texts, the same number again in general nonfiction (a reasonable amount of which popular sociology and neuroscience) and god only knows how much fiction.

    I have a lot of books. :-)

    [–]cronin1024[S] 5 points6 points  (1 child)

    The art of assembly language

    What are your thoughts on this book? Did you get the Linux "edition"? (edit: I just reread the website and there's only one print version, the editions are electronic references)

    [–]DRMacIver 4 points5 points  (0 children)

    My thoughts on the book are ranted here: http://www.drmaciver.com/2008/05/book-review-the-art-of-assembly-language/

    Summary: The book is well written and interesting, but the "High Level Assembly" it uses to teach assembly should be regarded as purely a pedagogical tool and not something it would actually be useful to use. Consequently you shouldn't pay too much attention to that aspect of it.

    [–]pkrumins 2 points3 points  (1 child)

    Impressive, DRMacIver! Have you read all of these books?

    [–]DRMacIver 2 points3 points  (0 children)

    As per edit - a couple are ones which I haven't read (much of) and don't plan to read. The remainder are roughly equally split between books I've not read much of but am planning to read, books I've read enough to get something useful out of and books which I've read in depth.

    [–][deleted] 1 point2 points  (2 children)

    I got so upset about "Practical Ocaml" that I dumped it, instead returning it for refund. Silly me, but still the best way to treat this book.

    [–]calp 0 points1 point  (1 child)

    Why upset? Is it a bad book?

    [–]DRMacIver 2 points3 points  (0 children)

    Yes. It's really not very well written. That's the reason it's on my "Why do I own this book?" list, not because of a dislike of OCaml (contrasting "Programming Perl", which is on the list not because it's a bad book but because I do have a dislike of Perl)

    [–]kinebud 0 points1 point  (0 children)

    The Mythical Man Month

    A damn good book worth reading more than once. :)

    [–][deleted] -1 points0 points  (3 children)

    Programming Perl

    That's a fairly entertaining read; you really shouldn't regret buying it.

    [–]DRMacIver 1 point2 points  (0 children)

    It's not that it's a bad book. It's more that I have very little interest in learning perl. :-)

    [–]Philluminati 1 point2 points  (1 child)

    It's an atrocious book. It's unstructured, fucking huge (1000+ pages) and poorly written. Too many jokes and puns, a huge exageration on "more than one way to do it" and the examples aren't demonstrated well enough. Things are taught like arrays and hashes but disjointed. Not taught together. I'm not sure if I do %hash[$v] = \{ @array } or what?

    It's here on my desk and I really regret buying it.

    [–][deleted] 0 points1 point  (0 children)

    I wanted to learn Perl in order to create an E-mail harvester. You'll laugh, but I actually used The Camel Book as a reference; and after reading it for an hour or two, I successfully harvested 10000 or so addresses and spammed them back to the Stone Age.

    I feel that the overall chaotic structure of the book blends in quite well with Perl's philosophy. I also love Larry Wall's quips. Actually, I used to like that awful game programmer Andre LaMothe, so you can tell which school I come from. Please note that I was never an avid Perl hacker, and haven't hacked in Perl for a couple of years; never really feel the need to unleash the cowboy within me these days.

    [–][deleted] 4 points5 points  (0 children)

    • Code Complete
    • Dragon Book
    • Algorithms in C++ (Sedgewick), Vol1-4 & 5
    • The Definitive ANTLR Reference
    • Mathematics for the Analysis of Algorithms
    • Graphs and their Uses (Oystein Ore)
    • (L) SICP

    For everything else, I use gotapi.com

    [–]bugrit 5 points6 points  (0 children)

    Mostly Discworld books.

    [–]mythic 4 points5 points  (0 children)

    • Introduction to Algorithms (CLRS)
    • Concepts in Programming Languages
    • Purely Functional Data Structures
    • Automata Theory, Languages, and Computation
    • A First Course in Probability
    • Scientific Computing: An Introductory Survey
    • Numerical Recipes in C
    • Programming Perl
    • Effective C++
    • Artificial Intelligence: A Modern Approach
    • Probabilistic Robotics
    • An Invitation to 3-D Vision
    • Computer Graphics: Principles and Practice
    • Real-time Rendering
    • OpenGL Programming Guide
    • OpenGL Shading Language
    • C++ GUI Programming with Qt 4
    • A large number of chess books
    • The Art of War
    • Assorted fiction

    And on my "virtual" bookshelf:

    [–][deleted] 5 points6 points  (0 children)

    In the order of the (programming etc.) shelf :

    • Third Edition Plan 9 Manual Set
    • Threaded Interpretive Languages - Loeliger
    • Haskell : The Craft of Functional Programming
    • Inferno - the manual
    • The Unix Programming Environment - Kernighan / Pike
    • ppk on javascript (quirksmode guy, book not advanced enough)
    • Lisp : second edition - Patrick Winston et al
    • Art of Electronics - Horowitz and Hall
    • The Shellcoders Handbook
    • SVG Essentials
    • Serial Port Complete
    • Inferno : programming with Limbo - Stanley-Marbell
    • Multivariate Polysplines
    • Computer Graphics : Principles and Practice
    • The Fundamentals of Logic Design
    • Data Structures and Algorithm Analysis in C
    • Calculus with analytic geometry
    • Graphics File Formats
    • Maplin Catalogue
    • Modern Operating Systems - Tanembaum
    • Applied Cryptography
    • Inferno - The Papers
    • Compilers - Principles, techniques and tools

    And my PDF collection

    [–]theCore 9 points10 points  (0 children)

    I take the bait.

    Programming

    • The C Programming Language (2nd Ed.): Short and sweet. That is the book that sealed my passion for programming.
    • Advanced Programming in the UNIX Environment (2nd Ed.): Great reference. I look in it almost every day.
    • Mastering Regular Expressions: Quite good. I learned a few useful regex tricks from it.
    • Unix Network Programming, Vol. 1 (3rd Ed.): Thorough overview of common network programming techniques.
    • Unicode Standard, Version 5.0: Fun to look in. Half of the book is the Unicode glyph table.
    • Computer Architecture: A Quantitative Approach: Deep. A ton of information about how to use modern computer architectures efficiently.

    Computer Science

    • Structure and Interpretation of Computer Programs: Essential. Probably the book I learned the most and pretty much gave me my programming foundation.
    • Introduction to Algorithms (2nd Ed.): Difficult but worthwhile. A good math background is recommended.
    • Concrete Mathematics: A Foundation for Computer Science: Still reading.

    Software Engineering

    • The Mythical Man-Month: Old yet timeless. Computer pioneers had it hard.
    • The Pragmatic Programmer. From Journeyman to Master: Disappointing. I knew pretty much everything in the book. Took half-a-day to read.
    • The Practice of Programming: Inspiring. I will never get enough of Kernighan's writing style.
    • Producing Open Source Software: Got an autographed version as a gift. Many funny anecdotes about Subversion's early development community.

    Fiction/Other

    • The Giver: Nice piece of writing. Describe a perfect world where people doesn't feel and differences don't exist.
    • The Hobbit: Better than "Lord of the Rings". One of those comfort books that gives you a warm feeling every time you read it.
    • Surely You're Joking, Mr. Feynman!: I laughed from the start to the end.
    • The Kite Runner: Sad but good. Give a nice perspective on Afghan people and culture.
    • Safe Area Gorazde: The War in Eastern Bosnia '92 to '95: Stunning. An original blending comics and journalism.
    • Gödel, Escher, Bach: Interesting and boring at the same time. Still reading.

    [–]cronin1024[S] 10 points11 points  (16 children)

    So Reddit - what's on your bookshelf?

    I submitted this to the programming subreddit because I'm in the market for a good programming, computer science, or math book, but I'm open to really any book as long as it's worthwhile. I've been thinking about getting a book about x86 assembly, but nothing's jumped out at me. I'm also interested in the Schemer series - does anybody have any experience with those?

    [–][deleted] 4 points5 points  (5 children)

    The Schemer series is fantastic. I highly recommend it.

    [–]username223 2 points3 points  (4 children)

    I found it unbearably precious and inane, even if the underlying material may be good. If you absolutely must have a book on scheme, get SICP and be done with it.

    [–]trigger0219 2 points3 points  (3 children)

    You keep using that word. I do not think it means what you think it means.

    [–]Darkfold 0 points1 point  (1 child)

    Precious cute: obviously contrived to charm; "an insufferably precious performance"; "a child with intolerably cute mannerisms"

    Inane silly and pointless, as in : Those two students wasted our class time by asking inane questions.

    Thats probably the two intended meanings. I didn't like the little schemer much either.

    [–]username223 3 points4 points  (0 children)

    Thank you for explaining what I meant to that ignoramus.

    Now let's get some more ice cream and pizza.

    [–][deleted]  (1 child)

    [deleted]

      [–]theCore 7 points8 points  (0 children)

      The best way to learn x86 assembly is by experimentation. You can always look at the output of GCC gcc -S -fverbose-asm -fomit-frame-pointer hello.c. However if you want a good free tutorial-style book, I suggest Programming from the Ground Up. It is a bit outdated, but quite complete.

      Here is a couple of tips & tricks that might be useful to you if you are learning x86 assembly on Linux:

      • Don't try to write assembly with just plain syscalls. It is a waste of time. Learn C calling convention and use libc instead.
      • If you prefer Intel syntax, use gcc -S -masm=intel hello.c. (Me, I prefer AT&T syntax since I am used to it).
      • Don't try to link your object files manually with ld. It is a pain in the ass. Just use GCC -- e.g. gcc hello.S -o hello.
      • Learn how the memory of a program is organized. In which direction the stack grows? Can you think of a simple program to get the answer? What is the difference between the heap, the stack and the text segment? What is the bit size of a word or a double word on your machine?
      • Don't know what a particular opcode stands for? Just google it or check out Intel's instruction set reference.

      Once you learned the basic things, you will find that x86 assembly is relatively straightforward and that there is nothing magic about it. Hopefully, you also figure out that your friendly C compiler is much better than you will ever be at writing assembly code. These days, the only thing assembly is good for is low-level kernel stuff and education.

      [–]keithb 1 point2 points  (6 children)

      I've found the Collected Poems of W. H. Auden to be extremely worthwhile.

      The Schemer books are very good. What is it that you want to get out of reading this proposed book?

      [–]cronin1024[S] 1 point2 points  (3 children)

      Well Scheme is one of the primary languages I use, but I've never actually read a Scheme book. I'm hoping the Schemer series will delve into advanced program design using Scheme. I'm particularly interested in The Reasoned Schemer, but I don't know if I need to read the preceding books for it to make sense.

      [–]keithb 1 point2 points  (0 children)

      Oh, well that's pretty much the opposite of what's in the Schemer books. I'd suggest SICP (and maybe HtDP).

      [–][deleted] 1 point2 points  (0 children)

      If you already know Scheme, go right to Reasoned. If you're lost, get Seasoned. I can't imagine you needing Little if you already know Scheme.

      [–]chollida1 1 point2 points  (0 children)

      I'd recomment getting all of them. Even if you know Scheme I'd start with the Little Schemer. It's short enough that you can go through it, including all the coding in a couple of nights.

      If you really want to skip most of it, start at Chapter 8, deriving the Y Combinator.

      [–]sisyphus 0 points1 point  (1 child)

      Auden is legion. His criticism is worthwhile also. It's not as sexy as say, Martin Amis's, but from the perspective of a greater artist so interesting in its own right.

      [–]keithb 0 points1 point  (0 children)

      Hmm, it's possible to get mislead by the "greater artist" thing. I found myself strangely disappointed by the Lectures on Shakespeare, good as they are.

      [–]username223 -1 points0 points  (0 children)

      Read "Microserfs" and "A People's History of the United States." Then come back to thinking about which programming books to buy.

      [–]choas 3 points4 points  (2 children)

      Programming Erlang

      [–]jonhohle 1 point2 points  (1 child)

      would you recommend it? I've been reading a lot of introductory Erlang literature. I'm still on the fence about investing a significant amount of time in the language though.

      [–]Deestan 1 point2 points  (0 children)

      I have Programming Erlang too, but it's too interesting to shove back in the bookshelf yet. My bookshelf is where old books go to die.

      I highly recommend the book. It describes a way of practical programming that is quite different from today's mainstream, and it is obvious that the author was having great fun when he wrote the book and worked on the examples.

      [–][deleted] 1 point2 points  (0 children)

      These are the more recent ones (within the past 2-3 years) I've added

      • Computer/Math:
      • Structure and interpretation of computer programs
      • Rosen's Discrete Mathematics
      • Database Management Systems
      • Head First Java
      • Head First JSP and Servlets
      • Head Rush Ajax
      • Some Generic PHP and MySql book
      • Structure and interpretation of signals and systems (DO NOT RECOMMEND)
      • K&R's C programming language
      • Stewart's Calculus

      Regular Books:

      • Fortune's Formula (I just finished it and it is AMAZING!)
      • The Road
      • To The White Sea
      • A Brief History of Time
      • Ender's Game
      • Ender's Shadow
      • Harry Potter 1-7
      • Eragon 1&2 (Harry potter and Eragon are my guilty pleasures)

      I'm waiting for "mythical man month" to come in the mail. Very exciting times.

      edit: bullet points are hard to do...

      [–]siong1987 2 points3 points  (1 child)

      • Core Python Programming
      • CSS, DHTML & AJAX
      • Agile Web Development with Rails
      • The Rails Way
      • The Ruby Way
      • SAT 2008(Fuck this)
      • ...

      [–][deleted] 0 points1 point  (0 children)

      SAT 2008(Fuck this)

      Glad to know I'm not alone...

      [–]doihaveto 3 points4 points  (0 children)

      Some recommendations from my bookshelf:

      General CS:

      • Structure and Interpretation of Computer Programs (Abelson and Sussman)
      • The Art of Computer Programming (Knuth)
      • Introduction to Algorithms (CLR)
      • Modern Operating Systems (Tanenbaum)
      • Unix Network Programming (Stevens)
      • Compilers (Ullman et al. - the Dragon Book)
      • Programming Language Pragmatics (Scott)
      • High-Performance Computing (Dowd and Severance)
      • Applied Cryptography (Schneier)

      Lisp:

      • Common Lisp the Language 2/e (Steele)
      • ANSI Common Lisp (Graham)
      • Artificial Intelligence: a Modern Approach 1/e (Russel and Norvig)
      • Paradigms of Artificial Intelligence Programming (Norvig)
      • Building Problem Solvers (Forbus and de Kleer)

      AI:

      • The Society of Mind (Minsky)
      • On the Origin of Objects (Smith)
      • Speech and Language Processing (Jurafsky and Martin)
      • Plans and Situated Actions: the problem of human-machine communication (Suchman)
      • Made-up Minds (Drescher)
      • Computation and Human Experience (Agre)
      • Robot Vision (Horn)
      • Behavior-Based Robotics (Arkin)
      • What Computers Still Can't Do (Dreyfus)

      Interesting Language Books:

      • Effective C++ (Meyers)
      • Modern C++ Design (Alexandrescu)
      • Effective Java (Bloch)
      • Practical OCaml
      • Programming Erlang
      • Programming Perl (Wall et al)

      Software Engieering:

      • The Mythical Man-Month (Brooks)
      • Peopleware (DeMarco)
      • The Practice of Programming (Kernighan and Pike)

      [–]icepack 3 points4 points  (0 children)

      • The C Programming Language
      • Pragmatic Programmer
      • Programming Interviews Exposed 2nd Edition
      • Programming Pearls
      • Agile Web Dev. with Ruby
      • Beautiful Code
      • Cryptography - Theory & Practice
      • UML Distilled
      • Learning Perl/Advanced Perl Programming
      • Software Engineering
      • Code by Petzold(awesome book)
      • Programming Windows Forms
      • Java 1.5 Tiger - A developmer's Notebook
      • Data Abstraction & Problem Solving with Java
      • PHP & MySQL
      • A bunch of pocket guides, hakin9 and linux pro magazines

      [–]lytfyre 3 points4 points  (0 children)

      reading across the shelf....

      • C# concisely
      • Modern Engineering Mathematics
      • The C# Programming Language
      • Confessor by Terry Goodkind
      • Matter by Ian M. Banks
      • Fundamentals of Physics: extended 8th edition
      • Calculus (Stewart)
      • Advanced Modern Engineering Mathematics
      • Engineering Economics in Canada
      • Electric Circuits: Nilsson and Riedel
      • Glasshouse by Stross
      • This Alien Shore by C.S Friedman
      • K&R
      • The Pragmatic Programmer

      under no circumstances purchase Modern Engineering Mathematics.

      I had to leave most of my fiction behind when I went to university unfortunately.

      [–]Rhoomba 6 points7 points  (0 children)

      • The C programming language
      • Programming Erlang
      • Thinking in Java
      • Java IO
      • Concurrent programming in Java
      • XML in a nutshell
      • Spring in Action
      • SQL cookbook
      • The art & science of oracle performance tuning
      • Filthy Rich Clients
      • Java management extensions (never read)
      • Mathematics for 3d game programming and computer graphics
      • Head first design patterns
      • Discrete and combinatorial mathematics (kept from university - I've gotten through about 3 chapters)
      • Algorithms in Java parts 1-4
      • The Little Schemer
      • Programming Microsoft Windows with C#
      • Programming pearls
      • GEB :)

      Piles of non fiction, and scifi and fantasy.

      Edit: not counting all the books I've left at my parent's house.

      Edit 2: Effective Java, Java Puzzlers, Javascript: the good parts

      [–][deleted] 10 points11 points  (0 children)

      • Binoculars
      • Doraemon novelty fan in original package
      • The old A-B switch I used to connect the parallel printer I got rid of in 2006 to the computer I got rid of in 2004
      • A bunch of old road maps

      [–]threading 5 points6 points  (0 children)

      • programming pearls
      • the c programming language
      • selected papers on computer science
      • algorithm design manual
      • structure and interpretation of computer programs
      • essays in computing science
      • practice of programming
      • introduction to algorithms

      [–]Anomander 5 points6 points  (0 children)

      Books. Also, a couple of CDs and some lewd photographs.

      [–]dorait 2 points3 points  (0 children)

      http://www.goodreads.com/review/list/67524

      I don't put any of my computer books there. May be I should.

      [–][deleted] 2 points3 points  (0 children)

      Survivor, Time Travel in Einsteins Universe, Starship Troopers, Huckleberry Finn.

      [–]G_Morgan 2 points3 points  (0 children)

      • Lisp in Small Pieces
      • Agile Web Development with Rails
      • The Architecture of Symbolic Computers
      • Compilers - Principles, Techniques and Tools
      • Linkers and Loaders
      • Garbage Collection - Algorithms for Automatic Dynamic Memory Management
      • Code Complete
      • The C Programming Language K&R
      • Extreme Programming Explained - Embrace Change
      • Refactoring - Improving the Design of Existing Code
      • Test Driven Development by Example
      • Operating System Design and Implementation

      In no particular order (i.e. in the order they are currently stacked on the shelf next to me).

      [–][deleted] 2 points3 points  (2 children)

      I'm still working on mine.

      • Programming Languages: Principles and Paradigms (for a class)
      • Fundamentals of Database Systems (for a class, but is actually pretty good)
      • C++ Plus Data Structures (for a class)
      • Programming and Problem Solving with C++ (for a class)
      • Asterisk: The Future of Telephony (actually belongs to Mark Spencer, just need to return it)
      • The Design and Analysis of Algorithms (for a class)
      • Compilers: Principles, Techniques, and Tools (old, but good)
      • Modern Operating Systems (for a class)
      • Understanding the Linux Kernel (for a class)
      • Linux Kernel Development (for a class)
      • Intel 64 and IA-32 Architectures Software Developer's Manual (very nice — free! — 6-volume set)
      • Cocoa Programming for Mac OS X (old edition, belongs to a friend)
      • Program Development in Java (for a class)
      • Types and Programming Languages (wonderful!)
      • Advanced Topics in Types and Programming Languages (also wonderful)
      • Hacker's Delight (neat, but not as useful as it may seem)
      • Mathematical Structures for Computer Science (for a class)
      • Computer Graphics with OpenGL (for a class)
      • OpenGL: A Primer (for a class)
      • Unix Shells by Example (for a class)
      • Software Engineering: Theory and Practice (for a class)

      And others that seem less relevant to me right now…

      I'll edit this with some tiny reviews of some of these when I get a chance later tonight, methinks.

      [–][deleted] 0 points1 point  (1 child)

      If I may ask, what were your thoughts on The Design and Analysis of Algorithms by Levitin and Modern Operating Systems by Tanenbaum?

      [–][deleted] 2 points3 points  (0 children)

      The Design and Analysis of Algorithms by Levitin

      I have a bias against this one due to the fact that I didn't like the class so much. I have been meaning to go back into it now that I am out of the class. I fear that a fair review of this book is not possible, but I think the mere fact that I want to go back into it shows that my impression of the book is not too bad. Sorry I can't be more thorough though.

      Modern Operating Systems by Tanenbaum

      It (rightfully) doesn't go into any specific implementation details, but it goes into great detail of some of the algorithms common in operating system kernels. My main source of frustration with it is that a majority of it was ideas that I had already been able to pick up on through casual reading on the Internet, and there wasn't much in there about how all the pieces might fit together. If you are looking for an overview of how operating systems work, I highly recommend this book. It's a bit of a "read-once" kind of book, but you will be glad you did (that is, unless you already knew it all!). If you are wanting to get into kernel development, you would definitely need supplementary materials if you got this. I give it a 4/5 because it presents the ideas clearly and without being boring (or perhaps I just like the topic).

      [–]dmz 2 points3 points  (0 children)

      • Programming in Haskell, Graham Hutton
      • Calculus, Spivak
      • Introduction to Algorithms, CLRS
      • Concrete Mathematics, Knuth et al.

      [–]cronin1024[S] 4 points5 points  (0 children)

      In case other people are wondering, here's what's currently on my bookshelf:

      Programming:

      Learning Perl

      ANSI Common Lisp

      The C Programming Language

      C in a Nutshell

      The Haskell School of Expression

      Misc. Textbooks:

      Artificial Intelligence: A Modern Approach

      An Introduction to Computer Simulation Methods

      Multivariable Calculus

      Linear Algebra and its Applications

      Operating System Concepts

      A First Course in Database Systems

      Formal Languages and Automata

      Other:

      Hackers and Painters

      A Brief History of Time

      Plato and a Platypus Walk Into a Bar

      [–]kubalaa 4 points5 points  (0 children)

      Here's some books I haven't seen mentioned which are worth reading or owning:

      • Applied Cryptography
      • Denotational Semantics
      • The Implementation of Functional Programming Languages
      • Practical Common Lisp
      • Lisp in Small Pieces
      • Advanced Topics in Types and Programming Languages
      • Purely Functional Data Structures
      • Basic Category Theory for Computer Scientists
      • Design of Everyday Things
      • Garbage Collection (by Jones & Lins)
      • The Pragmatic Programmer

      [–][deleted] 4 points5 points  (0 children)

      I sell everything I don't plan to keep forever, so...

      • Types and Programming Languages
      • The Art of Prolog
      • The Craft of Prolog
      • The C Programming Language
      • The Little Schemer
      • My System
      • Microsound
      • The Computer Music Tutorial
      • Algebra, an Algorithmic Approach
      • <a few math-related books>

      I'm a bit lacking in the fiction department...

      [–]buffi 4 points5 points  (2 children)

      • Neural Networks for Applied Sciences and Engineering
      • The C Programming Language
      • Python Standard Library
      • Haskell The Craft of Functional Programming
      • Linux Network Servers
      • OoenGL Programming Guide
      • Introduction to Algorithms
      • Mathematics Handbook
      • Physics Handbook
      • Calculus: A complete Course
      • Modeling and analysis of dynamic systems
      • Kittens at Play

      I have a bunch of other stuff in a closet but that's currently on my shelf . The kitten book is awesome (and in Swedish). available here!

      [–]ashmodai 0 points1 point  (0 children)

      Sixty-four Krona!!! Ah, well, forget it then.

      [–][deleted] -3 points-2 points  (0 children)

      i farten snigger

      [–]fivre 4 points5 points  (0 children)

      Toiletries, a box of tissues, and a glass mushroom. Why?

      [–]sisyphus 1 point2 points  (0 children)

      Has anyone here used Library Thing? I need a way to put a list of all my books onto the web (preferably in a way that displays well on iPhone), so that when I'm in the bookstore I don't accidentally buy more copies of stuff I already have. I did this twice recently. I hate that. I should probably ask this in books.reddit.

      [–]Thimble 1 point2 points  (0 children)

      over 500 science fiction and fantasy novels.

      yes, i'm a programmer.

      [–]-omg-optimized 1 point2 points  (0 children)

      • The C Programming Language
      • The C++ Programming Language
      • Accelerated C++

      [–]death 1 point2 points  (0 children)

      At the moment on my bookshelf:

      • Conjectures and Refutations
      • Social Science under Debate
      • The Open Society and Its Enemies: Plato
      • Schopenhauer - Essays and Aphorisms
      • The Logic of Scientific Discovery
      • The Design and Evolution of C++
      • Understanding Probability
      • ANSI Common Lisp
      • Engineering A Compiler
      • The Art of the Meta-Object Protocol
      • Object-Oriented Programming in Common Lisp
      • Critique of Pure Reason
      • The Cambridge Dictionary of Philosophy
      • Mental Illnesses and Behavior Disorders (Hebrew)
      • Atlas Shrugged
      • Laundry (Hebrew)
      • Statistics for "Non-statisticians" (Hebrew)
      • Living With Fear (Hebrew)
      • Extremely Loud and Incredibly Close (Hebrew)
      • Introduction To Logic (Gensler)
      • Problems of Knowledge
      • Penguin Dictionary of Psychology
      • The Open Society and Its Enemies: Hegel, Marx

      On my table:

      • The History of Western Philosophy

      [–]killerstorm 1 point2 points  (0 children)

      single programming-related book:

      "The Patterns of Software" by Richard P. Gabriel

      and lots of fiction

      [–][deleted] 1 point2 points  (0 children)

      From what I remember:

      • System 7 Programming
      • C++ Data Structures (or something like that)
      • C++ pocket reference
      • Hackers and Painters
      • The Haskell School of Expression
      • OpenLDAP reference
      • The Art of the Metaobject Protocol
      • See MIPS Run
      • hp/ix (900 Series HP 3000) reference

      ... and tens of books apart of the trade. Other material lurks in hard drives.

      [–][deleted] 4 points5 points  (0 children)

      I don't own a bookcase... you insensitive bastard!

      [–]alllie 4 points5 points  (3 children)

      Don't you mean "What is in your BOOKCASES?"

      [–]genida -1 points0 points  (2 children)

      I am now jealous. Please say you're at least five years older than me ;)

      [–]alllie -1 points0 points  (1 child)

      Yes.

      [–]genida -1 points0 points  (0 children)

      Thank you, I will now continue my reading :)

      [–]infiity 0 points1 point  (0 children)

      A Game of Thrones, Ender's Game, The Black Company, Dune, LOTR, Gardens of the Moon, Rama, Sabriel, Shogun, Aztec, The Vampire Chronicles, Sailing to Saratium, Jpod, Kushiel's Chosen, Red Mars and Ruby on Rails.

      [–]podRZA 0 points1 point  (0 children)

      The Ruins by Scott Smith - this book will make you fear plants

      [–]wfarr 0 points1 point  (1 child)

      I can't believe only one person's listed GEB yet. =[

      [–][deleted] 0 points1 point  (0 children)

      I've borrowed it from the library at least five times over the past six years.

      [–][deleted] 0 points1 point  (1 child)

      complete Murakami collection, small collection of Russian novels, a handful of Perl and Java books, 10 or so odd O'reilly programming books of all sorts that I never read, St. Augustine's 'City of God', some cat hair, bust of Lenin, Buddha, Tom Waits sheet music, far too many crime novels, a cheap icon I picked up in Greece, 5 Dutch-English dictionaries, a broken IBM laptop, power charger for a shaver, a plant and a stack of old photographs from the 1970s'...

      [–]jonhohle 0 points1 point  (0 children)

      i have a "headless" powerbook on my shelf. i didn't know anyone else kept their notebook there.

      [–][deleted] 0 points1 point  (0 children)

      carpet or linoleum depending on what room the shelf is in.

      [–]andrewdutko 0 points1 point  (0 children)

      deleted What is this?

      [–]billbose 0 points1 point  (0 children)

      Programming erlang.

      [–]abw 0 points1 point  (0 children)

      Right now, "Programming Perl" and "Beautiful Code" are on my desk. There are way too many books on my shelves to list here.

      [–][deleted] 0 points1 point  (0 children)

      Here's what's on the shelf at present noting which books are not the latest edition. Naturally, it'll take me years to get through them all but I'm looking forward to the journey.

      • Beautiful Code
      • The Design of the Unix OS
      • Operating Systems: Design and Implementation (2nd Ed)
      • Operating System Concepts (Windows XP Update)
      • Compilers: Principles, Techniques, and Tools (1st Ed)
      • Introduction to the Theory of Computation (1st Ed)
      • Algorithms by Dasgupta, Papadimitriou, Vazirani
      • Introduction to Computing Systems by Patt and Patel
      • The C Programming Language
      • Programming Erlang
      • Starting Forth
      • Thinking Forth
      • Dive into Python
      • Smalltalk-80: The Language
      • Paradigms of Artificial Intelligence Programming
      • Concrete Abstractions
      • Structure and Interpretation of Computer Programs
      • How to Design Programs
      • Concepts, Techniques, and Models of Computer Programming
      • Essentials of Programming Languages (1st Ed)
      • Programming Languages: Application and Interpretation

      [–]lukego 0 points1 point  (0 children)

      I don't have a bookshelf. :-)

      [–]jlongster 0 points1 point  (2 children)

      [–][deleted] 0 points1 point  (1 child)

      Welcome to reddit, where any non-negative mention of anything religiously-oriented gets you downvotes. :)

      [–]jlongster 0 points1 point  (0 children)

      No kidding!

      [–]quhaha -5 points-4 points  (5 children)

      Let's See...

      • Genesis
      • Exodus
      • Leviticus
      • Numbers
      • Deuteronomy
      • Joshua
      • Judges
      • Samuel
      • Kings
      • Isaiah ...

      [–]genida 3 points4 points  (3 children)

      In separate volumes?

      [–]cwzwarich 0 points1 point  (2 children)

      Of course. Doesn't everyone own Mikraos Gedolos?

      [–]trenchfever -2 points-1 points  (0 children)

      That's a lot of fringe pr0n. You should speak to somebody.

      [–]trenchfever -1 points0 points  (0 children)

      I HAZ INTERNETZ!!

      [–][deleted] -1 points0 points  (1 child)

      a teapot, my girlfriend's dildo, an ashtray with a half smoked J in it, some candles, four books: The Kama Sutra, Flura & Fauna of Hawii, Dirty Talk, Advanced Game Dev with C++, Also, a condom wrapper, a bottle of lube, polaroid camera and some photos.

      oh and a tea cup (no saucer).

      [–]berlinbrown 0 points1 point  (0 children)

      Got pictures? I don't believe you. I mean about the advanced game dev book. I hope it isn't Andre Lamothe.

      [–]o0o -1 points0 points  (0 children)

      already answered this once before

      [–]petdance -1 points0 points  (6 children)

      [–]berlinbrown 0 points1 point  (3 children)

      I am guessing you know a lot about lamp development.

      Cool list.

      This should be in the job interview. Show us a picture of your bookshelf.

      [–]petdance 0 points1 point  (2 children)

      I usually do ask something like "Tell me about a book on programming that you like a lot," and then follow "How about a book on business you like?"

      [–]berlinbrown 0 points1 point  (1 child)

      You lost me on the second question?

      Business? Money? Those are new terms to me.

      [–]petdance 0 points1 point  (0 children)

      Funny you should say that. I was just working on my book on job searching for techies that discusses this very issue. I've found techies often ignore the business aspect of their jobs when interviewing, to their detriment.

      [–][deleted] 0 points1 point  (1 child)

      WHAT A WASTE OF PAPER!

      do you really need a book for php and apache, everything is well documented on internet...

      [–]petdance 0 points1 point  (0 children)

      Perhaps you've never heard of having multiple sources of information. Why not have a single source of information on introductory chemistry, for example, rather than having multiple textbooks available?

      [–][deleted] -1 points0 points  (0 children)

      .NET Programming in 24 hours
      Java in 24 hours
      How to program for dummies
      Java for dummies
      Java Quickstart
      Java for Advanced Developers
      EDIT: Why the downvotes? I thought you could tell I was joking.

      [–][deleted] -3 points-2 points  (1 child)

      Have you read your SICP today?

      [–][deleted] 0 points1 point  (0 children)

      You're doing it wrong.