Python Overview, History & Features

Python is a high-level, interpreted, an interactive and object-oriented scripting language with dynamic semantics. Python is designed to be highly readable. Python is one of the most widely used high-level programming languages. It uses English keywords frequently whereas other languages use punctuation, and it has fewer syntactical constructions than other languages so the programmer has to write lesser code as compared to other languages such as C++ and Java.

  • Python is Interpreted − Python is processed at runtime by the interpreter. You do not need to compile your program before executing it. An interpreter is very different from the compiler. An interpreter executes the statements of code “one-by-one” whereas the compiler executes the code entirely and lists all possible errors at a time. This is similar to PERL and PHP.

  • Python is Interactive − You can actually sit at a Python prompt and interact with the interpreter directly to write your programs. By interpreted it is meant that each time a program is run the interpreter checks through the code for errors and then interprets the instructions into machine-readable bytecode.

  • Python is Object-Oriented − Python supports Object-Oriented style or technique of programming that encapsulates code within objects. Because of this, creating and using classes and objects are downright easy. Compared with other programming languages, Python's class mechanism adds classes with a minimum of new syntax and semantics.

  • Python is a Beginner's Language − Python is a great language for the beginner-level programmers and supports the development of a wide range of applications from simple text processing to WWW browsers to games. Python code is often 3-5 times shorter than Java, and 5-10 times shorter than C++. Python code is readable and with a little knowledge, a developer can learn many things just by looking at the code.

History of Python

Python was conceptualized by Guido van Rossum in the late 1980s and early nineties at the National Research Institute for Mathematics and Computer Science in the Netherlands.

Python is derived from many other languages, including ABC, Modula-3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting languages.

Python is copyrighted. Like Perl, Python source code is now available under the GNU General Public License (GPL).

Python is now maintained by a core development team at the institute, although Guido van Rossum still holds a vital role in directing its progress.

Of course, Python, like other languages, has gone through a number of versions. Python 0.9.0 was first released in 1991. Python 2.0 was released on 16 October 2000 with many major new features, including a cycle-detecting garbage collector and support for Unicode.

Python 3.0 was released on 3 December 2008. It was a major revision of the language that is not completely backward-compatible. Many of its major features were backported to Python 2.6.x and 2.7.x version series. Releases of Python 3 include the 2to3 utility, which automates (at least partially) the translation of Python 2 code to Python 3.

Python 2.7's end-of-life date was initially set at 2015 then postponed to 2020 out of concern that a large body of existing code could not easily be forward-ported to Python 3. In January 2017, Google announced work on a Python 2.7 to Go transcompiler to improve performance under concurrent workloads.

Fun fact. Python is not named after the snake. It’s named after the British TV show Monty Python.

Python Features:

Python's features include −

  • Easy-to-learn − Python has few keywords, simple structure, and a clearly defined shorter syntax. This allows the student to pick up the language quickly.

  • Easy-to-read − Python code is more clearly defined and visible to the eyes. It uses English keywords, whereas other languages use punctuation, and it has fewer syntactical constructions than other languages. Therefore, It has many features by which a user can learn it easily.

  • Easy-to-maintain − Python's source code is fairly easy-to-maintain.

  • Cross-platform Language − Python can run equally on different platforms such as Windows, Linux, Unix, and Macintosh, etc. So, we can say that Python is a portable language.

  • A broad standard library − Python has a large and broad library and provides a rich set of module and functions for rapid application development. Python's bulk of the library is very portable and cross-platform compatible with UNIX, Windows, and Macintosh.

  • Free and Open Source − Python language is freely available at official web address. The source code is also available. Therefore it is open source.

  • Interactive Mode − Python has support for an interactive mode which allows interactive testing and debugging of snippets of code.

  • GUI Programming Support − Graphical user interfaces can be developed using Python.

  • Portable − Python can run on a wide variety of hardware platforms and has the same interface on all platforms.

  • Extendable − You can add low-level modules to the Python interpreter. These modules enable programmers to add to or customize their tools to be more efficient.

  • Databases − Python provides interfaces to all major commercial databases.

  • GUI Programming − Python supports GUI applications that can be created and ported to many system calls, libraries and windows systems, such as Windows MFC, Macintosh, and the X Window system of Unix.

  • Scalable − Python provides a better structure and support for large programs than shell scripting.

Apart from the above-mentioned features, Python has a big list of good features, few are listed below −

  • It supports functional and structured programming methods as well as Object-Oriented Programming (OOP).

  • It can be used as a scripting language or can be compiled to byte-code for building large applications.

  • It provides very high-level dynamic data types and supports dynamic type checking.

  • It supports automatic garbage collection.

  • It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.