Python is a high-level interpreted scripting language developed in the late 1980s by Guido van Rossum at the National Research Institute for Mathematics and Computer Science in the Netherlands.
The initial version was published in 1991, and version 1.0 was released in 1994.
Python 2.0 was released in 2000 and versions 2.x were the current versions until December 2008.
At that time, the development team made the decision to release version 3.0, which contained some relatively small but important changes that were not backward compatible with versions 2.x.
Python 2 and 3 are very similar and some features of Python 3 have been ported back to Python 2, but in general they are not fully compatible.
Python 2 and 3 have continued to be maintained and developed, with periodic version updates for both. To date, the most recent versions available are 2.7.15 and 3.6.5. However, an official end-of-life date January 1, 2020 has been established for Python 2, after which it will no longer be maintained.
If you are new to Python, it is recommended that you focus on Python 3.
Python is still maintained by a core development team at the Institute, and Guido is still in charge, having received the title of BDFL (Benevolent Dictator For Life) from the Python community. The name Python, by the way, does not derive from the snake, but from the British comedy troupe Monty Python's Flying Circus, of which Guido was, and probably still is, a fan. It is common to find references to Monty Python's sketches and films scattered throughout the Python documentation.
Why choose Python?
If you are going to write programs, you can choose from dozens of commonly used languages. Why choose Python? Here are some of the features that make Python an attractive choice.
Python Is Popular
Python has gained in popularity in recent years. The Stack Overflow Developer Survey 2018 ranked Python as the 7th most popular and sought-after technology of the year. World-class software development countries around the world use Python every day.
According to research by Dice Python is also one of the hottest skills to possess and the most popular programming language in the world based on the Popularity of Programming Language Index.
Due to the popularity and widespread use of Python as a programming language, Python developers are sought after and well paid. If you would like to learn more about Python salary statistics and job opportunities, you can do so here.
Python Is Interpreted
Many languages are compiled, which means that the source code you create must be translated into machine code, the language of your computer's processor, before it can be executed. Programs written in an interpreted language are passed directly to an interpreter who executes them directly.
This allows for a faster development cycle because all you have to do is type your code and execute it, without the intermediate compilation step.
A potential disadvantage of interpreted languages is the speed of execution. Programs that are compiled in the native language of the computer's processor tend to run faster than interpreted programs. For some particularly computationally intensive applications, such as graphics processing or high number crunching, this can be limiting.
In practice, however, for most programs, the difference in execution speed is measured in milliseconds, or seconds at most, and is not noticeable to a human user. The opportunity to code in an interpreted language is generally worthwhile for most applications.
For more information: See this Wikipedia page for more information on the differences between interpreted and compiled languages.
Python is free
The Python interpreter is developed under an open source license approved by OSI, which makes it free to install, use and distribute, even for commercial purposes.
A version of the interpreter is available for virtually all platforms, including all versions of Unix, Windows, macOS, smartphones and tablets, and probably everything else you've ever heard of. A version even exists for the half-dozen people who use OS/2.
Python Is Portable
Since Python code is interpreted and not compiled into native machine instructions, code written for one platform will run on any other platform on which the Python interpreter is installed. (This is true of any interpreted language, not just Python).
Python is Simple
As programming languages disappear, Python is relatively clean, and developers have deliberately kept it that way.
A rough estimate of the complexity of a language can be derived from the number of keywords or reserved words in the language. These are words that are reserved for a particular meaning by the compiler or interpreter because they refer to specific built-in features of the language.
Python 3 has 33 keywords and Python 2 has 31. On the other hand, C ++ has 62, Java has 53 and Visual Basic has over 120, although these last examples probably vary somewhat depending on the implementation or dialect.
Python code has a simple and clean structure that is easy to learn and read. In fact, as you will see, the language definition applies an easy-to-read code structure.
But it's not that simple
For syntactic simplicity, Python supports most constructions that would be expected in a high-level language, including complex dynamic data types, structured and functional programming, and object-oriented programming.
In addition, an extensive library of classes and functions is available that offers capabilities far beyond what is built into the language, such as database manipulation or GUI programming.
Python does what many programming languages don't: the language itself is simply designed, but it is very versatile in terms of what you can accomplish with it.
This section gave an overview of the Python programming language, in particular:
- A brief history of the development of Python
- Some reasons why you can select Python as your language of choice.
- Python is a great option, whether you are a beginner programmer looking to learn the basics, an experienced programmer designing a large application, or anywhere in between. The basics of Python are easy to grasp, yet its capabilities are vast.