12 Most Influential Programmer Books (Part 1)
Many people ask me this question, especially my colleagues and friends who have just started their software engineering careers. What books should I read to become a better developer? Do I really need to study? This is a question worth exploring, and one I asked many of my mentors as I became a software engineer. But the problem is, many people recommend different books on different topics. The books they recommended were great in their opinion, but no one could tell me what I should read in order to become a great engineer, what were the important, must-read books.
I learned a lot from my mentors and realized that I still have a lot to learn and a lot of different books to read. I decided to read a book every month in my professional field (software engineering). Over time, I have compiled a list of books that I think must be read if you want to be a top developer.
Disclaimer - just reading these books will not make you a great developer. You will also need to gain years of work experience and apply the principles in these books to real-world practice and develop your problem-solving skills in the real world.
Reading these books can help you avoid some common pitfalls and mistakes that some developers experienced and made early on. How I wish someone had recommended these books to me when I first entered the software field, and I am still so glad that I discovered and read them again and again! Maybe you've read some of these books while taking computer science or engineering courses in college. Maybe at that time, you didn't think they were important, but I can speak from my own experience of using and applying many of the principles from these books.
I would also like to point out that this book list is not exhaustive. Many great books are published every year. These are just the books that have had the biggest impact on me and my career. Furthermore, these books are language-independent and can be applied to any software language. Okay, let’s start introducing these books! (These are all essential, and I will introduce them from back to front according to their impact on me.)
12. "Working Effectively with Legacy Code" The reason why I like this book is because almost all software development People, at some point in their careers, will often have to support and work with legacy systems. In this book, Michael Feathers provides start-to-finish strategies for working more effectively with untested legacy code bases. This book draws on material Michael created for his famous Object Mentor workshops: The techniques Michael uses to mentor to help developers, technical managers, and testers take control of legacy systems.
11. "The Mythical Man-Month" This book is a classic, but it has been revised and corrected recently. It's amazing how relevant this book is still to software product development. If you work in software, this book is a must-read. The most valuable part of the book, I believe, is the "plan to throw out" archetypal chapter. Even though our goal is usually to make something bigger, better, faster, whatever it is, we always build something that has to be scrapped and redone. I have personally experienced this situation many, many times. Therefore, the key is to plan to throw out so that you can adapt to what comes next. If you dream that your first products will be OK, you run the risk of abandoning them because product improvements and developments are inevitable. Planned abandonment also helps meet schedule goals by setting reasonable milestones.
10. "Design Patterns" If you plan to become an architect or system designer, then you will most likely be required to read this book. Hailed as the greatest book ever written on software development, this book details many different design patterns that have helped software engineers avoid and deal with common problems faced by the industry for many years. Following the strategies in this book will help you build higher-quality, flexible, and maintainable software. The legendary "Gang of Four" is this book because it was written by four famous authors.
9. The book "Programming Pearls Second Edition" is slightly different from the other books on this list. I would say this book helps one "think like a programmer". "Programming Pearls" is an outline of 15 columns previously published in "Communications of the ACM". These columns cover a wide range of programming-related topics: from requirements gathering to performance optimization. Focus on coding techniques and algorithms.
Each column is organized into a chapter. Chapters usually begin with a scenario presentation of a practical problem. Then, various solutions and corresponding lessons learned are proposed. The writing style is clear and crisp.
"Programming Pearls" is not an ordinary book that teaches new programming concepts. Although it contains excellent and sometimes quite novel ideas, the purpose of this book is not to teach you something new, but to help you become a better problem solver.
8. "CODE: The Hidden Language of Computer Hardware and Software" This book cleans up a lot of the "magic" of creating and developing complex systems. There are so many abstractions today that some low-level details are hidden from developers. While you probably won't find yourself using this book all the time in practice - I believe it's always a good idea to know what you're building and how the whole orchestration works. It comes in handy when you need to open the "black box" and dig into software or hardware to fix a nasty bug. "CODE: The Hidden Language of Computer Hardware and Software" by Charles Petzold sorts out many programming concepts - from decimal, octal, and binary number systems to high-level languages. This book introduces packet-based communication protocols and TCP. Many chapters cover hardware concepts, and five chapters cover software and teach operating systems, floating-point arithmetic, and graphical user interfaces.
7. "The Art of Computer Programming" This is another classic. It was compiled by the famous computer scientist Professor Donald Knuth and has been highly praised by many top programmers in the industry. Even Bill Gates praised this book:
"If you think you are a really good programmer... then go read [Knuth's] "The Art of Computer Programming"... If you can read If you understand the entire book, then please be sure to send me your resume."
This book starts with basic programming concepts and techniques, and then focuses on more specific information structures-the representation of information within a computer, the structure between data elements. relationships, and how to deal with them effectively. In addition, basic applications are provided for simulation, numerical methods, symbolic computation, software and system design.
Continuously explore techniques and strategies that can help you:
Design with minimal complexity and maximum creativity
Gain the benefits of collaborative development
Apply defensive programming techniques to reduce and drive away errors
Take advantage of opportunities to safely refactor or improve Code
Use a structural approach specific to your project
Debug issues quickly and efficiently
Solve critical structural issues correctly and early
Build high-quality projects from start to finish
If you’ve read these books, or any other software developer must Please leave a message in the comments about the books you have read!
Brotherhood Gao Luofeng recruits disciples for free: http://www.hdb.com/party/lzcw-comm.html
Receive LAMP Brotherhood’s original PHP video tutorial CD/"Explain PHP in detail" free of charge, please contact the official website customer service for details:
http://www.lampbrother.net
The above introduces the 12 most influential books on programmers (Part 1), including relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.