100 Most Influential Books According to Stack Overflow
Please read this blog post to see why this is here. This data was created on 02/13/2012 20:00:00
All content found below was taken from Stack Overflow in accordance with the Creative Commons license governing the site. As such, you are free to use this data as you wish so long as the proper attribution is used.
Code Complete (2nd Ed) by Steve McConnell
- "The encyclopedia of good programming practice, Code Complete focuses on individual craftsmanship -- all the things that add up to what we instinctively call "writing clean code." This is the kind of book that has 50 pages just talking about code layout and whitespace." --Joel (NB imo there's more to it than semantics)
11558
Created on: 2008-08-04 19:51:07
Last edit: 2010-03-27 09:22:22
The Pragmatic Programmer; it's more about your trade, and how to apply it than the code per se, but it's still very good.
This is a great book for programmers who have learned the mechanics of programming, maybe in college, but don't quite feel secure deciding what to do. It's like the difference between drafting and architecture. What you learned in that class in college was drafting, and you can draw beautifully, but if you still feel like you wouldn't quite know where to begin if someone told you to write a P2P music-swapping network all by yourself, this is the book for you.
--Joel
5936
Created on: 2008-08-04 20:15:14
Last edit: 2011-10-22 16:38:54
Personally, Structure and Interpretation of Computer Programs is by far the most influential programming book I have ever read.
Some classics like Code Complete, Refactoring and Design Patterns teach you the effective working habits and the painstaking details of the trade. Others, like Peopleware, Psychology of Computer Programming and The Mythical Man-Month delve into the psychosocial aspects of software development. Numerous others deal with algorithms. These books all have their place.
SICP, however, is in a different league. It is a book that will enlighten you. It will evoke in you a passion for writing beautiful programs. Moreover, it will teach you to recognize and appreciate that very beauty. It will leave you with a state of awe and an unquenchable thirst to learn more. Other books may make you a better programmer; this book will make you a programmer.
And in the meanwhile, you will learn a thing or two about functional programming (side effects won't be introduced until chapter three), lazy evaluation, metaprogramming (well, metalinguistic abstraction), virtual machines, interpreters, and compilers.
Some think that SICP is not a beginner's book. Personally, I probably wouldn't have appreciated the book in full without having some programming experience under my belt, but I would definitely recommend it for a beginner. The book is, after all, written for the famous 6.001, the introductory programming course at MIT. It may require an intellectual effort (especially if you do the exercises - and you should), but the reward is well worth the price.
Not convinced? Read the Foreword or the Preface to the First Edition. The full text is freely available on the web.
It's available online for free, and there are even video lectures to go along with it.
5614
Created on: 2008-08-26 23:10:24
Last edit: 2011-03-09 08:49:35
The C Programming Language by Kernighan and Ritchie.
It is concise, easy to read, and it will teach you three things: the C programming language, how to think like a programmer, and the low-level computational model. (It is important to understand what's going on "under the hood".)
1006
Created on: 2008-08-29 12:01:11
Last edit: 2011-11-06 07:25:01
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein) aka CLRS - Code Complete teaches you how to program correctly, The Mythical Man-Month teaches you how to manage correctly, Design Patterns teaches you how to design correctly...
This book teaches you how to write think about algorithms.
In my mind, code is just a tool, not the essence. The main part of developing software (IMO) is creating new algorithms or re-implementing existing ones. Other than that it's just assembling Lego bricks or creating "management" layers. I still dream about the workplace that would allow me to invest most (>50%) of my time in writing algorithms, leaving the management details to other people...
1836
Created on: 2008-08-17 11:54:57
Last edit: 2010-12-07 02:05:31
I personally think Design Patterns by the Gang of Four is a very useful book. It's not about the "meta" aspects of programming like so many of the other suggestions, but it emphasises encapsulating good programming techniques as patterns, and has since encouraged others to come up with new patterns and antipatterns to use in programming dialogue.
Now for a rider....
@kevin, @modesty: Great answers! If I could place a 3-vote like on uservoice, I'd gladly use it here.
To the naysayers who downmodded them, I say: please, grow a sense of humour! :-)
57362
Created on: 2008-08-04 20:33:29
Last edit: 2011-03-01 10:20:59
I think I would have to recommend Refactoring: Improving the Design of Existing Code.
8309
Created on: 2008-08-16 16:13:34
Last edit: 2010-03-18 10:33:32
In podcast 12, Jeff and Joel list a myriad of recommended books. Personally though I highly recommend The Mythical Man-Month.
4223
Created on: 2008-08-04 19:53:17
Last edit: 2009-10-01 14:18:51
The Art of Computer Programming if only for the effort Knuth put into it.
4701
Created on: 2008-08-04 20:07:28
Last edit: 2011-01-22 14:50:08
I'm surprised no one's mentioned the Dragon Book by Aho et al. (or if it has been mentioned, I missed it).
I will never forget the first edition's cover. This book made me realize just how magically awesome compilers truly are. :)
385
Created on: 2008-09-05 14:00:08
Last edit: 2009-10-15 21:41:20
I know that Design Patterns by the Gang of Four is a standard text, but rather than try and read that brick of a book start with the easierHead-First Design Patterns, and once you have got your head around the basic principles, progress to the great GoF bible...
3273
Created on: 2008-08-06 03:21:22
Last edit: 2010-03-20 07:57:04
For a truly deep read, I'd suggest Douglas Hofstadter's Gödel, Escher, Bach. He dives pretty deep into many of the issues that programmers face every day- recursion, verifiability, proof, and boolean algebra. Great read, a little off the beaten path, occasionally challenging, and extremely rewarding once you fight through it and process what you've read.
4206
Created on: 2008-09-04 09:06:12
Last edit: 2010-09-07 14:22:51
Clean Code has a lot in common with Code Complete but it's more concise and practical with lots of clear examples.
4454
Created on: 2008-11-25 10:41:08
Last edit: 2010-08-26 21:36:52
Effective C++ and More Effective C++
From the early days of my career, Scott Meyer's Effective C++ and later More Effective C++ both had an immediate impact on my programming ability. As a friend put it at the time, those books allow you to short cut the process of developing programming skills that otherwise would have taken years.
In the last year, the book with the biggest impact on my thinking has been The Cathedral and the Bazaar which taught me a lot about how the open source development process works and how to get rid of bugs from my code.
2793
Created on: 2008-08-29 16:19:05
Last edit: 2009-10-07 18:05:17
I recommend CODE by Charles Petzold. In this age of tools and IDEs that abstract a lot of complexity away from the programmers, this one is an eye opener.
383
Created on: 2008-08-04 20:03:22
Last edit: 2010-01-11 15:18:44
I really recommend programming pearls, it's got some amazing stuff in it, although I'm not ashamed to admit that I didn't understand half of it!
4576
Created on: 2008-09-04 05:32:29
Last edit: 2009-03-01 16:52:10
Working Effectively with Legacy Code
by Michael Feathers. I don't think that any book has affected my opinion of how I code more than this one. It explicitly tells you how to deal with someone elses code but implicitly you'll learn what to avoid (and why).
Edit: Makes sense now.
5444
Created on: 2008-08-06 02:00:13
Last edit: 2009-10-07 17:58:19
For me the most influencal book is "Zen and the Art of Motorcycle Maintenance" by Robert Pirsig. It is all about no matter what you do, always strive for perfection, know your tools and task at hand inside-out, and, most of all, have fun (because if you are having fun, everything automatically leads to better results).
This book has a more recent edition (2000).
Two great long-quotes from it
Quality -- you know what it is, yet you don't know what it is. But that's self- contradictory. But some things are better than others, that is, they have more quality. But when you try to say what the quality is, apart from the things that have it, it all goes poof! There's nothing to talk about. But if you can't say what Quality is, how do you know what it is, or how do you know that it even exists? If no one knows what it is, then for all practical purposes it doesn't exist at all. But for all practical purposes it really does exist. What else are the grades based on? Why else would people pay fortunes for some things and throw others in the trash pile? Obviously some things are better than others -- but what's the ``betterness''? -- So round and round you go, spinning mental wheels and nowhere finding anyplace to get traction. What the hell is Quality? What is it?
Mountains should be climbed with as little effort as possible and without desire. The reality of your own nature should determine the speed. If you become restless, speed up. If you become winded, slow down. You climb the mountain in an equilibrium between restlessness and exhaustion. Then, when you're no longer thinking ahead, each footstep isn't just a means to an end but a unique event in itself. This leaf has jagged edges. This rock looks loose. From this place the snow is less visible, even though closer. These are things you should notice anyway. To live only for some future goal is shallow. It's the sides of the mountain which sustain life, not the top. Here's where things grow.
Get it here
1458
Created on: 2008-09-05 14:16:19
Last edit: 2011-09-25 10:03:47
Peopleware
Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful. New second edition features eight all-new chapters.
512
Created on: 2008-08-17 11:27:57
Last edit: 2009-10-07 17:56:54
Coders at Work by Peter Seibel. A very influential book to learn from the experience of some of the top names in the field, how they think and work.
498
Created on: 2009-09-22 10:03:29
Last edit: NA
ok, this is a slightly off-center answer, but believe it or not, it was on the reading list for a compsci course way back in the day. An excellent role model and a good book about curiosity.
468
Created on: 2008-09-16 22:21:07
Last edit: 2011-09-05 00:32:37
Effective Java 2ed will teach you how to write beautiful and effective code. It's a Java book, but there are many cross-language concepts.
3989
Created on: 2008-09-02 23:41:27
Last edit: 2010-05-09 10:31:39
Surprised that no one has mentioned Martin Fowler's Patterns of Enterprise Application Architecture yet
1205
Created on: 2008-10-03 17:55:34
Last edit: 2010-09-26 16:18:21
I agree with Cristian, I think we should not forget SICP, I think every programmer should use it, al least as an exercise, you can complement it with;
I also include in the reading list Code Complete, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process and Design Patterns and Design Patterns: Elements of Reusable Object-Oriented Software
1552
Created on: 2008-08-22 12:56:43
Last edit: NA
30710
Created on: 2008-08-04 20:41:27
Last edit: 2009-11-19 11:49:16
The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity, or any of Alan Cooper's books.
Because most programmers produce more WTFs/minute in the user interface than they do in the source code.
12574
Created on: 2008-08-05 14:45:56
Last edit: 2010-09-03 10:15:29
@lurks
It is useful regardless operating system you use.
img src="http://www.gravatar.com/avatar/d92ce60d3a4cbe03598e27c2e8dee69d?d=identicon&r=PG" />J.F. Sebastian
37897
Created on: 2008-09-06 15:00:16
Last edit: 2010-08-26 17:21:18
Many of the books already mentioned opened my eyes and influenced me, but a book every programmer should read is Test-Driven Development by Example. It really showed me the importance of unit tests and TDD and got me started very quick.
450
Created on: 2008-09-16 10:24:27
Last edit: 2010-01-11 15:11:34
5781
Created on: 2008-08-26 21:12:55
Last edit: 2011-01-14 12:35:10
Strunk, William. Elements of Style
37897
Created on: 2008-09-29 03:09:35
Last edit: 2008-09-29 03:14:47
It depends on exactly what purpose you're aiming for - I like Code Complete for pure programming, and Don't Make Me Think is a great book on UI design.
2670
Created on: 2008-08-05 13:38:01
Last edit: 2011-09-13 02:37:35
How to Win Friends and Influence People by Dale Carnegie.
It taught me that in order to persuade people of your ideas, or lead them away from bad practices, you can never tell them that they are wrong. To do so will only entrench them further in their own ideas.
27106
Created on: 2009-02-12 16:30:03
Last edit: 2009-08-23 23:02:50
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
2731
Created on: 2008-08-26 21:04:36
Last edit: 2009-04-25 12:59:13
Domain Driven Design by Eric Evans
161
Created on: 2008-09-16 12:01:43
Last edit: 2010-01-11 15:10:23
2521
Created on: 2008-10-07 17:56:09
Last edit: NA
I'd suggest "Modern C++ Design" by Andrei Alexandrescu, a really astonishing book about the awesome tricks and patterns you can achieve with C++, preprocessor directives and templates.
1539
Created on: 2008-09-16 19:43:23
Last edit: NA
I have a different answer -- I really liked Joel's Best Software Writing I.
Maybe that's just me... but that collection opened my eyes to the "bigger picture" and inspired me to think of my programming as an art/craft.
218
Created on: 2008-08-04 21:22:46
Last edit: 2008-08-07 03:33:43
I found The Practice of Programming by Kernighan and Pike is a very good read.
690
Created on: 2008-08-16 06:19:06
Last edit: 2010-03-27 09:40:38
A great follow on to Code Complete - indispensable once you start working on projects of any decent size & need to communicate to your stakeholders about project delivery dates, etc.
Software Estimation: Demystifying the Black Art by Steve McConnel
71
Created on: 2008-09-02 20:49:36
Last edit: 2010-08-10 03:09:35
Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt.
1005
Created on: 2009-07-07 22:59:42
Last edit: 2009-10-02 14:47:03
Not the most influential, but certainly a good read and absent so far is My Job Went To India by Chad Fowler. It consists of 52 chapters/mini essays giving guidance on how to differentiate yourself as a developer rather than a code monkey (whose work could easily be outsourced).
Edit by different person: This is now called "The Passionate Programmer".
436
Created on: 2008-08-19 11:44:39
Last edit: 2010-10-02 16:38:01
I'm going to go a different route than the other answers so far...
Hackers: Heroes of the Computer Revolution. It's an informal history of computers that really gives you an amazing feel for how this whole "computer culture" formed. It had a very powerful effect on me when I read it, oh, sometime around 1988.
5939
Created on: 2008-08-08 12:02:15
Last edit: 2011-11-19 19:04:03
It's an oldie, but still worth reading: Algorithms + Data Structures = Programs
293
Created on: 2008-11-11 13:53:01
Last edit: 2010-08-08 14:03:28
Dilbert's Guide To The Rest Of Your Life: Dispatches from Cubicleland
This is more truth than you'd think.
1289
Created on: 2009-02-12 11:17:31
Last edit: NA
I recommend Writing Solid Code. Old, but still very much worth a read.
1203
Created on: 2008-08-12 11:07:44
Last edit: 2009-10-02 14:23:33
I'm amazed that no one has suggested The Story About Ping yet.
1457
Created on: 2009-07-22 21:08:51
Last edit: 2009-10-02 14:44:22
Excellent book on getting up to speed with JavaScript, highly reccommend.
582
Created on: 2009-11-25 05:23:16
Last edit: NA
Getting Real by 37 Signals. It doesn't matter if you don't "ship" something at the end of the day.
325
Created on: 2008-08-12 16:39:47
Last edit: NA
The books listed here in this question are great. Code Complete, Pragmatic Programmer, Head First Design Patterns, all great.
My contribution to this list is a free read and is really focused on getting back to (best practice) basics. Foundations of Programming is a free eBook from one of the contributors to the popular Alt.Net blogs CodeBetter, Karl Seguin.
Covers Domain Driven Design, Persistence, Dependency Injection, Unit Testing, ORM etc.
4259
Created on: 2008-08-25 22:41:35
Last edit: NA
I know this is a graphics book, but I am a graphics programmer and have been my whole career. Plus it's written in 'C' :)
It's as fundamental to me as the original K&R C Programming Language book.
Computer Graphics: Principles and Practice in C (2nd Edition)
831
Created on: 2009-07-22 20:57:45
Last edit: 2009-10-02 14:45:10
My favorite books are already covered here, but if you need to learn Java, I enjoyed Bruce Eckel's book, Thinking in Java.
Created on: 2008-09-15 19:04:57
Last edit: NA
Code Complete is the classic.
However, Facts and Fallacies of Software Engineering by Robert Glass has a lot of good information on topics other than coding, for example people-issues, testing and process.
545
Created on: 2008-09-11 09:07:58
Last edit: 2009-04-25 12:18:18
The Elements Of Computing Systems
This book walks the reader through the process of building a computer system given NAND gates and flip flops. It gives a good introduction to the "big picture".
3754
Created on: 2009-04-03 09:27:07
Last edit: NA
Refactoring to Patterns by Joshua Kerievsky
754
Created on: 2008-12-05 08:10:45
Last edit: 2009-04-25 12:08:15
The Design of Everyday Things
and Things that Make Us Smart - both by Donald Norman
These apply to so much more than just user interface design... Make things that work as others would expect - even if the others are developers using code that you've created.
The Timeless Way of Building - Christopher Alexander
The original "patterns" book. Helps to understand why some software design just "feels" right and some does not.
272
Created on: 2008-09-01 12:40:32
Last edit: 2011-01-22 15:05:48
The Annotated Turing was enlightening. It defines the box programmers work in.
1299
Created on: 2009-10-02 13:12:54
Last edit: 2010-10-26 14:51:19
The Deadline: A Novel About Project Management by Tom DeMarco
899
Created on: 2008-08-27 13:31:14
Last edit: 2008-08-28 00:54:46
Not the most important, but a very fundamental one
1682
Created on: 2009-02-13 08:15:24
Last edit: NA
This book really set up a fundemental view that a programmer need to know about computer.
Computer System - A programmer's perspective
2209
Created on: 2009-08-06 10:15:16
Last edit: 2010-03-27 09:33:07
I prefer Stroustrup's The C++ Programming Language (3rd edition) - it's the C++ book. C++ may be out of fashion these days, but this book takes you from the basics to OO to templates (STL) and even covers things like improving compile and link time. I still learn something every time I pick it up, and it's never, ever bad to know C++.
0
Created on: 2008-09-10 10:31:19
Last edit: NA
978
Created on: 2008-09-16 09:59:52
Last edit: 2010-01-11 15:02:54
2411
Created on: 2009-07-24 05:56:10
Last edit: 2009-10-02 14:42:08
My career as a developper is starting, so I cannot directly answer the question. But as .NET developper, the book that helped me the most in framework and reusable libraries design is "Framework Design Guidelines" by Brad Abrams. The book solves a lot of issue you can encounter when you are thinking about naming and crucial design choices. This is the best way to produce high reusable assemblies in .NET.
I am pretty surprised that nobody mentioned that book. What is sure is that it has been really influential on my design and naming habits when writing reusable assemblies.
One thing I really appreciate in this book is the notes of .NET Framework developers giving details on issues they had when designing the .NET Framework, which I think are good advices as it is representative of a well designed framework.
908
Created on: 2009-10-26 16:23:34
Last edit: 2011-06-17 08:02:56
It's a brand new book and I've only just skimmed it but Growing Object-Oriented Software, Guided by Tests right now is THE book on TDD. It really concentrates on the "design" part of software development and how it is closely related to how you develop code writing tests first. I've enjoyed other books on TDD and unit testing but this takes it to a higher level, I'm pretty sure this one is destined to be a classic.
2110
Created on: 2009-10-31 18:43:18
Last edit: 2010-12-09 02:41:48
I keep these 3 books on my shelf. As a reminder of the complex and exciting craft we do. I only recommend to read them if you happen to encounter with something that not even the entire Stackoverflow comunity can help you solve as I have:
=)
672
Created on: 2010-09-03 14:37:09
Last edit: 2010-09-03 20:20:14
Alice's Adventures in Wonderland Best programmers have read the book!
1467
Created on: 2008-08-16 15:42:37
Last edit: 2011-09-02 02:42:48
Kernighan and Ritchie's "The C Programming Language" - The only C book you'll ever need.
9635
Created on: 2008-09-16 11:38:21
Last edit: 2011-09-07 18:31:35
There are alot of really great books in the answers. One that isn't mentioned that I absolutely love is Object Thinking by Dr. David West. This book had a huge impact on me because it explains the why more than the how.
99
Created on: 2008-09-10 11:35:50
Last edit: NA
I'm really surprised that nobody has mentioned Advanced Programming in the UNIX Environment by W. Richard Stevens. It's not necessarily the book that had the most impact on me, but it definitely deserves a place among many of the other greats mentioned here.
Even though I mostly did (and do) Perl programming, reading this book really helped me understand more about what's going on under the hood. It covers a ton of really critical low-level concepts like File IO, system files (passwd, group, etc), process control, signals, and so on.
Having some idea of how this stuff works at the C level is very useful, even if you never write any C code, because every language you use (on a Unix system) is using these APIs under the hood.
3075
Created on: 2008-09-16 23:25:02
Last edit: NA
Godel Escher Bach wins hands down for me, but that's already been mentioned elsewhere. One book that motivated me highly that isn't already in an answer AFAIK is Tracy Kidder's Pulitzer prize winning book The Soul of a New Machine (amazon). Which charts the trials and tribulations of an engineering team trying to bring a new machine to market. It made me feel proud to be an engineer.
818
Created on: 2010-09-06 21:16:15
Last edit: 2010-09-07 10:08:02
1025
Created on: 2009-08-28 15:42:32
Last edit: 2010-03-04 11:55:06
CLR via C#, by Jeffrey Richter
183
Created on: 2008-09-16 15:30:49
Last edit: NA
Christopher Alexander - The Timeless Way of Building
119
Created on: 2009-06-28 14:01:19
Last edit: 2010-08-31 17:49:31
Framework Design Guidelines will give you a very good start on how to organize code.
1525
Created on: 2008-08-26 09:35:06
Last edit: NA
I thought Design Patterns in C# by Steve Metsker was good. The examples are a bit more advanced (and useful) than some other design pattern books I've read.
8661
Created on: 2008-09-10 11:03:06
Last edit: 2011-02-24 23:29:19
Since you didn't say you wanted programming books specifically, I can be a little more creative.
Every programmer should have read Lewis Carol's Alice in Wonderland.
Slightly more down-to-earth - every programmer should read Getting Things Done - especially the ones that I work with, because once you 'get it' you will be annoyed at how unorganized other people can be :)
Created on: 2008-08-25 17:59:36
Last edit: NA
I though Jurgen did a decent job with his Top 100 Best Software Engineering Books, Ever.
3064
Created on: 2008-08-22 13:00:18
Last edit: NA
Maybe not the single most influential for every programmer but... to expand really expand your mind about computation in general, and to learn to write some very interesting programs, I recommend the
Computational Beauty of Nature.
BTW, the author is now head of Microsoft's Live Labs.
654
Created on: 2008-08-26 09:59:08
Last edit: 2009-08-27 00:24:04
Robert M. Pirsig's Zen and the Art of Motorcycle Maintenance has a little section near the end about Gumption Traps. That's the best advice I've ever read on how to debug code or solve problems in general. The rest of the book is pretty good, too.
269
Created on: 2008-08-27 13:23:38
Last edit: NA
The C Programming Language. Seriously!
7579
Created on: 2008-08-18 10:27:47
Last edit: NA
About Face - The Essentials of Interaction Design (now in third edition)
This book opened my eyes to a very different viewpoint of development, focused on the interactions of the end user. It also helped me realize that creating great software is about more than just patterns and architecture, it's about helping people achieve their goals.
1631
Created on: 2008-09-16 11:22:45
Last edit: NA
Writing Solid Code, by Steve Maguire. Code Complete is a close runner-up.
1009
Created on: 2008-09-16 10:01:15
Last edit: 2011-01-22 14:55:33
91
Created on: 2009-01-22 07:44:07
Last edit: NA
Here Comes Everybody: The Power of Organizing Without Organizations - Clay Shirky
This is an incredible book about the social effects of the internet. A must read for anyone in the tech industry, doubly so for programmers.
Here Comes Everybody: The Power of Organizing Without Organizations is a book about what happens when people are given the tools to do things together, without needing traditional organizational structures.
1841
Created on: 2008-09-16 12:48:40
Last edit: NA
I was lucky enough to read this pretty early in my so-called career:
Philip and Alex's Guide to Web Publishing
It was cutting edge in 1998 and still has plenty of relevant points. I found it an enjoyable read with a real sense of humour (not the twee kind you often get in software books). When he gets down to the details he talks about specific platforms though, so it shows it's age when Oracle 7 is mentioned!
I would still put this at the top of the required reading list for a web developer because of the way it assumes no prior knowledge, starting from first principles ("what's HTML?")
305
Created on: 2008-09-06 10:25:07
Last edit: NA
Object-Oriented Analysis and Design with Applications by Grady Booch.
6336
Created on: 2008-08-06 06:59:37
Last edit: 2009-10-02 15:46:08
JavaScript: The Good Parts by Douglas Crockford
Opened my eyes to the goodness hidden in JavaScript and how bad the examples of JavaScript are strewn through tutorial sites.
Essential reading for anyone serious about web client side development.
It also improved my C# and showed me the light to dynamic languages.
2072
Created on: 2010-11-01 10:02:38
Last edit: NA
342
Created on: 2010-12-09 02:44:44
Last edit: 2011-09-02 02:43:17
512
Created on: 2008-08-17 11:29:51
Last edit: NA
This is a great book for a Java developer new or old:
Effective Java by Joshua Bloch
Created on: 2008-09-11 21:09:31
Last edit: 2009-04-25 11:55:28
804
Created on: 2008-09-16 10:00:06
Last edit: 2010-07-10 09:44:49
I don't know if it were already suggested but:
579
Created on: 2009-08-04 10:51:48
Last edit: 2009-10-02 14:40:38
The Tao Te Ching. Although it's a philosophy book and not a programming book, some of it's principles are very applicable to programming:
"Know when it's time to stop. If you don't know then stop when you are done."
Translation: Knowing your requirements means you know when to stop. If you don't know when to stop, you need to stop because the requirements have yet to be defined.
"The harder one tries, the more resistance one creates for oneself."
Translation: How many times have you worked on a problem for several hours, only to find the answer after taking a 15-minute break? The more you hammer at a problem, the harder it is going to be for you to solve it.
"One whose needs are simple can fulfill them easily."
Translation: Simple requirements lead to simple designs.
"When we lose the fundamentals, we supplant them with increasingly inferior values which we pretend are the true values."
Translation: Hubris is never a good substitute for good programming standards. If you get lax, no amount of design patterns will ever substitute for the lack of quality in your code.
899
Created on: 2009-01-05 22:33:10
Last edit: NA
The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
Created on: 2008-09-16 11:16:01
Last edit: 2011-02-02 18:50:19
Created on: 2008-09-15 15:03:03
Last edit: 2011-09-02 02:43:33
589
Created on: 2010-12-13 08:38:38
Last edit: 2011-09-02 02:44:14
Most fun to read: The Art of Deception by Kevin Mitnick (one of world's most famous hackers)
Really shows that how secure your software may be, the weakest link is always the human controlling it, with entertaining examples.
330
Created on: 2010-05-18 07:17:51
Last edit: NA
The Productive programmer. its a natural extension of "the pragmatic programer" which gets a little more into the every day details.
14028
Created on: 2009-10-09 16:32:23
Last edit: NA
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?
Unit testing is one thing that I really wished I knew at the start of my programming career rather than the middle of it.
As to the general "what good books have you read" offshoot of this thread:
Writing requirements is one area where I suck, this book helped a lot.
Now off to order a book or two from Amazon... ;)
4404
Created on: 2009-10-22 05:14:14
Last edit: 2011-09-12 10:16:19
Smalltalk-80: The Language and its Implementation AKA the "Blue book":
100 Most Influential Books According to Stack Overflow的更多相关文章
- Stack Overflow is a question and answer site
http://stackoverflow.com/ _ Stack Overflow is a question and answer site for professional and enthus ...
- 我30天在Stack Overflow问答网站上回答问题的感受
想法的萌芽 如果非要总结下我多年来是如何使用Stack Overflow的话,我的答案就是:打开网页,搜索问题,查看Stack Overflow的搜索结果,参考答案,最后再关掉网页. 我的生活已经离不 ...
- 【转】Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
原文见:http://www.cnblogs.com/xiangwengao/archive/2012/03/16/2399888.html 问题 给一个程序添加小功能,在debug下能正常运行,在r ...
- Medium高赞系列,如何正确的在Stack Overflow提问
在我们写程序的时候,经常会遇到各色各样的问题,在国内,小伙伴们经常去知乎.CSDN.博客园.思否.安卓巴士等地方提问并获得答案. 这些地方汇集了很多优秀的.爱分享的国内资源.小编比较自豪的一件事情就是 ...
- Stack Overflow是如何做应用缓存的
首先要说下缓存是什么?缓存,就是在取出数据结果后,暂时将数据存储在某些可以快速存取的位置(例如各种NoSQL如Redis,HBase,又或MemoryCache等等),于是就可以让这些耗时的数据结果多 ...
- Stack Overflow 推荐编程书单
Stack Overflow 推荐编程书单 1 Working Effectively with Legacy Code Michael C. Feathers 修改代码是每一位软件开发人员的日常 ...
- Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder
Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...
- Stack Overflow: The Architecture - 2016 Edition(Translation)
原文: https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/ 作者:Nick Cra ...
- Stack Overflow: The Architecture - 2016 Edition
To get an idea of what all of this stuff “does,” let me start off with an update on the average day ...
随机推荐
- 树状数组:CDOJ1583-曜酱的心意(树状数组心得)
曜酱的心意 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 131072/131072KB (Java/Others) Description ...
- Linux之crond 服务介绍
在介绍crond之前,先科普一下什么是进程?什么是线程?什么是程序? 程序:程序是一组指令及参数的集合,指令按照既定的逻辑控制计算机运行.进程则是运行着的程序,是操作系统执行的基本单位.线程则是为了节 ...
- Linux学习-备份要点
备份资料的考虑 老实说,备份是系统损毁时等待救援的救星!因为你需要重新安装系统时, 备份的好坏会影响到你 系统复原的进度!事实上,系统有可能由于不预期的伤害而导致系统发生错误! 什么是不预期的伤害呢? ...
- hierarchy viewer不能获取userbuild手机版本的UI布局
步骤很详细:http://maider.blog.sohu.com/255485243.html 其中的第7步命令需要更改为: java -jar smali-2.0.3.jar ./out -o c ...
- 如何用treap写luogu P3391
treap大法好!!! splay什么的都是异端 --XZZ 先%FHQ为敬 (fhq)treap也是可以搞区间翻转的 每次把它成(1~L-1)(L~R)(R+1~n)三块然后打标记拼回去 对于有标记 ...
- LoadRunner 11破解方法
名称:HP Loadrunner Software 11.00 版本号:11.00.0.0 安装环境:Win 7 软件安装成功后,会弹出提示告知license的有效期为10天. 破解方法: 1.下载破 ...
- webdriver高级应用- 无人工干预地自动下载某个文件
在网页上下载文件时,通常需要人为设定下载文件并选择保持路径,这样就无法实现完全自动的下载过程.下面实现基于firefox浏览器的全自动化文件下载操作: #encoding=utf-8 from sel ...
- TransH中的Hinge Loss Function
Hinge Loss Function Hinge Loss 函数一种目标函数,有时也叫max-margin objective. 在Trans系列中,有一个 \[ \max(0,f(h,r,t) + ...
- install and config redis on ubuntu14.04
1.installation: (1)download redis from http://redis.io/download (2)installation: $ tar -xvf redis-3. ...
- Thanks for your encourage!
将近三个月的学习,我的努力换回了代表荣誉的小黄衫,这令我很开心啊...我想是不是要写点什么来表达自己的心情呢=,= 于是就有了以下文字ahhhhhh... 学习心得: (1)学习中总会有失败和成功, ...