May 2010 List of programming language rankings
Looking closely at the TOP10 of this list, we will find that half of them are dynamic languages: PHP, Visual Basic, Python, Perl, and JavaScript. Today we go into the dynamic language of past life.
Trends toward the top 10 programming languages
What is dynamic?
For dynamic languages, it is popular on the Internet that the program can change its structure at run time, new functions can be introduced, and existing functions can be deleted, that is, the program can change the structure when it is running. We can understand that the language that is interpreted directly is called a dynamic language. A language that requires a compilation environment to convert programs to other intermediate encodings is called a static language.
In fact, the fundamental of dynamic language is the choice of compiler strategy at the beginning of language design, that is, what the compiler can decide about a program. If a language uses a compilation policy that supports the compiler's static decision on a problem, we think that the language uses a static policy, or that the problem can be determined at compile time (compile). On the other hand, a policy that allows decisions to be made only at the time the program is run becomes a dynamic policy, or it is considered necessary to make a decision at run time (from "compilation Principle 2ed"). The focus of a language's dynamics is on compiling and running, and the differences that arise in the application scenario are closely related to the programmer's work: what you can do and when.
History of Dynamic languages
The world's first dynamic language (also the world's second programming language) is Lisp, and many languages have inherited the necessary dominant genes (such as Smaltalk, Python, Ruby, etc.) from Lisp, and dynamic is one of them. In the 70 's, the Smalltalk language appeared, gathering the object-oriented and dynamic to obtain the recognition of the development community at that time; In 1986, Perl appeared, the efficient development efficiency and the very few grammatical limitations gained a great deal of programmer's welcome, but also made more people appreciate the charm of dynamic language.
At present, the main dynamic programming languages are: PHP, Visual Basic, Ruby, Python, JavaScript, Groovy and Perl, etc., from the dynamic and static language trend graph can be seen, dynamic language has gradually turned into the mainstream programming language, They are the main force of Web application development, and gradually enter the other corners of software development in a more relaxed posture. The rapid development of dynamic language in recent years has a great relationship with its own characteristics and the rapid development of IT industry.
Dynamic language and static language trend chart in recent ten years
Why move?
Unlike static languages, dynamic language requirements for types are not very strict, the code is simple and free, the general dynamic language is more dynamic type and weak type, which supports generic programming itself (here the type induction is not absolute, it is generally considered that Python is a strongly typed language, groovy supports static type). One idea for dynamic languages is to optimize time for people rather than machines. Therefore, dynamic language will spare no effort to improve the productivity of programmers, but the impact on the performance of the program can not be ignored.
51CTO has been advocating to evaluate a language or technology from two aspects of application scenarios and programmer productivity. From the programmer's point of view, programming with a dynamic language is much easier than a statically compiled language, with no excessive syntax and compilation limitations. We can often hear people turning to Ruby or Python from other languages to refer to the "fun of programming", which derives from a dynamic language that is more human-like (rather than machine-thinking), more in line with the requirements of the project rather than the project implementation process, and that the dynamic language can be implemented with a smaller amount of code. Dynamic language is the main reason for the improvement of programmer productivity.
In terms of performance, dynamic languages do not have much advantage, but the idea of dynamic language is to optimize people's time rather than machine time. Increase developer productivity by sacrificing partial program performance or buying higher-provisioned hardware. With the continuous development of the IT industry and the role of Moore's law, hardware relative to the human piece has been devalued, this concept has a reasonable realistic basis. From the dynamic and static language trend graph, it can be seen that the rise of dynamic language since 2002, culminating in 2004, this interval is the computer hardware prices significantly reduced, high-speed development of the Internet period. The prevalence of dynamic language, in fact, is the related characteristics of dynamic language to cater for the development of the Internet and it, improve the productivity of programmers, although there are a variety of performance deficiencies, but it is clear that the advantages of dynamic language to overcome these shortcomings.
Here is the list of programming languages for this issue 第21-50:
The following are the language rankings for this issue 第51-100
ABC, Algol, APL, Applescript, Awk, Beta, CG, clean, CT, Dylan, Eiffel, Euphoria, Factor, Falcon, Focus, Heron, Icon, IDL, Inform, INFORMIX-4GL, Io, LABWINDOWS/CVI, Lingo, LotusScript, LPC, MAD, Maple, Mathematica, Max/msp, Modula-2, Modula-3, M S-dos batch, Mumps, Natural, Occam, Oz, pl/i, Postscript, Progress, Q, R, Revolution, REXX, Sed, Seed7, SIGNAL, SPSS, VBSC Ript, VHDL, XSLT
May programming language Rankings: Dynamic language of past life