Python (programming language)

Python logo

Python is a programming language first introduced in 1991. It is a multi-paradigm language, meaning it supports high-level, interpreted and general-purpose programming. The language main purpose is to provide advanced developer productivity and code readability. Its core syntax is minimalistic, easily readable and understandable. However, Python’s standard library provides a large number of effective functions. Python developers and enthusiasts are often called Pythonistas. The language name was chosen as a reference to the British TV show called Monty Python’s Flying Circus.

Contents

History

Python is a product of work by Guido van Rossum – the Dutch programmer, currently living in California, US. Its was first publicly introduced in 1991 as a 0.9.0 version. However, the development of Python started in 1980. The programming language was aimed to become a continuer of the ABC programming language philosophy. ABC itself was not intended to become an actively used development tool. ABC was developed as a teaching and prototyping language. Van Rossum was a member of the ABC team and spent several years working on the development of the ABC language. He stated multiple times that this experience was a major influence on his development approach to Python. Some other languages that are stated as significant influences on Python are C and C++, Lisp, Java, Modula-3 and some others.

Python was first published in 1991 and was already able to provide exception handling, functions, several core data types and classes with inheritance. In 1994 Van Rossum formed the usenet newsgroup comp.lang.python. The newsgroup helped to establish the community of the project. The community of Python is often referred to as one of the most important advantages of the language. The community of professionals developers helps new programmers, multiple events and learning materials are produced by enthusiasts and distributed freely.

The official 1.x Python version was introduced in 1994. It provided and a lot of new options in comparison with the previous edition. The next version of Python was introduced in 2000. Version 2.0 provided Python with function programming language-like list comprehension syntactic construct. It also provided memory management system that identifies memory claimed by unused parts of the algorithm. The second version of Python was under development until 2010, when the latest version of second standard (v. 2.7) was introduced.

Python Software Foundation was founded later in 2001. It was established to work with the Python community. This organization is non-profit. Python Software foundation funds Python-related conferences and events, publishes and develops educational and promoting materials.

Python 3.0 was published in 2008 and continually developed to this day. This version was established with the aim of eliminating the deficiencies that were collected on the course of development. These changes could not be made subject to full backward compatibility with 2.x version, so it was needed to change the main version number. A programmer was still able to choose between object-oriented, structural, functional programming, and other paradigms. But, with such a wide choice, the specifics of each approach in Python 3.0 should have been more obvious than in Python 2.x.

The latest version of Python is Python 3.7.1, published on 20 October, 2018.

Libraries

Python has a lot of various libraries that make the language useful almost for every possible case.

Most often, the Python standard library is stated as on of its most significant advantages. It contains tools for working with network protocols and internet formats, such as modules for writing HTTP servers and clients, for parsing and creating e-mail messages, for working with XML, etc. The set of modules for working with the operating system allows one to write cross-platform applications. There are modules for working with regular expressions, text encodings, multimedia formats, cryptographic protocols, archives, data serialization, unit-testing support, etc.

One can use Python for Windows applications development, web applications development. Mac Os programs and so on. There are multiple tools to work with Python as a developer for every popular operating system.

However, when the standard library methods aren’t enough, Python provides multiple highly-specific solutions. For example, such libraries as Python Django and Python Flask provide developers with tools for web design and complex application maintenance.

The Python MatPlotLib library is one of the most effective tools to visualize the results scientific programming. Python MatPlotLib is used in combination with such libraries like the NumPy and SciPy – libraries that are used to perform complex calculations, optimization, linear algebra, image processing and so on. MatPlotLib allows visualization of 3d plots, histograms, scatter plots and so on. Python programming also allows the development of graphic interfaces, video games, database development and maintenance, artificial intelligence and has many other implementations.

Use cases and implementations

The community that was formed around Python is an active participant in the projects development. Most of its libraries and its reference implementation are open source. Python is freely distributed and has compilators for most available operating systems. It is distributed according to the rules of Python Software Foundation license that allows any entity to use it without restrictions in various applications, including proprietary ones.

Mentioned features and wide implementation possibilities of Python made it commonly implemented in various spheres. Python is used by many IT enterprises including Google, Dropbox (Van Rossum worked in both companies and is currently employed in the latter), Facebook, etc. Python-based science-focused libraries like previously mentioned SciPy and MatPlotLib or, for example, Astropy, are used as a free alternative to the commercially distributed Matlab and IDL software packages. This is especially the case for educational purposes. Python was used in the development of Civilization IV, Overwatch, World of Tanks and many other games. It is implemented as a tool for interactions with the SPSS software package and the Power BI business intelligence solution.

Python UI development frameworks are popular for graphic user interface development applications of every possible sphere of use.

Sources

See Also on BitcoinWiki