Sunday, 10 January 2016

Introduction to Python

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.

No comments:

Post a Comment