StackOverflow Programmer Recommendation: 30 books that every programmer should read

Source: Internet
Author: User

"If you can turn back the clock and return to the past, as a developer, you can tell yourself that you should read a book at the beginning of your career and which one would you choose?" I hope this book is rich in content and can cover a lot of things. ”

Many programmers respond by writing their own comments when recommending them. In the past there have been domestic users to introduce the programmer's book, but are recommended the number of Top 10 books. In fact, in addition to the first 10, the recommended number of the first 30 or so books are classic, Bole online compiled this question and answer stickers, while selected passage some of the recommended people's comments. The following is the number of recommendations in each book listed.

1. "Code Encyclopedia" Steve Maik Cornell

Recommendations: 1684

"The Encyclopedia of Good Programming practices, the Code encyclopedia , focuses on personal technology, and everything adds up to what we instinctively call" writing neat code. " This book has 50 pages to talk about code layout. "--joel Spolsky

For beginners, the concept in this book is a bit more advanced. By the time you are ready to read this book, you should have already known and practiced the concept of 99% in the book. –esac

2. The path of programmer's cultivation

Recommendations: 1504

This is an excellent book for programmers who have already learned the programming mechanism. Maybe they're still enrolled in school, but they don't feel safe about what they're doing. Just like the difference between sketches and schemas. Even though you are drawing in the school class, you can draw beautifully, but if you think you don't know where to start, if someone wants you to draw a music Exchange Network diagram on your own, then this book will suit you. --joel

3. Construction and interpretation of computer programs

Recommendations: 916


Personally, this book has so far affected me with a programming book that has been drunk.

" Code Encyclopedia ", "Refactoring" and "design Patterns" These books teach you efficient work habits and transactional details. Other books like "People's collections", "Computer Programming psychology" and "People's Month myth" have been developed in depth to the psychological level of software development. Other books deal with the algorithm. These books all have their own place of belonging.

However, the construction and interpretation of computer programs differs from these. This is a book that will inspire you, it will ignite your passion for writing great programs, and it will teach you to know and appreciate beauty, and it will give you a sense of awe and an irrepressible desire to learn more. Other books may make you a better programmer, but this book will certainly make you a programmer.

At the same time, you will learn something else, functional programming (chapter III), Lazy computing, meta-programming, virtual machines, interpreters, and compilers.

Some people think the book is not suitable for beginners. Personally, although I do not fully agree with some programming experience to read this book, but I will certainly recommend to beginners. After all, this book is written for the famous 6.001, an introductory programming course at MIT. This book may require more effort (especially when you are doing exercises, you should), but the price is worthy of the book.

You're not sure yet? Then read the preface or preface to the first edition. There is a free electronic version on the Internet. -antti Syk?ri

4. "C Programming Language"

Recommendations: 774

This book is easy to read and will teach you three things: C programming language; How to think like a programmer; the underlying computational model. (This is important for understanding the "bottom")--nathan

5. Introduction to the algorithm

Recommendations: 671

"Code Encyclopedia" teaches you how to correctly program, "People's Month myth" teaches you how to manage correctly, "design pattern" teaches you how to design correctly ...

In my opinion, the code is just a tool, not the essence. The main part of developing software is creating new algorithms or re-implementing existing algorithms. Other parts are like reassembling Lego bricks or creating a "management" layer. I still dream of such a job, most of my time (>50%) is in writing algorithms, other "management" details are left to others ...--ran Biron

6. Refactoring: Improving the design of existing code

Recommendations: 617

I think I have to recommend refactoring: improving the design of existing code. --martin

I must confess that my favorite programming quote is from this book: any idiot can write a program that a computer can understand, while a good programmer can write a program that someone else can read. --martin Fowler

7. "Design Mode"

Recommendations: 617

As far as I'm concerned, I think gang of four's design model is a very useful book. Although this book is not about "meta" programming, like other suggestions, it emphasizes encapsulation of good programming techniques such as patterns, and thus encourages others to propose new patterns and anti-patterns (antipatterns) and apply them to programming dialogs. --chris Jester-young

8. The myth of man and Month

Recommendations: 588

9. The Art of computer programming

Recommendations: 542

This is a book that Gartner has devoted his efforts to writing. --peter Coulton

10. "Compiling principle"(Dragon book)

Recommendations: 462

I was surprised that no one mentioned the Dragon book. (Maybe it's been recommended, I didn't see it). I have never forgotten the first cover of the book. This book has let me know how wonderful the compiler is. -DB

11. "In the design mode"

Recommendations: 445

I know that gang of four's "design Model" is a standard book, but it is better to look at this tome first, the book is more simple. Once you understand the basic principles, you can look at Gang of Four's Bible. -Calanus

12. "The Aysil, the Book of Bach: The Grand of the different Choi"

Recommendations: 437

If the next Ang really deep reading, I recommend Douglas Houshida (Douglas Hofstadter) "Del, Aysil, Bach book." He deeply studied the problems programmers face every day: recursion, validation, proving, and Boolean algebra. This is a very good reading, difficult, occasional challenges, once you want to fight the end, it will be very worthwhile. –jonik

13. The way of code cleanliness

Recommendations: 329

While the code is neat and the code encyclopedia has a lot in common, it has a clearer and more practical clear example. –craig P. Motlin

14. "Effective C + +" and "more effective C + +"

Recommendations: 297

In my early career, Scott Meyer's "Effective C + +" and subsequent "more effective C + +" have had a direct impact on my programming capabilities. As one of the friends at the time said, these books shorten the process of developing your programming skills, while others may take years.

One of the most influential books of the last year was the cathedral and the Bazaar, which taught me a lot about how the open source development process works and how to deal with bugs in my code. – John Channing

15. "Programming Zhu Ji Nanxiong"

Recommendations: 282

Although I have to be ashamed to admit that half of the book I do not understand, but I really recommend "programming Zhu Ji Nanxiong", there are some amazing things in the book. –matt Warren

16. The art of code change byMichael Feathers

I don't think any book can affect my programming perspective as much as this book. It clearly tells you how to deal with other people's Code, implicitly teaches you what to avoid (and why to avoid it). -Wolfbyte

Agree. Many developers discuss the use of clean slate to write software. But I think almost all developers are eating dog food from other developers at some point. –bernard Dy

17. Code: The language behind computer hardware and software

I recommend Charles Petzold's "code". In this age of tools and Ides, a lot of complexity has been "extracted" from the programmer, and this book is a dream. –hemil

18. Zen and Motorcycle Repair Art/Zen and the Art of Motorcycle Maintenance

The book that influenced me the most was Robert Pirsig's art of Zen and motorcycle maintenance. No matter what you do, always strive for perfection, thoroughly understand the tools and tasks in your hands, and more importantly, have fun (because if you have fun doing things, everything will lead to better results spontaneously). –akr

(Note: About this book, you can also look at Ruan a peak of the review.) )

19. Peopleware/Personal collection: User-friendly software development

Demarco and Lister show that the first problem in software development is people, not technology. Their answer is not simple, it's just an incredible success. The second edition adds eight chapters to the content. –eduardo Molteni

20. "Coders at work/programming life"

A very influential book, you can learn from the experience of some of the industry's top people, how they think and work. –jahanzeb Farooq

21. Surely you ' re joking, Mr feynman! /Knock it off, Mr. Feynman! 》

Although this book may be a little tricky, believe it or not, this book has been on the reading list of computer science majors. A good character model, a good book about curiosity. –mike511

22. "Effective Java Chinese Version"

The second edition of this book teaches you how to write beautiful and efficient code, although this is a Java book, but there are many cross-language ideas. –marcio Aguiar

23. Patterns of Enterprise Application Architecture/Business Application Architecture model

It's strange that no one has recommended Martin Fowler's "Enterprise Application Architecture Model"-Levi Rosol

24. "The Little schemer" and "the seasoned schemer " Nmiranda

These two are Lisp's English books, and there is no Chinese version. There is also an electronic version on the Northeastern University website.

25. The road of interactive design English name: "The inmates is Running the asylum:why high Tech products" drive Us Crazy and how to Restore the Sanity The book Alan Cooper, the Father of Visual Basic, the father of interactive design.

This book is based on a number of business cases that describe how to create better, high customer loyalty software products and software-based high-tech products. This book lists a number of real and credible practical examples of current software products and software-based high-tech products, there is a widespread "difficult to use" problem. The author argues that the problem of "hard-to-use" is caused by the high "cognitive friction" in these products, and the root of this problem lies in the lack of an early "interactive design" phase for the benefit of the user in the software development process. "Difficult to use" products not only harm the interests of users, will ultimately lead to enterprise failure. This book, through some vivid examples, gives a convincing account of the effectiveness of the "goal-oriented" interactive design approach advocated by the author in solving the "difficult" problem, and confirms that only by changing the existing concepts can we effectively introduce the interactive design in the development process and lead the product design to success.

Although this book is written for business people, it is also suitable for all professionals involved in software products and software-based high-tech product development, as well as those who are concerned about the status and development of the software industry and the high-tech industry.

He also has another Chinese version of the book: "About Face 3 interactive design Essence"

26. Why's (poignant) guide to Ruby

If you're not a programmer, reading this book can be fun, but if you're already a programmer, it might be a bit tedious.

27. The Art of UNIX programming

It is useful regardless operating system. –j.f. Sebastian
No matter what operating system you use, this book is very useful. –j.f. Sebastian

28.45 Habits of practices of an agile Developer/high-efficiency programmer: The path of agile development and cultivation

45 habits, divided into 7 areas: work attitude, learning, software delivery, feedback, coding, debugging and collaboration.

In every specific habit, start with a fallacy, then analyze it, then have the right approach and put yourself in the right hands to give you a personal "feel", and finally list a few caveats to help you fix your practice ("Art of Balance").

29. Test-driven development by Example. /test-driven development "

Many of the books that have been mentioned have inspired me and influenced me, but this book should be read by every programmer. It showed me the importance of unit testing and TDD, and let me get started quickly. –curro

I don't care how good or elegant your code is. If you don't have a test, you're probably not writing code. The book deserves a higher number of recommendations. People talk about writing user-favorite software, or designing great and robust code, but if your software has a bunch of bugs, talking about those things doesn't make sense. –adam Gent

30. Don ' t make Me Think/Midas: A visitor-centric web Design Guide

Depends on the goal you are after. I like the code encyclopedia because of pure programming, "Midas Touch" is an excellent book on UI design. –justin Standard

StackOverflow Programmer Recommendation: 30 books that every programmer should read

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.