Thoughts on reading code

Source: Internet
Author: User

 

Last year, I saw a post on stack overflow, which counts the most well-received books in the computer field, including the code. I was deeply impressed by the introduction of this book. It is said that people who do not understand the computer can understand it. Now I have spent a week reading this book and found that it is true.

Of course, this book is not entirely about Lengthy coding. As the author said, this book does not talk about how computers work. The "how" here requires quotation marks, the reason is that the process described in this book is different from that in any professional book that I have read before, and there are not many professional illustrations for describing data transmission in this book, however, we use examples that are close to our daily lives. From Initial coding to Braille to binary code, from electric knowledge of a flashlight to an electric reporting machine and a relay, to a logic switching door circuit, and then splicing the knowledge together, it constitutes some of the most basic elements of Computer Construction. It is amazing to read this book.

I would like to say that although this book can be understood by anyone who does not understand computers, it is not because it is an extremely simple and popular book. On the contrary, in this book, the author secretly introduced a lot of professional knowledge, including assembly languages, digital circuits, computer composition principles, operating systems, and so on. Fortunately, with his clever writing method, the author slowly throws this knowledge in a baggage, so that people who have never heard of these things can easily understand it. For me, although I already know this, it was the first time that I found that the knowledge was so closely linked and naturally benefited a lot.

Knowledge needs to become a system. Only in this way can we remember it. I understand the correctness of this sentence. The courses I studied in college seem to be separate and contain a certain degree of relevance. Of course, as a student, This is not discovered. On the one hand, it can be blamed for the lack of inspiration from the teacher, on the one hand, we need to blame ourselves for failing to find out. During my undergraduate course, I also learned a course well and considered it as a class. After I passed the test, I did not think I would need it again. Now that my graduate student has offered the course matrix analysis, I have discovered how important linear algebra is.

The above is a little far away. Obviously, if I had read this book when I first got into my freshman year, I may have some experience. The complexity of building a person's knowledge system structure is obviously no less than building a computer. The knowledge points are like the transistors. from scratch, a combination of thousands or millions of people will eventually become magical.

 

Appendix: complete forms listed after stack overflow statistics deadline-some Chinese names are not translated

 

Code complete (2nd edition) by Steve McConnell -- Code Daquan
The pragmatic Programmer -- Program Employee cultivation path
Structure and interpretation of computer programs -- Construction and interpretation of computer programs
The C programming language by kernighan and Ritchie -- C Programming Language
Introduction to algorithms by cormen, leiserson, Rivest & Stein -- Algorithm Introduction
Design patterns by the Gang of Four -- Design Pattern
Refactoring: improving the design of existing code -- refactoring
The Mythical Man Month-Mythical man-month
The art of computer programming by Donald knuth -- computer programming Art
Compilers: Principles, techniques and tools by Alfred v. Aho, Ravi Sethi and Jeffrey D. Ullman -- Compilation Principle
G? Del, Escher, Bach by Douglas Hofstadter -- the great achievement of Geb set
Clean code: A Handbook of agile software craftsmanship by Robert C. Martin-concise code
Valid C ++
More effective tive C ++
Code by Charles Petzold -- Encoding
Programming pearls by Jon Bentley-programming Pearl
Working extends tively with legacy code by Michael C. Feathers -- the art of code modification
Peopleware by DeMarco and Lister -- people
Coders at work by Peter Seibel-programming life
Surely you're joking, mr. Feynman! -- Don't bother, Mr. Feynman.
Valid Java 2nd Edition
Patterns of enterprise application architecture by Martin Fowler -- Enterprise Application Architecture Design
The little schemer
The seasoned schemer
Why's (Poignant) Guide to Ruby
The inmates are running the asylum: Why high tech products drive us crazy and how to restore the sanity-the path to interaction design
The art of Unix programming-Unix programming Art
Test-driven development: by example by Kent Beck -- Test-driven development
Practices of an agile developer-45 habits of efficient programmers
Don't make me think
Agile Software Development, principles, patterns, and practices by Robert C. Martin
Domain driven designs by Eric Evans
The Design of everyday things by Donald Norman
Modern C ++ design by Andrei Alexandrescu
Best software writing I by Joel Spolsky
The practice of programming by kernighan and pike
Pragmatic thinking and learning: refactor your wetware by Andy hunt
Software estimation: Demystifying the black art by Steve McCONNEL
The passionate Programmer (my job went to India) by Chad Fowler
Hackers: Heroes of the computer revolution
Algorithms + data structures = programs
Writing solid code
Javascript-the good parts
Getting real by 37 Signals
Foundations of programming by Karl Seguin
Computer Graphics: Principles and Practice in C (2nd edition)
Thinking in Java by Bruce Eckel
The elements of Computing Systems
Refactoring to patterns by Joshua kerievsky
Modern Operating Systems by Andrew S. Tanenbaum
The annotated Turing
Things that make us smart by Donald Norman
The timeless way of building by Christopher Alexander
The deadline: a novel about project management by Tom Demarco
The C ++ programming language (3rd edition) by stroustrup
Patterns of enterprise application architecture
Computer systems-a programmer's perspective
Agile principles, patterns, and practices in C # by Robert C. Martin
Growing object-oriented software, guided by tests
Framework Design Guidelines by Brad Abrams
Object thinking by dr. David West
Advanced Programming in the Unix environment by W. Richard Steven s
Hackers and painters: big ideas from the computer age
The soul of a new machine by Tracy Kidder
CLR via C # by Jeffrey Richter
The timeless way of building by Christopher Alexander
Design Patterns in C # by Steve metsker
Alice in Wonderland by Lewis Carol
Zen and the art of Motorcycle Maintenance by Robert M. pirsig
About face-the essentials of interaction design
Here comes everybody: The power of organizing without organizations by Clay Shirky
The Tao of Programming
Computational beauty of nature
Writing solid code by Steve Maguire
Philip and Alex's Guide to Web Publishing
Object-oriented analysis and design with applications by Grady booch
Valid Java by Joshua Bloch
Computability by N. J. cutland
Masterminds of Programming
The Tao Te Ching
The productive programmer
The art of deception by Kevin Mitnick
The Career programmer: guerilla tactics for an imperfect world by Christopher Duncan
Paradigms of Artificial Intelligence programming: Case Studies in Common LISP
Masters of doom
Pragmatic unit testing in C # With nunit by Andy hunt and Dave Thomas with Matt hargett
How to solve it by George polyA
The alchemist by Paulo Coelho
The Smalltalk-80: The Language and Its Implementation
Writing Secure Code (2nd edition) by Michael Howard
Introduction to functional programming by Philip wadler and Richard bird
No bugs! By David thielen
Rework by Jason Freid and DHH
JUnit in action

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.