Reply content:
Learning python for 11 years, has been more concerned about this issue. I do not feel that Python is gradually showing the micro, give me the feeling is a slight rise in the international, the domestic rally, the field of scientific computing soared. As for me, the University of Java still learned, abuse all the students are still very easy, but after learning Python left no longer moved, the era of Java has been with C can compete for the first. C + + also learned some, not deep, 2004 three o'clock the next software designer certification is by C + +, then I in C + + aspects of their own requirements is able to read the basic grammar written out of the program, and not how to write. C is the use of these years, especially in 2007 began to write a microcontroller program.
The world has risen slightly, from the Tiobe rankings, where Python's position has been hovering between 5th and 8th in the last ten years. Twice in the best language of the year (in the sense of a rise rather than a rank), the most recent is ranked 5th. The development of programming language is also relatively fast, it is not easy to maintain rankings. For example, the once popular ruby,2009 to the top of the 9th, and then the decline, in recent years seems to have fallen out of the top 20 of the risk. OBJC had been at the top of the 4th, but it was getting colder recently.
The domestic rally comes from the recruitment needs I have seen. In 2006, when I graduated to find a job, only three companies in China used Python. And now the recruitment of various companies, then recruit Python is a lot of. Some positions are not the main use of Python, but also the python as a marked addition. In the entrepreneurial community, Python has a high demand, after all, it is fast prototyping.
The scientific calculation of the rally comes from many aspects. Guido originally wrote Python to help with research. In recent years, scientific computation has been very obvious, Python and C + + have been widely used. Many libraries of scientific computing have provided Python support, not third parties, in the official context. including but not limited to:
1. Caffe: Deep Learning
2. Theano: Deep Learning
3, OPENCV: Computer vision
4. NumPy: linear algebra and numerical calculation
5. SCIPY: Signal Processing
6. Cuda:nvidia GPU-Based computing acceleration
7. OPENCL: Compute acceleration for other GPU vendors
Well, limited to the scope of my knowledge, there should be many and I do not know. Remember that 2006 years when a friend of biology mentioned a library of bioinformatics in Python. Know a variety of scientific computing aspects of the Python library, welcome comments to Add.
There are also a number of research projects using Python, which are numerous, such as the recent hot gravitational waves, allegedly code on GitHub, using NumPy.
What your classmates mean, I believe, is that Java and C + + are relatively easy to find work, which I agree with. But in the modern, Python is also very easy to find work. My opinion is that it's easy to learn python anyway, a few weeks is enough, it's a cost-effective thing to learn. My view of C + + is that there are too many feature to design the library, which is not used by ordinary people, but makes the code less readable. So I recommend C+python, not recommended C + +.
Programming language is the starting point of programming path dependence, it is not bad to learn several kinds of things, it will help the formation of architectural thinking, especially the more it is easier to learn a new language later. But you shouldn't waste too much time on the language itself, which is one reason I don't recommend C + +. After learning the language itself, it takes a lot of effort to learn more about the areas of application, such as networking, high-performance computing, the Web, game engines, mobile development, databases, GUIs, and so on. Many of these areas of application-related knowledge are language-independent and really useful for work. So quickly learn the language to learn these.
For some emerging programming languages, you should keep an open mind, learn about its language features, and learn to write Hello world. But limit the time it takes. Java is the only programming language that has tiobe the top ten and stabilized its rankings in the last more than 10 years. There are too many fleeting choices in the history of the river. I also spent a lot of time in 2006-2009 looking for better options outside of Python and writing a lot of notes. Lua wrote nearly 200,000 words, and Erlang wrote 360,000 words. Learned a lot of new thinking, but they have not been able to develop, and eventually just stand up for their own small areas of expertise, not to become a universal and popular language. There have been many languages, such as Go,julia, that have arisen in recent years, but in my opinion most of them are drawn from the advantages of various languages, and there is no revolutionary innovation, so there is little hope of becoming a new universal language. I think a mature language like Python is not fading, it's just inappropriate and inappropriate for your application scenario.
The more orthodox developers think Java, C + +, C # is the real development language, as I once thought. But slowly realize that each language is its own pros and cons, the question is whether you understand these advantages and disadvantages, and your own skillset, at the right time place to choose the appropriate language and technology.
I personally think Python is very useful, easy to use, there are countless libraries, from the client to the Web to do all-round, and now in the entrepreneurial team is very popular. Although some people say there is a performance problem, watercress is said to be developed with it, hundreds of millions of levels of UV and 500,000 lines + code also did not see poor performance. Besides, if what you do with Python really encounters a performance bottleneck, it should be a good thing to say that your site is at least millions, and that you have the money to hire a more professional person to optimize your site.:-) more than 10 years ago, people have been saying that C + + is going to finish, and it's been so many years.
Although Python is not very popular but is quite a wide range of applications, visual inspection for a long period of time will not have a big change.
I always feel that the computer level two test language is useless, what C and VB, a lot of people in this life will not be used or want to use. I think it might be better to test Python or JavaScript, even if I'm not in the computer industry. 1. The language wars have never ceased since ancient times
2. Need to address the target name correctly before the war
3. Each language has its strengths and weaknesses and applications, even "the world's Best language PHP", there is a little bit of merit
4. Yards farming do not taunt the science worker with Python, because you move your bricks, he plays his drafts C + + and Java are the universal language of the kingly class, so there is nothing to be puzzled about.
As for Python, the positioning is different, there is no competition with C + + and Java scenario. However, it does not prevent it from being hot up altogether.
Hot or not hot? Decline or not? Refer to Tiobe. Know how to get started: First ask is not, then ask why? I am 502 glue I fear who, not to import test detergent has faded, how now we all say that the detergent is the King Python is a scripting language, Java and C + + is a compiler language, is not a type, no comparability. If you want to compare them, you should compare them with the languages of Python and PHP. It's like you can compare lol with DotA, but you can't compare it with the furnace stone. It's your little buddy that's fading.
Correct some other statements:
Python is not a scripting language, or not just a scripting language, it is a system-level programming language for serious. The question of Python capabilities should be to understand the next tornado and OpenStack.
The same functionality of the code, CPython may be 100 to 1000 times times slower than the C + + or Java implementation, but Python can be written out of the complex system in C + + for a lifetime is not written. And this is the difference in pure CPU computing, usually I have seen a bad Java system because of the misuse of encapsulation, in an HTTP request to invoke dozens of MySQL query, the performance is consumed in the waiting query results, but the performance is worse than the Python implementation.
As with Web services, Python's Web server performance is typically hundreds of QPS, which can easily reach tens of thousands of QPS if you switch to C + + performance. But maybe two years from the line.