The main manifestation of language fire is the demand of the market, and the language itself is good or bad is related, no causal
Python, for example, began to be used seven or eight years ago, when it was like clairvoyant that the programming language could have been so elegant (originally in C + +). In the years when the public felt that the fire had started, Python did not "suddenly" add anything more fascinating.
For me, Python was a fire for the first time I opened Ipython many years ago, but a top one could pull it off. And now you can see the code written by the Python programmer:
sum = 0for i in range (len (num_list)): sum + = Num_list[i]
I had the sadness of seeing Douban turned into a website about cannon
Ideally, Python and C + + are very similar, and they all want to be a balm.
C + + is academic, and Daniel all point to it fame, design philosophy is "Everything Want", first of all to be compatible with C fast, followed by other languages have we have, other languages do not have to have. But on the one hand, the C language itself is not very perfect (such as the head file such a rude mechanism), on the other hand in order to run the new function of the dirty live dirty full to pre-processing, compile throw, resulting in C + + obscure, difficult. Writing code in C + + is a bit like writing a document in classical Chinese, forcing a full, literary talent flying, need to spend a lot of energy outside the content of the place. In Classical Chinese documents (C + + code) is more painful, first you have to be familiar with all kinds of anti-human grammar (value/address/move semantics, preprocessing, function pointers ...). ), familiar with the allusions of the past dynasties (effective C + +, ...). )
Python's idea is not the same, the core of Python is concise and straightforward, Python thinks the best way is only one, it only presents the best side. Python's syntax is itself a best practice for pseudo-code, and this "pseudo-code" can still be run. This makes Python a lower threshold for use and very high programming efficiency. Using Python to develop as long as "have something to say" is good. In the last few years of Ruby on Rails, someone asked Guido what the Python authors think, Guido said: Python doesn't need a killer app, because if so, Python's role in other areas is ignored.
Back to the topic itself, why does python seem to be getting more and more hot?
The biggest problem with Python is performance. Performance issues are in fact the most misunderstood part of the design. C + + has been in "near C-language performance" for years. With the significant increase in physical hardware performance and the significant increase in software complexity, people began to have a more accurate view of performance.
First of all, performance is not important at some point. IO-intensive business spends most of the time waiting for Io, saving less than 1ms to increase the amount of development several times does not seem to be very well drawn.
Second, there are times when the efficiency of a programmer is more important than the efficiency of a machine. For many complex logical functions, the use of clearer language than obscure language to reduce the burden of the program, can greatly enhance the quality of software. (especially when the company gives the treatment to the Daniel programmers who are not aware of it)
So Python/ruby/java began to rise. With Python's "inside battery" you can do things that need to be done over and over again in the past, working overtime every day and not doing so well. When I look at Python's source code, I suddenly have a feeling that Python's underlying source code can actually be understood as a library of some of the common functions of C (such as the HashMap implementation of Dict), and the Python process is loading the libraries and reading the configuration file (Python code) Execute the appropriate logic. The same functionality, Python has been escaped once, it will certainly be slower than the direct implementation of C, but you may not be able to write so quickly to run faster than Python C code. (Of course, except for those who know about Daniel)
So, a language like Python frees programmers time, programmers have a lonely night to have more output, a project is set up, the community is built up, the sluggish market is beginning to feel.
Even so, Python has a hit: I can be less slow. Python can be easily combined with C code. The combination of Python and C completely solves the worry: Start prototyping quickly with Python, and then identify performance bottlenecks for targeted performance optimizations. The so-called good steel used in the blade, save time, save costs, reduce risk, improve the quality of life of programmers what is wrong?
A generic, anonymous.