I studied at Shanxi University and majored in computer science and technology. In the course of more than four years, I did not study any course well, but I spent a lot of time on programming language, from getting started with C to C ++, C #, JAVA, ASP.net, and so on, I have always been a single man, so nothing can be done in the end.
In this learning, I began to realize some program problems. As a language, what we learn is how to convert the language into our natural language. From this point of view, the quality of a program language teaching material is mainly reflected in the language conversion. Domestic textbooks include the C and C ++ series of Tan haoqiang. They are well-known, but they involve profound things. His language conversion has encountered great problems, many things may be something he can understand, but his readers cannot understand. For the typical textbook C ++, some simple things at the beginning may not be as good as tan haoqiang, but on some moderate and profound issues, he has done quite well. As far as my personal experience is concerned, reading tan haoqiang's book is easy to understand. When it comes to the end, it is difficult to understand. Looking at C ++ PRIME is a bit difficult to understand at the beginning, but the difficulty has always been like that. Looking at it several times is not very troublesome, but it is not very difficult to clarify the problem and clue clearly.
The exception lies in this conversion. Many of our teaching materials are translated in English. C ++ PRIME is an example. This kind of translation sometimes makes people very helpless. English users and Chinese users have different habits and ways of thinking, some not very professional translators have played a greater role in this different mindset. I am not a professional English enthusiast or programmer, but in some English Translation Textbooks, I often wonder what the meaning of the translated Chinese is.
Therefore, if you want to read some translation materials for foreign languages and want to learn the language well, you should first study English and then read the textbooks for foreign languages. When reading translation materials, many mistakes may occur in thinking. As far as I can see, except for C ++ PRIME, other translation works have a headache.
Apart from these problems, it is also very difficult for Chinese to learn this language, because the language is based on English. Just like a beginner who doesn't know the meaning of int, if, for, and various specialized words, such as functions, methods, vectors, constructors, etc. For English users, looking at the name and constructor, they will know what this thing is. Chinese learners are looking at functions, causing a headache for a long time, understanding the specific functions of functions, and then looking at the construction of the two words, they are generally simply applying their elaborate functions. There is no construction concept in it. Such problems are everywhere. Here is a simple example.
Here, we will make a simple comparison to regard the learning language as a design, and design the running track of a ball falling into a face with many protruding and different hardness. As a Chinese scholar, he is desperately calculating the angle and hardness of the slope, and then calculating the ejection trajectory. As an English scholar, it is like designing a ball, designing a plane, and then recording the trajectory of the ball with a recorder.
Generally, the former has a superb IQ, an astonishing amount of learning and workload, and may end with errors, while the latter is a simple operation, but it is very accurate at the end. The main reason is a fundamental understanding.
The exception to the language itself is actually a very simple thing, basically a mathematical idea. Occasionally, a little clever things are represented by super success if reflected in language. If we can implement a plan in the programming language, it is estimated that it will be booming around the world. Of course, there are also a lot of sophisticated algorithms in computer language, but most of them are the results of spending a lot of time together. These things may be easily designed by a person who has seen events in ancient Chinese history, or who has read guimigu and so on.
Speaking so much is actually a major problem. The focus of learning a language should be on the translation of the basic functions of a language, rather than on an algorithm design. Because algorithm design knows a lot in real life. People who focus on algorithm design often find that the problem can be solved after a hard-working Design for half a day after understanding a basic function.
Nowadays, with the emergence of powerful vs2005 and other tools, the main time for learning programming languages is to spend on these tools. The role of books is usually only 10 times larger than your head.
So, find a better teacher and ask him to guide you slowly. It takes at least 100 times less time to read a book than you do. Because the former will only tell you what the problem is, and the latter will be able to express the essence of the problem in a language that he and you can understand.