Monday, July 2, 2012

Python Programming Language





About Python

Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to Tcl, Perl, Ruby, Scheme or Java. Some of its key distinguishing features include:
    • very clear, readable syntax
    • strong introspection capabilities
    • intuitive object orientation
    • natural expression of procedural code
    • full modularity, supporting hierarchical packages
    • exception-based error handling
    • very high level dynamic data types
    • extensive standard libraries and third party modules for virtually every task
    • extensions and modules easily written in C, C++ (or Java for Jython, or .NET languages for IronPython)
    • embeddable within applications as a scripting interface

Python is powerful... and fast

Fans of Python use the phrase "batteries included" to describe the standard library, which covers everything from asynchronous processing to zip files. The language itself is a flexible powerhouse that can handle practically any problem domain. Build your own web server in three lines of code. Build flexible data-driven code using Python's powerful and dynamic introspection capabilities and advanced language features such as meta-classes, duck typing and decorators.
Python lets you write the code you need, quickly. And, thanks to a highly optimized byte compiler and support libraries, Python code runs more than fast enough for most applications. The traditional implementation of CPython uses a bytecode virtual machine; PyPy supports just-in-time (JIT) compilation to machine code. Also, Jython and IronPython (see below) support JIT compilation on their respective virtual machine implementations.

Python plays well with others

Python can integrate with COM, .NET, and COBRA objects.
For Java libraries, use Jython, an implementation of Python for the Java Virtual Machine.
For .NET, try IronPython , Microsoft's new implementation of Python for .NET, or Python for .NET.
Python is also supported for the Internet Communications Engine(ICE) and many other integration technologies.
If you find something that Python cannot do, or if you need the performance advantage of low-level code, you can write extension modules in C or C++, or wrap existing code with SWIG or Boost.Python. Wrapped modules appear to your program exactly like native Python code. That's language integration made easy. You can also go the opposite route and embed Python in your own application, providing your users with a language they'll enjoy using.

Python runs everywhere

Python is available for all major operating systems: Windows, Linux/Unix, OS/2, Mac, Amiga, among others. There are even versions that run on .NET, the Java virtual machine, and Nokia Series 60 cell phones. You'll be pleased to know that the same source code will run unchanged across all implementations.
Your favorite system isn't listed here? It may still support Python if there's a C compiler for it. Ask around on news:comp.lang.python - or just try compiling Python yourself.

Python is friendly... and easy to learn

The Python newsgroup is known as one of the friendliest around. The avid developer and user community maintains a wiki, hosts international and local conferences, runs development sprints, and contributes to online code repositories.
Python also comes with complete documentation, both integrated into the language and as separate web pages. Online tutorials target both the seasoned programmers and the newcomer. All are designed to make you productive quickly. The availability of first-rate books completes the learning package.

Python is Open

The Python implementation is under an open source license that makes it freely usable and distributable, even for commercial use. The Python License is administered by the Python Software Foundation.


Nerd you heard?




Guido van Rossum  is the author of the Python Programming Language. The Python community refers to him as the BDFL  (Benevolent Dictator For Life), a title straight from a Monty Python skit. He was called BDFL because even if he is currently working in Google, he still spends half of his time on Python development process.



Python Code Bites

         Sample python program that prints "Hello World!".

    hello.py:



    sample run of hello.py:


    

     Sample python program that converts Celsius to Fahrenheit


      

         Here is a simple code of converting temperature in Celsius to Fahrenheit and vice versa. The program will output a menu for the user to select whether to convert Celsius to Fahrenheit or the other way around. Once the user selected a choice, the program will ask the value to be converted. After giving the value, it will then output the converted value. The program loops from the top unless the user chooses option 3, which will terminate the program.



Caught Python Quotes



I would guess that the decision to create a small special purpose language or use an existing general purpose language is one of the toughest decisions that anyone facing the need for a new language must make.
      -Guido van Rossum a.k.a BDFL (Benevolent Dictator for Life)


My favorite language for maintainability is Python. It has simple, clean syntax, object encapsulation, good library support, and optional named parameters.
     -Bram Cohen (inventor of BitTorrent)

         Kung scientist ka or physicist, mag-python ka.
              -Joseph Anthony Hermocilla (Assistant Professor, ICS, UPLB)

         Python is cool.
             -Sir Reginald Recario (Assistant Professor 1 ,ICS, UPLB)

         Python is better than JAVA.
             -Sir Ludwig Tirazona (Instructor, ICS, UPLB)

         Makamandag. Functional Parang Lisp pero OOP pa din.
             -Sir LK Lactuan (Instructor, ICS, UPLB)



Group Name: UP Python Maroons (T-7L)

Members:

Hernandez, Patrick T.
Ledda, Roel O.
Mayuga, Emily DG.
Moldez, Nathan G.
Teodoro, Roi Marc A.


Sources:
http://www.python.org/
http://www.python.org/~guido/
http://www.python.org/~guido/pics.html
http://www.brainyquote.com/quotes/keywords/python.html