This year Python is over 30 years old. On this occasion, we decided to remember when and who invented the most popular programming language.
First, there was ABC
In 1982 a still unknown developer, Guido van Rossum, took part in the ABC language development at the CWI.
ABC was conceived as a basis for learning programming. However, due to the lack of high-speed Internet at that time, the developers did not get fast feedback from users, and the development of the language was slow. For this reason, the project soon had to be closed.
After the closure of the project, Guido set out to write a programming language of his own, where he decided to focus on code readability and conciseness of syntax.
Guido named the language after his favorite show, Monty Python’s Flying Circus since he thought it was silly to waste time coming up with a unique name. He did the same with the font — he chose the first one he could find and wrote the word Python. However, many people associated Python with snakes, and such images began to appear in programming books, magazines, and websites. The font was rarely used. Everyone drew a variety of pythons. So sometime after 2006, a new logo was created which we can still see today.
0.9.0, 2.0, 3.0
In 1991 Guido created the distribution and published the code for the Python language version 0.9.0, which collected many of the language ideas that were around at the time.
Meanwhile, Guido went to work for the US corporation CNRI. While working on projects for this company, he often used Python, and in his free time developed it as an interpreter. Python survived in this form until 1999 when it received version 1.5.2.
Soon BeOpen became interested in the development and offered financial help. And since Guido was unhappy that the work at CNRI was beginning to take more and more time away from Python, he agreed to the offer. Before moving to another company, however, he released version 1.6.
Working with BeOpen, Guido developed version 2.0. Guido moved all the data to SourceForge in that version, which allowed programmers to participate in code development. It also had «list comprehensions» derived from SETL and Haskell and a rubbish collector (an automatic memory management mechanism) for dealing with loops.
After a successful 2.0 release, Digital Creations (the authors of Zope) offered their funding to Guido, and the world saw version 2.1. The updated Python included new objects from closures languages and hierarchy: functions could be nested inside each other, with access to variables of surrounding functions preserved. And this, in turn, improved approaches to the way programming is made.
The transition to Python 3, on the other hand, was a difficult one. At the time, version 3 was not fully backward compatible with code written for Python 2. Some changes had to be done with the code of projects that were created with version 2, and this could not be done with all of them, because in some projects there was simply no one to do the adaptation. Libraries were in the same situation. Fortunately, now most of them are successfully translated on Python 3, and new projects do exactly on one of the last versions.
Python supports almost all operating systems. If the platform becomes obsolete, it is excluded from kernel support. For example, versions of the language starting with 2.6 no longer work with Windows 95, 98, and ME. Older versions can be used if needed, but then modern language tools will have to be dropped. Patches are periodically produced for older versions. The language may also support Java Virtual Machine.
Here are some of the things that Python can do: works with XML/HTML files as well as HTTP requests; GUI (Graphical User Interface); helps with creating web scripts; works with FTP; works with images, audio, and video files; robotics and more.
Where Python is used
In system administration to automate tasks. The Python language supports special packages that make it more efficient. In addition, Python allows you quickly read the code and find weaknesses. Formatting in the language is part of the syntax.
Research. Several Python libraries help with research and computation:
— SciPy library with scientific tools;
— NumPy extension. Adds support for matrices and multidimensional arrays, and mathematical functions for working with them;
— Matplotlib library for working with 2D and 3D graphics.
Data Science. Python is used to serve data warehouses and cloud services, write machine learning algorithms and analytical applications. Python also makes it easy to collect and organize information from the Internet.
Advantages of Python:
Easy to learn; concise; easy and clear syntax; interpretable; broad scope; dynamic typing; large selection of libraries; lots of technical documentation, learning materials; cross-platform.
Disadvantages of Python
Programs run at a slow speed. However, the programmer’s CPE increases, which can be considered as compensation. Programs that are created in Python require a lot of memory. Because there is no check during compilation, sometimes errors occur during code execution. Because of this, well testing is required before it’s running.
While there are some drawbacks, the advantages of Python far outweigh its disadvantages, especially for novice programmers.