Python Introduction Justified
Python Introduction Justified
Python features a dynamic type system and automatic memory management. It supports
multiple programming paradigms, including object-oriented, imperative, functional and
procedural, and has a large and comprehensive standard library. Python interpreters are
available for many operating systems. CPython, the reference implementation of Python,
is open source software and has a community-based development model, as do nearly all
of Python's other implementations. Python and CPython are managed by the non-profit
Python Software Foundation.
Rather than having all of its functionality built into its core, Python was designed to be
highly extensible. This compact modularity has made it particularly popular as a means
of adding programmable interfaces to existing applications. Van Rossum's vision of a
small core language with a large standard library and easily extensible interpreter
stemmed from his frustrations with ABC, which espoused the opposite approach.
While offering choice in coding methodology, the Python philosophy rejects exuberant
syntax (such as that of Perl) in favor of a simpler, less-cluttered grammar. Python's
developers strive to avoid premature optimization, and reject patches to non-critical parts
of CPython that would offer marginal increases in speed at the cost of clarity.
An important goal of Python's developers is keeping it fun to use. This is reflected in the
language's name – a tribute to the British comedy group Monty Python – and in
occasionally playful approaches to tutorials and reference materials, such as examples
that refer to spam and eggs (from a famous Monty Python sketch) instead of the standard
foo and bar.
Python’s initial development was spearheaded by Guido van Rossum in the late 1980s.
Today, it is developed by the Python Software Foundation. Because Python is a
multiparadigm language, Python programmers can accomplish their tasks using different
styles of programming: object-oriented, imperative, functional or reflective. Python can
be used in Web development, numeric programming, game development, serial port
access and more.
There are two attributes that make development time in Python faster than in other
programming languages:
1. Python is an interpreted language, which precludes the need to compile code before
executing a program because Python does the compilation in the background. Because
Python is a high-level programming language, it abstracts many sophisticated details
from the programming code. Python focuses so much on this abstraction that its code can
be understood by most novice programmers.
2. Python code tends to be shorter than comparable codes. Although Python offers fast
development times, it lags slightly in terms of execution time. Compared to fully
compiling languages like C and C++, Python programs execute slower. Of course, with
the processing speeds of computers these days, the speed differences are usually only
observed in benchmarking tests, not in real-world operations. In most cases, Python is
already included in Linux distributions and Mac OS X machines.