Many programming friends like reading books. But why should I study? What books do I read? How many books are read? How to read? This has become a big problem. I want to talk about these issues. Note: It is best for readers of this article to have friends who have little time and hope to have a great harvest by reading some good books. If you have too much energy and time to read technical books, this article is not suitable for you.
First, in China, Program Members can only rely on reading to improve their programming or design capabilities, which is actually quite impatient, because the domestic software programming education is far behind the development of the programming industry. There are very few famous teachers who can hear their courses. Good luck. When I enter a university or company, I have a master brother or a big bull colleague who will take the lead and grow faster. Otherwise, in addition to reading, there is no other way to improve. Since I have been a math teacher, I know that it is impossible to take a high score if I only give you some reference books, it can only be said that you are a genius, and there is no universal significance), but mathematics education has been developing for some years, especially in China, a country dominated by exam-oriented education, mathematics does not require good books. As long as there are good teachers, good students can be made, and the teachers of software programming education are not optimistic. What I want to emphasize is that reading is never Good Instructor's Good Teaching is effective (pay attention to the need to emphasize the word "good ). Because there is interaction between teachers and students, it is to learn in an atmosphere of communication, rather than the full single-direction information transmission of reading. Now we have the network video, and the situation has been greatly improved. However, videos can only tell you things, but cannot solve the problem of one-way information transmission in the most quick way. For example, if you read a video and learn how to use vs2008 to write a "helloworld" program, however, you have never been able to find the solution resource manager mentioned in the video (because you or others did not intend to close it before). Maybe you have paid a lot of money, I finally realized that there is a button or menu on the toolbar to open it, but your frustration is very strong, which is very uncomfortable for beginners. If you have a teacher or a student next to you, this problem can be solved in a few seconds. For example, if you have read the teaching books or videos of the policy model, why do you have to use the policy model? Can I use a simple factory? Cannot I use the decoration mode? Your questions are answered one by one. There is no answer in the book, and the answer can only be thought by yourself. If you keep thinking about it, you will have a "Enlightened" day, but it is even more likely that, even if you forget it, it is too difficult to design the model. Study it later. Therefore, I think it is good to read more books, but it is obviously not the only way to pass the programming ability through reading, and it is not the best way. However, in terms of the current situation in China, reading books may be the best way to improve without a teacher. Especially for beginners, it is necessary to study a technology when the system reads good books, it is very likely that the development will not be comprehensive (I do not recommend training schools, because the majority of fraud, it is too difficult for good teachers to find ).
the question of what book to read. Now many of my friends have recommended some good books. Most of these books are time-tested and are indeed rare. You can see the rankings and comments of some online bookstores to find out which books are good. But the question is, are these books suitable for me to read. No, not as long as it is a good book, it is suitable for readers to read. From the classification of technical books, simple points include program design, software engineering, databases, networks, graphics and images. technically difficult points, there will be entry books, advanced books, and advanced books. From the writing form, there will be teaching materials, papers, and leisure; from the price point, there are 10-30, 30-60, 60-90, 90-grab the money did not discuss the price, etc.; from the book thickness or reading time, there are three days of reading, two weeks of reading, two months of reading, half a year of reading, three times of reading, and lifelong reading. Of course, the most important classification is the quality of writing, it should be Spam books, General books, readable books, excellent books, and absolutely necessary books. In other words, it is not enough to tell you which programming books are good books. It is often impossible for readers to distinguish whether this book is suitable for themselves and whether they should be read now, whether it is necessary to read all. Of course, sellers will not make such a detailed classification. No seller will tell you that this book is a spam book. This book is not suitable for low-handed reading. This book is too thick to be read, this book is very expensive. You should be careful before buying it. There are only three chapters to read in this book. But as a reader, if you don't think about searching for books from different perspectives, you may lose yourself in the ocean of books. For example (although I have already made this analogy many times), gof's design pattern is indeed a good book, but it is really not what every programmer needs to read, at least not at the beginning. If you are a non-object-oriented Programmer (such as embedded development), you are a relational database developer (such as a stored procedure Developer ), you are the UI Designer (the one that is designed but involves programs), and even you are a beginner in Object-Oriented Programming, I suggest you do not read it, it is really unnecessary, read it only when you have reached a certain level of development, and it is really necessary to improve your programming and design capabilities. To sum up, you must read good books that have passed the time test. However, in these good books, you need to classify them and think more about whether they are really suitable for the current reading.
next, the question is how many books are read. There are many good books, not just ten books, but dozens and hundreds of books. Some books are good for the whole book, some books are excellent for some chapters, and some books have a strong timeliness (for example, I may not be able to keep up with the times when I read some classical books on ASP.net 1.0 ). Is it necessary to read a good book of the same type? I don't think it is necessary. For example, if you want to learn Asp.net, do you really need to read all the good books in this area? Reading a book is sufficient. After all, you need more exercises instead of reading. The book to be read should be intensive reading or even repeated reading. Actually. Therefore, reference books may be needed in other industries. I don't need reference books in the programming industry. Google Baidu is the best reference. At the ideological level, such as design, analysis, and project management, you may need to read more. But the book is really expensive, rather than much. It is still taking the design mode as an example. It is enough to get started with "head first design mode" and read gof's "design mode" in the advanced mode. Of course, such as Java and pattern and design pattern parsing are good books. If you have the energy to read more and no energy, you should not read it.
Followed by, it is also a key issue, that is, how to read. I should not have mentioned this question too much. Do you want to read it? Just read it from the beginning to the end, in fact, there are still a lot of knowledge here, and the technical books are quite different from normal novels. If you simply understand that reading a book takes some time, and you read it from the beginning to the end, you will get little from this book. First, not all technical books must be read from the beginning. It depends on what books, especially application-level books, are often the technology You Need To Know most now. You need to spend more time studying relevant chapters. Good books usually tell you in the preface how to read this book. I remember that the preface in Agile Software Development: Principles, models, and practices clearly states what readers should pay more attention, in particular, he mentioned that if you are bored, you should read the two stories after reading the book. Ha, I did read the stories of Development comparison between the two projects carefully when I had nothing to do, I feel very good. Technology Learning is not completely understood after reading a book, nor can it be applied freely after reading it. A skill must be known, understood, mastered, and applied. I strongly recommend that readers take a pen with their hands when reading a book. It is best to have another notebook (paper) and a notebook (electricity) next to it (HA, PC is OK of course ). When you see a good sentence, you need to extract it to your notebook. (Don't be lazy. This is not to let you see what you copied in the future, but to slow down your reading speed and pace, the brain is closely focused on this knowledge point.) There is a saying that when a person writes something with a pen, it is impossible for him to think about other things separately. This is very helpful for memory and understanding. In short, Do not read (Unfortunately, I have seldom seen friends who like to take notes. Some people may not write a few words in addition to their signatures in a year. This is really a great pity ). So what is the next laptop or PC coming? It is not for you to play games, nor for you to chat with MM about QQ, but for writing Code The code is useless. You must repeat it by yourself. The best result is to compile the code based on your understanding, the poor effect is to copy the text in the book, but either of them is better than what you just did not write. I have seen a lot of friends who have bought books, and may not even split the album cover, or the code in the CD is just a simple operation. It is not a good way to learn it. Some people think that they should have mastered the book after reading it. In fact, they may not. I wonder if you have ever watched a movie. After watching it for the second time, I found many interesting things that I didn't care about at all. Especially for English subtitles, I don't even understand it when I read it for the first time. Isn't it a lot of time when I read it for the second time. The same is true for reading books. It is absolutely necessary to read a good book more frequently. Otherwise, your understanding may be one-sided.
Finally, I have to raise two details.
Reading of electronic and paper books. Some friends like to collect books in electronic versions. A collection contains dozens or even hundreds of books. Unfortunately, what they actually read may be a fraction. Books are used for reading. For those books that are not read on the hard disk, it is better to Delete and replace them with several AV clips (after all, the latter is more likely to watch ). But why can't these good books be well read? This cannot blame readers, but the electronic books are inherently flawed. First, it is not easy to carry, it must be in front of the computer to read (especially the code-based programming technology ebook), unlike paper books can be read in the subway bus or even in the toilet; second, it takes a long time to hurt your eyes. Books are different from short ones.ArticleReading books in front of a computer for a long time is easy to get tired, especially books that want to learn technology. Reading paper books is more comfortable. Third, it is not convenient to annotate, although some software can solve this problem, however, how to use books is not as convenient as paper books. Fourth, some e-books are not clear and may scan the original books directly. This obviously cannot be compared with paper books, reading sentiment has a great impact. Therefore, only those who can completely overcome these difficulties can learn through reading e-books. However, some of the original English e-books made by foreigners are very well-developed. When the dollar falls, but they still cannot afford to buy paper books, reading good e-books is also a good choice.
I still want to buy books by myself in the library. There is a saying that "books cannot be read without borrowing ". This is because your book has an idea of having it and reading it again when you are free. Instead, you will not read it for a long time. Due to the expiration of the borrowed books, the chance to read the books is even higher. In addition, library borrowing can save a lot of money to buy books, so it is also a good choice to borrow books from the library. However, it is difficult for libraries to keep up with the times. Many of them are too old. Although some new books and libraries have been introduced, it is difficult to get them because they are eager to get them. Even if they are really good books, they have to take chances, in addition, it is difficult to finish reading some books one month and one month of renewal. Therefore, it is a good way to borrow books from the library. However, if you cannot borrow some books, you should purchase them. However, blindly purchasing books is obviously not a good solution. When it comes to books, several colleagues may wish to buy books to share the costs of books. In addition, there are many discounts for online book purchases, which is also a good choice.
In short, in the domestic environment, reading is the best way for programmers to improve their technical capabilities. The problems mentioned above are necessary. I hope this article will help you read your technical book, And my views may be biased. Let's discuss it together. However, no matter whether you agree or not, even if I have spent so many hours typing, I am very pleased.