当前位置:网站首页>What are the books that have greatly improved the thinking and ability of programming?
What are the books that have greatly improved the thinking and ability of programming?
2022-07-01 14:40:00 【A drop in the universe】
1 Preface
For students majoring in Computer Science , Schools teach us programming languages , Learn things like Java,Python or C ++ Such programming languages are easy , But learning to write good code is not .
Programming is not equal to writing code , Programming is a broader process , It also involves putting forward the idea of developing a program, testing it, and so on , Therefore, improving the programming thought and ability is also an indispensable ability for a qualified programmer .
For us who are engaged in technical jobs , You have to teach yourself how to program , Improve the ability of programming . Writing good code is more important than simply repeating requirements , This is also an important difference between ordinary programmers and good programmers . In addition to the practical experience in work , It is also indispensable to pay attention to the thoughts of our predecessors and read relevant books .
Although the technology is updating day by day , There are also many technical websites and personal blogs , But the classic books and ideas about technology can be handed down repeatedly . Because books are not only authors and editors, but also more comprehensive and systematic carding of a certain field , And reading books can bring you many different experiences .
This article gives you a few high-value books , Not necessarily comprehensive , Readers are welcome to add , I hope it can help you .

2 About coding and refactoring
2.1 Clean code
English name 《Clean code》, The book is from Robert C Martin In the hands of , Also known as Bob uncle , Is a famous American software engineer and writer , He has written books on agile software development . The book mentions many well-known programming principles : such as SOLID principle 、 Law of Demeter(LoD, Also known as the least knowledge principle ).

Recommended reasons :
Every programmer must have a book and read it . This is a very famous book , It will completely change your programming style , The rules introduced in the book are all from the author's many years of practical experience , Cover from naming 、, data structure 、 Object oriented design principles to multiple programming aspects of refactoring , Although one “ home ” Words , However, sincerity has value for reference . Maybe , Really neat code can make peers read like poetry .

“Any fool can write code that a computer can understand . Good programmers write code that humans can understand .— Martin · Fowler
If you can only read one book , I recommend this one . Last , Based on this book , Many developers have also come up with ways to clean up languages :
Javascript The way of neatness PHP The way of neatness ABAP The way of neatness Java The way of neatness .NET The way of neatness
And the code style guidelines of major technology companies :
“Bob The uncle 《 The way to structure cleanly 》 It's also worth recommending , This book is the culmination in the field of architecture , around “ The structure is neat ” This important orientation , Systematically analyze its origin 、 Connotation and application scenarios , It covers the whole process of software development and all the core architecture patterns .
also 《 The professionalism of programmers 》, The author uses the detours he and his colleagues have taken 、 For example, mistakes made , Intended to lead the way for later generations , Help his career to a higher level .
2.2 restructure ( The first 2 edition )
English name : 《Refactoring: Improving the Design of Existing Code,2nd Edition》, author Joshua Kerievsky. This book is one of the rare books with the best combination of theory and practice . Refactoring is a process that makes your working code more beautiful , This book can help you with the patterns of the software development world that have been tried and tested .

Recommended reasons :
The term refactoring is often mentioned at conferences , That is the impact of this book . Refactoring is the process of rewriting software , Without changing its function , To improve its readability , Testability or maintainability . Refactoring is the process of making working code beautiful , Refactoring helps improve the design of working code . This is also one of the essential skills for good programmers , Usually good programmers are also good at refactoring .
This book will teach you the art and science of refactoring code . Whether you are Java The programmer 、C++ Developers are still Python Developer , Every programmer can benefit from this book .
“And 《 restructure 》 The books that are often mentioned are famous 《 The code of 》, The book also explains proven techniques and strategies , It can effectively help programmers and software developers . I also borrowed this book from the library when I was in college , Found the book too thick , be unchewable , It will be returned as soon as it is due .
2.3 The beauty of code
English name :《Beautiful Code: Leading Programmers Explain How They Think》, author :Grey Wilson.

Recommended reasons :
Master Daniel's blog collection , It is also one of the best books to improve coding skills , Because it gives you an opportunity , Let you know how professional programmers deal with problems 、 The code they write and how they solve the problem , And still keep their code beautiful .
This book is a collection of case studies , Reveals Emacs To Facebook And other large websites , About those expert programmers , Including Brian · Kennyuan , Jon · Bentley (Jon Bentley)( Author of programming Abas ), Tim · Bure (Tim Bray), Carl · Vogel (Karl Fogel), Michael · Faith (Michael Feathers)( Authors who use legacy code effectively ), And many more great authors and programmers . About binary search , It has been mentioned several times by different authors in the book , Understand the views of different authors . No matter which coding language you use , for example Java,C#,Python or Ruby, Will find interesting things in this book .
“The beauty of code surveys the scope of human invention and creativity in an effort : The development of computer systems . The beauty in each chapter comes from discovering unique solutions , This is the author's power to transcend boundaries , Identify needs that others have overlooked , And find amazing solutions , To solve the troublesome problem .
3 About career growth
3.1 The way of programmer training ( The first 2 edition )
English name 《Pragmatic programmer》, The author is Andrew Hunt & David Thomas. The translator of the Chinese version is the famous Yunfeng , The subtitle is : To the highest level of pragmatism .

Recommended reasons :
This book is about time 20 The new edition of , Covering Philosophy 、 Method 、 Tools 、 Design 、 decoupling 、 Concurrent 、 restructure 、 demand 、 Best practices and major traps on pragmatic topics such as teams , And easy to transform 、 Reusable architecture technology .
When I first came out, Bowen Publishing House held a promotion activity , With the joint recommendation of Yunfeng and uncle Haozi , I started this book without hesitation . The most difficult thing for programmers is pragmatism , Always want to pursue new technology , Stir fry new concepts . After work, I gradually understand , The nature of programming , Are language independent 、 Framework and methodology , Technology changes the world because it can effectively solve the real needs of users .
This book is essentially a self-help guide for programmers . It explores good software development practices , And provide you with excellent suggestions 、 Tips and tricks , To program more effectively . It is the classical and modern anecdotes 、 The creative use of fascinating analogies and thought-provoking examples , Make the learning of each part interesting and interesting . If you read something similar to C Language Bible and Head First System books , After work, people will really understand why this book is not thick , Read it and applaud it , This is probably The greatest truths are the simplest .
“Author of another book :《 The way of programmer training : The Pragmatic Programmer 》 It's also worth recommending
3.2 The Productive Programmer
English name :《The Productive Programmer》, author :Neal Ford.

Recommended reasons :
This book is about how to become more efficient in the process of developing software . meanwhile ,《 The Productive Programmer 》 Will be presented across languages and operating systems : Many techniques are described with examples of multiple programming languages , And will span three major operating systems ,Windows( Multiple versions ),Mac OS X as well as *-nix (Unix perhaps Linux).
The idea that runs through the full text is to try to make the machine do what the machine should do , Let the program deal with the program , Give full play to the inherent advantages of programmers in this regard . Learn to make good use of tools , Command line 、 Learn to write scripts , Learn macro . Provide efficiency , Don't do repetitive and monotonous work .
Ultimate purpose : Become a “ Lazy ” The programmer .
3.3 Soft skills : A survival guide beyond the code
English name :《Soft Skills: The software developer's life manual》, author :John Z. Sonmez

Recommended reasons :
One of the most beneficial non-technical books I read during my graduate study . Programmers know that coding is important , This is our hard skill to eat .
But in actual work, I found that more than writing code , In addition to soft code, it's also important : For example, facing communication with customers 、 Communication problems in dealing with products ; For example, we should pay attention to our own development , The book also introduces how to make a professional breakthrough ; There are more chapters on how the author learns 、 How to manage money 、 Bodybuilding 、 Self marketing and so on .
The interesting thing about sharing the book that impressed me was that the author went to the interview , The interviewer browsed his blog post , So the two talked happily . Finally, I also want to make a statement to my reading friends : This book covers many aspects , But not all of them are perfect answers that can be copied , After all, the author also introduces these contents from the environment and his own experience at that time , Every reader should have his own choice ,
In general , This book is quite suitable for people at all stages , Especially college students and new career friends .
“The author also made 《 Soft skills 2: Career Guide for software developers 》, If soft skills focus on life , That soft skill 2 Is more concerned about the software development profession .
4 About hackers and open source
4.1 Unix Programming art
English title of the book :《The Art of UNIX Programming》, author :《Eric S. Raymond》 from 1982 The year begins UNIX developer .

Recommended reasons :
This book deals with Unix Design and development philosophy in the field of systems 、 Ideological and cultural system 、 Principles and experience , By recognized Unix Master programmer 、 One of the leaders of the open source movement Eric S.Raymond It's been written for years .
The program will be out of date , The programming language will be updated , The code changes with the business , But the vitality of programming ideas will never fade , Good programming art is also penetrating , Although the cases in the book are old , But throughout KISS principle 、 Ideological and cultural system 、 The philosophy of design and development will certainly bring you a sense of enlightenment .
“Keep it simple stupid, abbreviation KISS principle . In the work of software design , Most of the time, don't think too complicated , Don't over design and optimize too early , By using the simplest and effective scheme, we can avoid all kinds of additional costs caused by complex schemes . This is beneficial to subsequent maintenance , It is also conducive to further expansion .
in addition , This book can also be related to “ Mouse with left ear ” Uncle Haozi recommends Yes 《UNIX legend : History and memories 》 See together , understand UNIX The birth and development of , Behind the scenes story of Bell Labs ! This book not only writes Unix The history of , And record the author's memories , A look Unix The origin of , Trying to explain what Unix,Unix How did it come about , as well as Unix Why is it so important .
4.2 Cathedral and market
English name :《The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary》, 《Unix Programming art 》 author Eric S. Raymond Another divine work of , The subtitle is 《 Yes Linux And open source revolution 》.

Recommended reasons :
We all know that programmers are passionate about open source culture , They're saying don't make wheels again . Software development in the open source era may only need three keyboard buttons :CTRL + C + V, To make fun of .
Speaking of open source culture , So this book 《 Cathedral and market 》 It's the open source movement 《 Bible 》, Subvert the traditional software development ideas , It affects the whole field of software development . The author compares the idea of software development to the ancient cathedral culture and market culture , How the bazaar became a cathedral , The book systematically explains how open source software is produced , What are the advantages of open source development , How is the inheritance of open source software done .
But recently, a series of news about the confrontation of major open source software against Russia , Have to trigger a new round of reflection : Open source projects really “ Open source ” Do you ?
4.3 Hackers and painters
English name :《Hackers and Painters: Big Ideas from the Computer Age》, author :Paul Graham, The translator of this book is the famous Ruan Yifeng .

Recommended reasons :
Speaking of hacker culture , We have to mention the father of Silicon Valley entrepreneurship Paul Graham This book , This book mainly introduces hackers Hacker, That is, the hobbies and motivations of good programmers , Discuss the growth of hackers 、 The contribution of hackers to the world, programming languages and hacker working methods, and other topics of all people interested in the computer age .
This book is a collection of technical essays for hackers , After reading the book, I was subverted from the hacker image in the film for the first time , I realized that it was not an intrusion system 、 Make a virus 、 All kinds of decryptors are hackers ,Hacker Is an expert programmer , It is a group of painters with great similarities , They are all creating , Instead of accomplishing a task ,“ hackers ” It symbolizes first-class ability , And the spiritual pleasure or enjoyment produced in the process of solving problems . They advocate sharing 、 to open up 、 democracy 、 The free use and progress of computers . And those who maliciously invade the computer system should be called cracker( Hacker ).
5 About algorithms and design patterns
5.1 Algorithm design manual
English name :The Algorithm Design Manual (2nd Ed.), author :Steven S Skiena

Recommended reasons :
We all know the importance of algorithms , You must know two other famous books 《 Introduction to algorithms 》 and 《 Algorithm 4》:《 Introduction to algorithms 》 Focus on the mathematical derivation of the algorithm , Suitable for studying , and 《 Algorithm 4》 Focus on the code implementation of the algorithm , Suitable for entry .
And this time I recommend 《 Algorithm design manual ( The first 2 edition )》 But not so famous , But it is also the most comprehensive guide for designing practical and efficient algorithms . This book discloses the design and analysis of algorithms , In a simple and understandable writing style , Various algorithms are introduced , The emphasis is on algorithm analysis .
At present, algorithm books are emerging one after another in the market , But the classical algorithm is always there , Never go far .
5.2 Head First Design patterns
English name :《Head first design patterns》, author :Elisabeth Freeman / / Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson

Recommended reasons :
This book completely covers GoF All versions 23 Design patterns , Effortlessly explains the elegance that skilled software developers and programmers around the world use to build 、 The function is all ready 、 Several software design patterns for flexible and reusable software .. illustrated , With a large number of illustrative and enlightening examples , They will make learning both efficient and interesting . Different from other programming books with heavy text , This book is thought-provoking 、 Visually rich formats .
Head First System books are full of humor , Both the topic selection and the editing are very attentive , Worth reading . It is believed that the readers who have finished reading will gradually move towards an in-depth understanding of software design patterns . Read again GoF It's a good choice .
5.3 Design patterns : The foundation of reusable object-oriented software
English name :《 Design Patterns: Elements of Reusable Object-Oriented Software》, Also referred to as GoF , Because the author of this book is four people :Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides.

Recommended reasons :
This book is an essential primer for any developer who uses object-oriented code . And the author Erich Gamma yes jUnit、Eclipse、IBM Jazz project 、Visual Studio、Azure and Office 365 Behind the scenes .
If you don't have a good grasp of UML, You may find it difficult to absorb some of the information and examples compiled in your programming book . However , This does not prevent you from appreciating the beauty of the design pattern book , It is both simple and rich in content .
《 Design patterns 》 A book explains in detail 23 Software design patterns , It can help software developers and designers make better 、 More elegant 、 More flexible software . This book discusses a large number of concise solutions to common software design problems .
“if GoF Too difficult to read , Then recommend Cheng Jie's 《 Big talk design patterns 》, This book introduces you to design patterns through dialogue , Everyone can be a studious dish and an experienced bird .
5.4 Programming pearls ( The first 2 edition • Revised edition )
English name :《More Programming Pearls,Second Edition》, author :John Bentley

Recommended reasons :
This is a book that takes you to really appreciate the beauty of computer science , With deep thoughts 、 It's a wonderful book with practical skills and interesting anecdotes . Unlike most other programming books , This book focuses on basic and general problems . It discusses various algorithms and techniques that can improve performance or reduce memory requirements .
The author selects many typical complex programming and algorithm problems , It vividly depicts the anecdotes of the great masters in the history of exploring solutions 、 Through the detour and the process of continuous improvement .
Just like the title of the book , sweep , The wisdom in computer science is just like the Pearl from the fine sand to the oyster in nature , Leave one program after another “ Bulbar muscle ”.
6 summary
Although books are one of the best ways to learn programming , But there are other ways to enhance learning , For example, online tutorials 、 Technology Conference 、 Weblog 、 Video courses, etc .
Coding is an art , Like many arts , Being a good coder requires a lot of practice , Learning and self-discipline . What we need to do , Is to constantly improve their skills , And pay attention to finding and learning new and better ways to improve your ability .
Programming is a challenging field , New developments are taking place every day , And knowledge will soon become obsolete , But good coding skills and self-discipline are something , This will never be out of date , And help us in a certain process throughout our career .
It's never too late to start reading , Programming ideas and classic works have been handed down forever , Thank you for your wisdom .
“Postscript : The above books are all the ones I have read , Or there are borrowed books in the library . Also, the score in the computer field is very high 、 A well-known book . But there are too many classic books in the computer industry , What I can recommend is only part of it , What you want to recommend is not specific to a particular programming language or domain , So it's like 《C++ Programming idea 》 and 《On Java8》 Such books are not recommended , The reason for recommendation is not necessarily correct , Welcome criticism . in addition , After reading the above books, I can't say that I can apply them to my work , After reading it, you can become a top programmer . Besides, reading books can not fully accept the great wisdom of our predecessors , But if in a moment ( Reading or practicing ) I have a feeling of being enlightened about myself , It's enough .
Reference link :
UNIX legend ( Part 1 ) Good holiday reading Top 5 Books to Improve Coding and Programming Skills http://www.osnews.com/images/comics/wtfm.jpg
边栏推荐
- Buuctf reinforcement question ezsql
- 使用net core 6 c# 的 NPOI 包,讀取excel..xlsx單元格內的圖片,並存儲到指定服務器
- NPDP产品经理国际认证报名有什么要求?
- [零基础学IoT Pwn] 复现Netgear WNAP320 RCE
- [15. Interval consolidation]
- So programmers make so much money doing private work? It's really delicious
- C#学习笔记(5)类和继承
- Texstudio tutorial
- Don't want to knock the code? Here comes the chance
- 光环效应——谁说头上有光的就算英雄
猜你喜欢
Oracle-数据库对象的使用
对于编程思想和能力有重大提升的书有哪些?
Semiconductor foundation of binary realization principle
sqlilabs less9
被裁三個月,面試到處碰壁,心態已經開始崩了
[14. Interval sum (discretization)]
Leetcode (69) -- square root of X
JVM performance tuning and practical basic theory part II
Guess lantern riddles, not programmers still can't understand?
Details of appium key knowledge
随机推荐
One of the data Lake series | you must love to read the history of minimalist data platforms, from data warehouse, data lake to Lake warehouse
Play with grpc - communication between different programming languages
Admire, Ali female program undercover more than 500 black production groups
Why did you win the first Taosi culture award of 20000 RMB if you are neither a top R & D expert nor a sales Daniel?
Research Report on the development trend and competitive strategy of the global display filter industry
sqlilabs less13
Details of appium key knowledge
Quelle valeur le pdnp peut - il apporter aux gestionnaires de produits? Vous savez tout?
Word2vec yyds dry goods inventory
Oracle-数据库对象的使用
期末琐碎知识点再整理
Leetcode(69)——x 的平方根
Research Report on the development trend and competitive strategy of the global aviation leasing service industry
tensorflow2-savedmodel convert to pb(frozen_graph)
光环效应——谁说头上有光的就算英雄
sqlilabs less13
【阶段人生总结】放弃考研,参与到工作中,已经顺利毕业了,昨天刚领毕业证
Force deduction solution summary 241- design priority for operation expression
Guess lantern riddles, not programmers still can't understand?
2022-2-15 learning xiangniuke project - Section 1 filtering sensitive words