每个程序员应该读的最有影响力的书是什么? [关闭]

If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?

I expect this list to be varied and to cover a wide range of things.

To search: Use the search box in the upper-right corner. To search the answers of the current question, use inquestion:this. For example:

inquestion:this "Code Complete"


Browsing this thread make me realize how ugly most programming related books are. Very good thread though!

Interesting this is, while the title reads "What is the single most influential book every programmer should read?", there are quite a few books suggested that deal with language specific topics. By definition, and by question as it was put, the books suggested here should deal with language agnostic topics, which proves most programmers have yet to learn how to read.

If I could go back in time and tell myself to read something, it better be a newspaper or sports fact book that I carried with me. Anything else is a waste of good time travel. :-)

You know, if I wasn't worried about getting down voted a WHOLE lot I would trollishly go and suggest Twilight. "Its ALSO about people who are pale and avoid the sun!"

Can someone cleanup answers by deleting repeated entries on books? Most of them area already down voted.

Code Complete is a nice book if you are in college maybe. If you have at least 1 year of programming experience, it is a total bore.

Code Complete has a lot of useful information in it but it's buried in hyperbole, waffle, and repetition, which makes it a hard read.

I read Code Complete 3 years into my career. I hadn't taken a software engineering course nor a programming language constructs course but had taken some intro CS courses. It is by far the best single book I've ever read for becoming a better programmer. It won't make you a specialist but it will make you much more than a tinkerer.

The problem with this book is that for a beginner, it doesn't really make sense as the concepts are a little advanced. By the time you are ready to be able to read it, you should already know and practice 99% of the concepts in the book.

That's the deal with common sense suggestions, like those found in this book. Every so often you need to be reminded of them to fall back in line.

Also check out The Systems Bible by the same author (John Gall). It's the third edition of Systemantics, he just changed the title. This is the book you'd steal from school. It's the book that grown adults read under a blanket with a flashlight.

+1 for "Hacker's Delight" by Henry S. Warren Jr - it's not about hacking in the popular sense but hacking as in low level bit twiddling and other "hacks" in the true and original sense of the word. Not for everyone, but if you are involved in code optimisation, compilers, etc, or are just a general nerd who is interested in low level stuff then this is a great book.

Brillant, the book cover shows "La Sagrada Família", a large Roman Catholic basilica under construction in Barcelona, Catalonia, Spain. To be completed in 2026 (only 17yrs left). Like most programs, even with the best books, they never finished ...

-1 Duplicate of stackoverflow.com/questions/1711/…

This book needs to be rewritten from scratch. The subject is very interesting but the book is quite insane.

Chris, I've hard time to understand your comment... Can you explain more? Why 'insane'?

Firstly it's full of typographical errors. The usually top-notch editorial hand of Addison Wesley is strangely absent in this volume.

... continuing, and not enough space here, but: 2. it's never clear in the text where the author switches between fact and opinion, anecdote and fundamental principle etc. 3. software craftsmanship is a metaphor and a strategy for dealing with several difficult aspects of software development. It has specific advantages over alternatives and presumably disadvantages. I believe that's the sane approach. It's meaningless to say that software is inherently a craft. Very annoying read, but to be fair it was a while ago and many specifics I've forgotten. My disgust remains, however.

That's one heck of a good answer!

I think this book is quite repetitive. I recommend reading the first 1/4.

I think starting new programmers with Python would reduce the amount of ugly code in the world. I work with someone who randomly indents lines - that person wouldn't do that if they had worked with Python for a few months.

I think starting new programmers with Python would reduce the amount of other languages.

Are those covers a coincidence?

this is a duplicate.

I had high hopes for this book, but it doesn't do it for me. I think it stating the obvious. It's probably good for those new to programming.

I totally agree. Deitel's approach in learning a programming language is amazing. I consider Java How to Program as my programming bible!

A unique contribution, and you took the time to clearly explain why it was worth reading. +1 for originality and effort! I shall look forward to reading this soon...

Good. I do not think you will be disappointed.

+1 for the accurate one line review