Python created by
Guido
van Rossum in late 80s. Now he works at Google.
Where Python is used:
- Google makes extensive use of Python in its web
search systems.
- The popular YouTube video sharing service is
largely written in Python.
- The Dropbox storage service codes both its
server and desktop client software primarily in Python.
- The Raspberry Pi single-board computer promotes
Python as its educational language.
- EVE Online, a massively multiplayer online game
(MMOG) by CCP Games, uses Python broadly.
- The widespread BitTorrent peer-to-peer file
sharing system began its life as a Python program.
- Industrial Light & Magic, Pixar, and others
use Python in the production of animated movies.
- ESRI uses Python as an end-user customization
tool for its popular GIS mapping products.
- Google’s App Engine web development framework
uses Python as an application language.
- The IronPort email server product uses more than
1 million lines of Python code to do its job.
- Maya, a powerful integrated 3D modeling and
animation system, provides a Python scripting API.
- The NSA uses Python for cryptography and
intelligence analysis.
- iRobot uses Python to develop commercial and
military robotic devices.
- The Civilization IV game’s customizable scripted
events are written entirely in Python.
- The One Laptop Per Child (OLPC) project built
its user interface and activity model in Python.
- Netflix and Yelp have both documented the role
of Python in their software infrastructures.
- Intel, Cisco, Hewlett-Packard, Seagate,
Qualcomm, and IBM use Python for hardware testing.
- JPMorgan Chase, UBS, Getco, and Citadel apply
Python to financial market forecasting.
- NASA, Los Alamos, Fermilab, JPL, and others use
Python for scientific programming tasks.
Comparing Python to Other Languages:
- Python uses indentation instead of
curly braces (java or c) for code blocks.
- Python programs are typically 3-5
times shorter than equivalent Java programs. This difference can be attributed
to Python's built-in high-level data types and its dynamic typing.
- Python and Perl come from a similar
background (Unix scripting, which both have long outgrown), and sport many
similar features, but have a different philosophy. Perl emphasizes support for
common application-oriented tasks, e.g. by having built-in regular expressions,
file scanning and report generating features. Python emphasizes support for
common programming methodologies such as data structure design and
object-oriented programming, and encourages programmers to write readable (and
thus maintainable) code by providing an elegant but not overly cryptic
notation. As a consequence, Python comes close to Perl but rarely beats it in
its original application domain; however Python has an applicability well
beyond Perl's niche.
- Like Python, Tcl is usable as an
application extension language, as well as a stand-alone programming language.
However, Tcl, which traditionally stores all data as strings, is weak on data
structures, and executes typical code much slower than Python.
Python interpreter:
This means that it is processed at run-time by the
interpreter and you do not need to compile your program before executing it.
Byte code compilation: Python first compiles your source code (the
statements in your file) into a format known as byte code. Compilation is
simply a translation step, and byte code is a lower-level, platform-independent
representation of your source code. If the Python process has write access on
your machine, it will store the byte code of your programs in files that end
with a .pyc extension (“.pyc” means
compiled “.py” source).
The Python Virtual Machine
(PVM):
Once your program has been
compiled to byte code (or the byte code has been loaded from existing .pyc files),
it is shipped off for execution to something generally known as the Python
Virtual Machine (PVM, for the more acronym-inclined among you). The PVM sounds
more impressive than it is; really, it’s not a separate program, and it need
not be installed by itself. In fact, the PVM is just a big code loop that
iterates through your byte code instructions, one by one, to carry out their
operations. The PVM is the runtime engine of Python; it’s always present as
part of the Python system, and it’s the component that truly runs your scripts.
Technically, it’s just the last step of what is called the “Python
interpreter.”
Python IDLE:
Python IDLE (Integrated DeveLopment Environment) is an integrated development environment for Python,
which has been bundled with the default implementation of the language since
1.5.2b1. It is packaged as an optional part of the Python packaging with many
Linux distributions.