How to become a programmer!
This article is based on the preface of code secrets-exploring computer systems from the perspective of C/C ++.
This book should be the third book I have contributed to the readers. I am very glad to write it down all the way. Fortunately, many readers love me so much! I am more happy to see that the majority of readers can learn from my books and learn from them. During the creation of computer books, I cannot help but feel that it is not easy to write a good book! What's more, there are many horses and horses, but Bole is not often used. It is equally difficult for a book to find its true readers. Therefore, I wrote the following text, hoping that these introductory items can help readers understand the purpose of this book and clarify the content.
Why
I want to have a question. Many readers are very concerned about how to become a programming expert. In the past, many readers wrote to me to discuss this topic. I have talked a lot about methodological issues in the appendix of this book. I will not go into details here. But here I want to tell you what this book can help you do.
It is generally believed that a computer programming expert should be able to master at least one computer programming language, and then have a solid knowledge of data structures and algorithms. In this way, he can basically Abstract Real problems from a relatively high perspective and use computers to simulate and solve them. However, this is not enough. An efficient computer program needs to be "both internal and external ". Internal strength is the data structure and algorithm used by the program. This is the fundamental factor that determines the program efficiency. External strength is whether the program code conforms to the taste of the computer system, whether the system resources can be adjusted and used to the maximum extent.
The role of this point cannot be ignored. However, many programmers have never received systematic theoretical education in computer science because they do not know this. Therefore, they cannot pay enough attention to it. Just as people in ancient times did not know the existence of bacteria and viruses, there was no concept of disinfection at that time.
In addition, I need to point out that many computer science students may not be able to comprehend this "external merit. Currently, in China's computer education, the school curriculum is only to treat all kinds of knowledge independently, so that for students who are not very savvy, there is no way to organically link so many courses without being verbose. An empty and fragile knowledge structure cannot form a complete and systematic knowledge structure.
Advanced computer education abroad has noticed this point. Many foreign universities have offered such a course to allow students to really feel the computer organization mechanism and principles from the perspective of program design. Fortunately, many people in China are aware of this problem, so related courses and books are gradually introduced into China. However, one problem currently exists is that the migration of foreign courses and teaching materials to China makes this foreign study somewhat "unacceptable ".
This kind of dissatisfaction is mainly manifested in three aspects. First of all, these books are often textbooks of foreign universities. These textbooks are intended for professional students, which will undoubtedly reject non-professional students and readers. Secondly, these books are written based on the situation of foreign universities and do not fully consider the situation in China-of course, why should people consider them? This makes Chinese readers very difficult to learn. For example, some examples may be based on programming in Unix or Linux, and it is difficult for a vast majority of Chinese users who use Windows to complete these experiments. This has greatly affected their enthusiasm and stamina for continuing to learn. Finally, the imported books are obviously more advanced than the actual technology. Now it's all about the multi-core era, and the book may still talk about Pentium 2, which allows Chinese readers to only follow people's lives, but never surpass it.
Core Content
Based on the above considerations, I wrote this book "code secrets". Maybe many people are confused about the name, because it seems that they cannot determine the specific content of this book. Next I will tell the readers what this book is written. This book starts from the perspective of programming (because it is the most familiar and acceptable starting point for the majority of readers ), use C/C ++ as the description language (because this is currently the most widely used computer language, in addition, in C/C ++, underlying features such as pointers are also very suitable for revealing something deep in the system ), take visual c ++ as a tool (because it is also a development environment used by Chinese programmers ), the principles and knowledge about computer composition principles and computer operating systems hidden behind the Code should not only be known to the reader, but also to the reader. This knowledge can be used in programming practices to help readers write high-quality code that is more suitable for machine optimization. Uncover the little-known secrets behind the code, let the code speak, tell you a real computer, so that you can write good code suitable for communicating with the computer, this is what this book can do for you.
Target Audience
The next question I want to answer is who wrote this book.
If you are a programmer eager to develop your programming skills, this book is a magic weapon to help you become a programmer;
If you are a programmer who is struggling to break through the programming bottleneck, this book will help you get through the Martial Arts secret of Ren du;
If you are a computer professional who still feels that the book knowledge cannot be internalized, this book is the beacon of tongtian, which opens the cloud for you and provides guidance.
Reading suggestions
Finally, I want to talk to readers about the suggestions for reading and learning this book.
First, the book is divided into nine chapters from the whole. The relevant links and layers of chapters are gradually developed based on the principle of gradual progress. Therefore, when reading this book, you cannot choose to read it, in this way, not only cannot comprehend the essence of the entire system, but also brings difficulties for further reading. In particular, 2nd ~ In particular, chapter 7 cannot be divided and read in order.
Second, a large number of charts are drawn in the book to help readers understand. The role of these charts cannot be underestimated. If you encounter difficulties in understanding the text, you can refer to the chart to learn. In order to help readers better understand, the book has also designed a large number of experiments. Although the experiment results are provided in the book, it is important for readers to practice these examples in person, in this way, knowledge can be solidified in your mind.
Third, this book involves a wide range of knowledge. In some cases, it is not possible to explore all the problems in depth due to space limitations. For those knowledge points that are not very deep, if the reader is interested, it is recommended that the reader read more relevant information to learn more about the blog.
About this book
Excluding the time for preliminary conception and material preparation, this book has been written for nearly a year. In this process, I strive to keep improving, repeat a lot of knowledge points, and read a lot of information and literature. These work and efforts are nothing more than the hope to write a book worthy of the readers.
After the two books were published earlier, I also received a letter from many enthusiastic readers. Some people expressed their full affirmation of my work, which of course I would like to see, being recognized by readers is undoubtedly a great honor for a responsible author. More people asked me some questions in the book, mainly the difficulties they encountered during reading. This is what I am very happy to see, because it makes me realize that many people are reading my books. One of the questions that many readers ask is how to learn programming well. To answer this question, I wrote an article entitled "Cultivation and improvement of programming capabilities" which is attached to the text of this book, it is hoped that it will help those readers who are still confused.
It is really difficult to write a good book. It is even more difficult to write a good book without errors. I heard that after the publication of the "computer programming art" series, computer science master knuth also proposed that if someone could find a mistake in his book, he would be rewarded with 256 cents, facts have proved that there are still many people who have received this award. This also objectively demonstrates that even if the author is very good, even if the author is very careful, it is inevitable that the book contains flaws and deficiencies. Therefore, I sincerely hope that the majority of readers will be able to give us some advice and criticize. However, past experiences have really disappointed me. There are many readers who wrote to me, but few readers who pointed out that my book was wrong. I think one of the most important reasons is that China's education is more about making us learn to accept it, rather than thinking boldly! We are too blind and superstitious about authority. We only listen to advanced teachings, but do not want to think for ourselves. This is not a good phenomenon for learning. The ancients cloud: Believe in books, it is better to have no books. I also hope that the majority of readers can read books with a speculative attitude, so that you will get more. If you have any feelings or questions in this process, and hope to communicate with the author, welcome to write to me, contact mailbox: fzuo@yahoo.cn.
Finally, I sincerely hope that every reader can truly feel the joy of programming, and be more stable and take a longer time on the way to programming!
Code exposure--SlaveC/C ++Exploring Computer Systems
ZuofeiBy
ISBN 978-7-121-09310-4
2009Year8Monthly Publishing
Pricing:56.00RMB
16Open
432Page
Introduction
From the perspective of programming, this book uses C/C ++ as the description language and Visual C ++ as the form tool, the mechanisms and knowledge hidden behind the Code regarding computer composition principles, computer operating systems, and so on should not only be known to the reader, but also to the reader. This knowledge can be used in programming practices to help readers write high-quality code that is more suitable for machine optimization. Uncover the little-known secret behind the code. Specifically, the book mainly discusses the computer underlying coding, memory and pointers, computer commands and code systems, function calling mechanisms, multi-level storage systems, concepts of threads and processes, and code optimization..
This book can be used as a reference book for instructors and students of related majors in colleges and universities, as well as for engineers and technicians in computer science and related fields, this book is also a simple computer book that helps them understand the underlying mechanism of computers.
Book Purchase address: Dangdang Zhuo Yue net China Interactive publishing network
Related Book recommendationsBooks on the day of the night-from assembly language to Windows Kernel programming, cold river fishing: Windows Kernel security programming, Rock Stone-32-bit assembly language programming in Windows
And the just-concluded liberal arts viewpoint open party phase 6th-Shanghai author and readers meeting.
For more exciting books, see www.broadview.com.cn.
To get more books and activity information in real time, join the blog reader club!