My programming language view
Leezy_2000 This article only represents a personal point of view, for reference only
Although the debate of programming language is risen, it is true that there are very few people who are really in programming language, and many of the valuable or wrong ideas are in real misleading awareness of many programmers. I decided Write this article.
First, the view is based on the views of this article: Based on such a premise: focusing on language features, ignoring standard libraries and other business frameworks (although these greater extent determines the choice of language). This will definitely make this article more theoretical, not practical. However, the language characteristics are the foundation of the programming language, whether it is a language comparison, or a comment language, should be based on the starting point, otherwise the unlimited increase of the scope of the discussion will result in the discussion. To avoid someone to find a foul, it is necessary to pre-declare that the language characteristics implemented by the standard library will be regarded as language characteristics, and thereby incorporate the scope of consideration. At the same time, the programming language that is said to refer to some advanced programming languages, such as C / C , Java, Python, Perl, etc.
Second, 80% and 20%
When I learn different programming languages, more time is the commonality of it. So I thought about this and found that the existence of this commonality is inevitably.
The fundamental characteristics of the software are complex, tell us about this Dijkstra, "Master complex skills have been in ancient: Divide et impera (decomposition and rules)". When we decompose and set rules, we have to use some analysis and design methods. Contemporary two major mainstream analysis and design methods are structured and oo. The three basic structures of the structured design method are sequential, branches and options. The three basic characteristics of OO are packaged, inherited, and polymorphism. Various design languages usually support these two analytical and design methods, and the basic language features must also cover the above six elements. So from this perspective, different programming languages must have considerable commonality. The first of the "The Art of Computer Programming" books for the Art of Computer ProGramming. The algorithm in this book is described in low-level languages, but its connotation is shared by most developers of different programming languages. Some commented that the knowledge of most computer programming in today's software developers came here, which means that considerable multi-program design knowledge can be implemented in various programming languages. The other is "design mode", you can't tell that design mode is a language that is a language, most design modes can be implemented in various programming languages. Although specific implementations will be considerable due to language characteristics. It should beas to say that different programming languages are in front of a certain design mode, and it is also common. Summary above is: Many cases, different languages can be interchangeable. The basis of interchange is the commonality between different languages, and the basic cause of these commonarities is mostly the same in the fundamental idea of different programming languages.
Therefore, it is very easy to learn from high, and the language switches are easy. Many people have also verified this sentence. It is this sentence to say.
There is no meaning of various languages, but the individuality of the programming language is less than the smaller part. They often become the focus of attention, but also a major reason for such multi-programming languages.
Most people have probably from the basic syntax, in fact, this is a very annoyed aspect. The difference between the basic syntax originated from any unburden, but the root fact is this different time for waste learners. Let's do a class to know how it is worthy of this waste. Before UML appears, there is three kinds of Law, and they express the difference, but they are different. People who study, people who work will spend nearly three times the strength of the same thing (otherwise, others can use the document written by other representations. "Now these people have been liberated. But this bad thing in the programming language is still continuing, almost everyone has to remember a variety of IF statements, although they can be unified. Throwing basic syntax does not talk, other aspects are really not much. Even if the two differences between C and Python are placed together. The main difference that can be remembered for a moment also: 1Python has some data structures such as List and Tuple as a built-in type (of course, there is still an operation related to this). And C is defined for this. 2PYTHON supports function generator and function nested definition. And C does not support. 3Python is a dynamic type language, which has a model capability. And C needs to support the template. This is not a full list. If you want, this list can indeed becomes long, but the other reflects the symptoms of the commonality. (Note: I have not referred to the corresponding book to put the language characteristics one by one, and thoroughly relatively different, just think of the language characteristics often used in usually used, write the above things. If that There are two or more languages, I also recommend how much overlapping is used in this way to determine the common parts of two different languages.)
This is also the fundamental meaning of 80% and 20% of the topic. Although different languages look great, the commonality is greater than personality. As for the relationship between 4: 1, the old days know that it is interested in counting a data.
Third, conclusions (prior statement, here is this conclusion from the perspective of learning, not the angle of mixed meals)
There is this sentence many years ago: The programming language is not important, and the design idea is important. In the past few years, the mouse is a programmed tide, this sentence is gradually forgotten.
At the end of this article, I want to interpret this sentence. The programming language is not not important, there is an idea, and the basic syntax is unclear, and people can't do anything. But what? Do not learn new languages, do you touch new grammar? From the above analysis, if you do this, then you mean that you are doing duplicate labor and there is no practical progress. Really programmers should not be so degraded, always learn something about thinking. I can't study how to drag a button to the shortest path to another place?
Learning programming languages, after familiarizing with the basic syntax, you must pay attention to the things taken behind some language characteristics. But I know that this is still not enough, I have to know when these bearer is suitable for use. This is a more difficult thing much than the top.
In order to avoid conclusions, the three realms are described, such as learning templates, the first step is to clear the basic syntax, to ensure that the template class written, the template function does not have a syntax error, which can pass Compilation. The second step is to understand this kind of thinking, what is the fundamental purpose of thinking of the model? The third step is to be able to use this characteristic when it encounters a specific problem, and how to use it.
Fourth, an end programmer as a general name, its true meaning is differentiated. Bjarne Stroustrup claims: "Yes, I am a programmer." And one will only drag the mouse, complete the newbie who specifies the specified function, usually we also call it a programmer. But in fact this is the same name, its intrinsic meaning is different. A significant consequence of visual programming and rapid development of RAD is that so-called software blue collar is so close to us. And more and more people cut into this team with lightning speed. This is how it is a blizzable bustling. So many males should be born, and the most cried, "the programmer is a" "programmer is younger." This is not too small to be too small, this sentence is the premise of this sentence is that the programmer is not difficult, and it doesn't need any accumulation. It is mainly to live. It is true if the programmer is just a profession of the latter, then the rich power has a congenital advantage. But very unfortunately, he is not, or should not be.
Here, I am ignoring that many companies call for software blue-collars. Single from the perspective of personal development, while practical practicalism, don't forget what is the foundation of programming, don't forget to improve your realm.