For so many years, I have learned and used the development language, but I only have a good one. There is a paragraph very popular until the similar ideas are now affected by many people. "To make programmers, the most important thing to learn the language is learning programming ideas, not learning that language." I used to put this passage as a classic. In the early days of programmers, frequently replacing programming languages, this is an important reason, and another important reason is that if there is no new language, it looks behind. Therefore, the popular language is basically involved, and the money to buy a book is thousands. As the number of code increases, the growth of experience and the deepening of business understanding, naturally have some ideas, ideas and design.
An example of me, people who developed the database are probably experienced. The SQL statement is often required in database applications, but write SQL language in the program and the processing of returns the result set, which is often an individual power, especially in the programming of embedded SQL. Repeat a quite code, then modify a little bit, the large amount of the entire program is consumed above, and it is more difficult to maintain it. I think many people have thought of many ways to simplify these very borus operations. I also think about some ways, one of which is more interesting. There is a very common function in the C language being int SSCANF (Const Char * Str, Const Char * Format, ...), which is quite easy. I want to use this function to handle the SQL language SELECT, so I define a function that gets a record: IFX_SELECT (const char * sql, ...); It is very easy to use:
Int ID;
CHAR Name [16];
...
IF (IFX_SELECT ("SELECT ID, NAME AERS WHERE I ID = 10", & ID, Name) == 0)
...
This is a good idea and is also a good programming idea. But after starting, I found that I can't do it. Although this code looks very simple, it contains many things: the processing of parameters, the pointer and the value of the content, the error handling, data type judgment and analysis, etc. These stuffs have been learned, but they can't use flexibility in actual work, the ideas and ideas are naturally achieved. Similar phenomena is not only in programming, but also in real life.
As a result, we will make up the lesson. Turning a textbook several times, reading a lot of open source procedures, in the usual programming, in the study of C itself, often sighing, the original C language can also be used. With the more and more familiarity of the language itself (grammar, skills, combination, etc.), many of their own ideas and ideas are successful. The language and thoughts have not been divided into words, and the above code is naturally fixed. Of course, this is a long-term process, it is not a good one. Time is generally calculated by year.
So much, my point of view is also clear, the programming language and programming is equally important, solid programming language is the foundation for programming ideas, and the two are unable to promote each other. As people's souls and flesh. For a person, if only the soul is, no matter the body, it is "ghost"; if only meat is meat, no matter the soul, it will be called "walking dead". Basic tools are not well used, it is not familiar, it is difficult to expect a good product; there is a good programming idea, but because the ability of the programming language is not enough, then this good idea is just "fancy" Developers are easy to be placed to "low hands and low", "unrealistic", "not practical".