Joke Collection Website - Public benefit messages - Behind python is a technical movement.

Behind python is a technical movement.

Officially, python is an interpretive language, which means to interpret and execute code line by line, just like simultaneous interpretation. Every time you say a word, he can translate it to you continuously and translate what you say (meaning written code) into a language that the machine can understand. For machines, these translated languages are machine languages, that is, instructions. After receiving the instruction, the machine will perform corresponding operations according to the instruction.

Compared with interpreted languages, there are compiled languages, which translate the code into machine language through a compiler and then give it to the machine for execution. For example, we hosted a conference attended by Britain, Russia and Spain, all of which brought their own simultaneous interpreters. What if it is an explanatory language? I used a language that every simultaneous interpreter can understand during the meeting, which is an official language. In this way, I can communicate continuously in this language, because these translations will be translated into the target language for the participants from the three countries at the same time. You should have noticed that explanatory languages are similar to common languages. If it is a compiled language, I will ask three translators to translate my Chinese speech into English, Russian and Spanish respectively. At the meeting, I just need to give it to the international friends attending the meeting to read. Explanatory language focuses on the universal features of translation in real time, while compiled language focuses on targeted and prepared features. However, in meetings, the efficiency of interpretation is not so high, because simultaneous interpretation takes time to do translation, and the efficiency of compilation is higher, because the translation work has been completed before the meeting, and only the participants need to understand and implement it.

1989 On Christmas Day, Guido van Rossum, a Dutch programmer, was bored at home on holiday. In order to kill time, he developed a new interpretation language. It can be seen that when the programmer is bored, he is writing code. Because the author likes Monty python's flying circus very much, he chose python as the name of this new language. I don't think everyone knows this comedy, but you may have heard of python. Maybe WeChat pushed you a python-related training advertisement a few days ago. Perhaps some schools have taken mastering the basic concepts of python as an elective course. Maybe some core codes of the operating system in your smart home are implemented in python. Maybe there is a plug-in in your mobile phone that is also implemented in python. Python is now widely used and has very powerful functions.

Guido worked in the Netherlands Institute of Mathematics and Computer Science, where he worked for ABC programming language for many years. The ABC language looks like this

This is a function that you may not understand. According to English words, you may be able to guess something. I just want you to know that python is about the same length, so it's easier to understand.

Although ABC is a programming language, its positioning is as a tool for teaching or prototype design, and it is specially designed for school teachers or researchers. ABC's positioning determines that its audience is not very wide, and it also has a threshold for use. People who don't know anything about computers may not be able to get started at all without studying for a while. Therefore, ABC cannot be used as a general programming language, and it is impossible to succeed in the industry. Although ABC is not as successful as python, it can be said to be the "mother of python", and the author has borrowed from ABC in many places, taking its essence and discarding its dross. Python is like this now.

Maybe for people who have never been exposed to programming, they are both the same, and they are all a bunch of English letters, which I can't understand. But for beginners of computer courses and those who need to learn C language, python is easier to understand. Python is very short. In C language, some complicated processes may require dozens of lines of code, but in Python, only a few lines of code may be needed. Of course, different business scenarios may not be like this, but in general, python is very efficient. Python is suitable for rapid development and rapid iteration of new products.

1999 1 month, that is, 10 year after the advent of the language, Guido applied for funds from DARPA (the Defense Advanced Research Projects Agency, a subsidiary of the US Department of Defense responsible for scientific research). I went to see the revised version of the application, which was submitted in August. 1999. The revised edition is more general, informative and clear than the first edition, and it is worth reading.

The revised edition is called Computer Programming for All. Literally translated, it is aimed at everyone's computer programming, translated into easy-to-understand words-everyone programming, everyone programming is a social phenomenon, everyone has a certain programming ability, and has a certain understanding of how computers, software and hardware work and some design specifications of software and hardware. They can express their ideas through programming, configure their own software through programming, and control themselves through programming. For example, you bought a sweeping robot in a treasure. Robots support defining sweeping routes and setting up sweeping robots. When the broom needs to be replaced, the indicator light will display the specified color. You know what the sweeping robot can do and what its operating habits are. This is based on your knowledge of some machines. If you have used many softwares or participated in software design, you may know that some softwares may have menu keys, such as Settings, Edit or Help. This kind of design thinking, or operation habit, is found in many softwares. With this understanding, when you are faced with many software or products of the same type, you will probably know where to start and what functions it has. Now everyone knows about computers, and some concepts of computers can be said to be part of common sense. Faced with some computers or smart devices, we probably know where to use them. I think this is the author's vision.

The revised edition has several main purposes:

Here, he wants to start by promoting python, because python, as a tool suitable for rapid development, is suitable for both experts and beginners, and python has an active and growing user group, who are also very interested in his application and willing to work hard for it. Python has a large number of users, which shows that it has been recognized in the market and this user group is willing to contribute to the development of Python, which is the best for a programming language.

The basic arguments of the proposal are well written. He said that he wanted to popularize computer applications, but not by introducing new hardware or software, but by giving everyone the ability to program. The development of information technology has brought people all kinds of powerful computers, which exist in the form of desktop computers, notebook computers or embedded systems. If users have a general understanding of software design and implementation, it will greatly promote production and creation and have a far-reaching impact on the future. Imagine if you have the ability to modify and configure software, and you can share your modifications with others through community websites. If others encounter the same problem, you can refer to your method. This ability is very important in an emergency. You can try to solve these problems yourself without waiting for experts to solve them for you. Speaking of which, have you ever thought about posting bars or forums? There are many sections in the forum, and different fields are divided into different sections. If you want to root your mobile phone (mobile phone jailbreak refers to lifting the restrictions of mobile phone manufacturers and obtaining the highest authority of mobile phone users to achieve some control over mobile phones), you can go to the root section of the forum to find the answer. This form can be said to be the same as that mentioned by Guido. If you have a deeper understanding of your mobile phone or computer, you can improve your input method by programming, or change the cold and warm colors of your display. It is helpful to your life. Guido wants to achieve this state here. In short, everyone knows something about computers and has the ability to deal with computer problems.

In order to achieve this goal, the author has formulated a five-year plan, the contents of which are as follows:

The five-year plan is gradual, from shallow to deep. In March this year, 1999, the U.S. Department of Defense responded by agreeing to allocate funds to him. The author's five-year plan was implemented at the end of 1999. Although he wanted to advance it by five years, he only got the financial support of 1 year. However, the author didn't give up this project, and kept pushing it until he stopped using python. How much did the U.S. Department of Defense provide them at that time? I didn't see the official data. According to 20 13, DARPA provided $3 million to Continuum Analytics to develop python data processing and data visualization tools. It is not clear whether the specific figures are reliable, but it can be seen that the US Department of Defense has approved the project and provided financial support. Continuum Analytics has a famous tool called Anaconda, which can be understood as python+ a toolbox of various scientific computing libraries. Anaconda official website has a saying.

Anaconda of Continuum Analytics is a leading open source scientific computing platform using python, and we provide superpowers for those who are changing the world.

When I was looking for information, I found a wiki forum, which evaluated the project and listed the successes and failures of the project, as well as the views of some social people. The Forum concluded that the success of this project lies in:

The failure of this project lies in:

Looking back on my first experience of learning python, I think this summary is very pertinent. Python is really easy to use, and people with a programming foundation may only need a week to master some basic syntax of Python. Compared with C language, python is very friendly to beginners and easy to use. However, it is not that simple to understand python deeply, and it takes a lot of time to hone. Using python to take over a project, you need to spend some time and energy to get familiar with it and understand the logic inside, which is inevitable for beginners. For a programmer, it is not easy for the author to imagine the popularization and application of computers in the future, the cognitive level of users, what he can do and how to realize it, and he has these lofty ambitions. The western world often talks about "changing the world and making it a better place", and the author has indeed done it. Python designed by him plays a very important role in the computer world. If you can change the world through technology, python is one of the steps to change the world. From 1980 to 2000, the United States gave policy support and technology diffusion to technology companies. During this period, technology companies such as IBM, Hewlett-Packard and Cisco emerged, and well-known Microsoft and Apple also went public during this period. Python can be said to be a microcosm of this technological movement. Driven by the wave of science and technology, python has made great progress.

Many websites related to technology or industry will rank according to the popularity of programming languages in that year, and they will list the most popular programming languages in that year. Among them, the 202 1 programming language of IEEE Spectrum and TIOBE is python, and if I remember correctly, the 2020 programming language of TIOBE is python. It can be seen that python is very popular and is the programming language of online celebrity. Today, python appears on many computing devices, from smart homes, mobile phones and smart watches to lithium-ion electric vehicles, industrial control lathes and even the space shuttle. When you are browsing the web, an advertisement of "Introduction to python in 7 Days" will pop up in the lower right corner. It can be seen that python still has many requirements. Because there is demand, people will advertise for training institutions.

In his proposal to the U.S. Department of Defense, the author wrote that he hopes to design some python courses in cooperation with high schools or universities, and design different levels of courses for different grades. Now, he really did it. Now, top universities such as Harvard University and University of Michigan have opened python courses. Python is widely used in CS (Computer Science) courses in these universities, which can be said to be a teaching tool for CS introduction. Python can be seen in some advanced courses, such as data science and artificial intelligence. This is because academia and industry provide python with some tools to handle scientific calculations and big data, which is also attributed to the support of the US Department of Defense. There are many programming summer camps in the United States, offering different courses for people of different ages, and there are also many programming competitions supporting python code. Google has a course for beginners on coursera called Google IT Automation and Python. It takes about 8 months to complete the course, and it is recommended to study for 5 hours a week. After the course, you can get a certificate issued by Google. It can be seen that both industry and education have different levels of support for python. Excuse me, the first version of Google search engine was written in python, and the author worked in Google for a while.

Nowadays, every once in a while, there is a PyCon activity, which brings together developers from all over the world. Every year, developers will show their success stories in using python, or express their views on new features or defects of python. As you can see, the python user community has been very active. This reminds me of a new energy car whose users are very sticky. A car owner told me that they have a WeChat group with executives of new energy vehicles. Many car owners are willing to point out problems or make suggestions in it, because these executives will give corresponding feedback to the problems or suggestions. Users are willing to give opinions, and product managers are willing to open their hearts and adopt many suggestions. It's not easy. The python community is similar.

A few years ago, did you see the news that the artificial intelligence "online celebrity" programming language python entered the Shandong primary school textbooks? This is a news from 20 17, which tells that Python entered the textbook of the sixth grade of primary school in Shandong Province. As a "network celebrity" programming language, whether it is suitable for younger students is not specified in detail, but it can be seen that some places in China regard programming as a relatively basic ability. Is it appropriate for python to infiltrate into younger age? When I was browsing the materials, I browsed a paper from Korea University. This paper describes some difficulties that primary school students will encounter when learning python, such as frequently entering fewer brackets, frequently misspelled words, often encountering grammatical errors, and their views on these phenomena. In addition, Nanjing Normal University has a report about the problem-oriented learning mode adopted by middle school students when learning python. What I understand is the case teaching mode, which is conducive to cultivating students' computer thinking and helping them understand some computer-related concepts and solve computer-related problems.

Whether python is suitable for younger students, I think this is a topic worth discussing. Finally, I want to ask you, will you let your children learn python, and when will you start learning Python? Can you help your baby when he is crying because he doesn't know how many stents to put? Do you need a programmer to tutor your baby?

puter world . com/article/27 1 1690/python-gets-a-big-data-boost-from-DARPA . html

/? Everyone's computer programming

/en/publications/an- Analysis of pupils' difficulties

/20 16/04/kings-day-speech . html

/intv/guido.html

/jfimg/colimg/upload/20200 1 13/6898 157882847978 . pdf