Search This Blog

Friday, December 24, 2010

Introduction
Python is one of those rare languages which can claim to be both simple and powerful.
You will find that you will be pleasantly surprised on how easy it is to concentrate on the
solution to the problem rather than the syntax and structure of the language you are
programming in.
The official introduction to Python is:
Python is an easy to learn, powerful programming language. It has efficient
high-level data structures and a simple but effective approach to object-oriented
programming. Python's elegant syntax and dynamic typing, together with its
interpreted nature, make it an ideal language for scripting and rapid application
development in many areas on most platforms.

Note
Guido van Rossum, the creator of the Python language, named the language after the
BBC show "Monty Python's Flying Circus". He doesn't particularly like snakes that kill
animals for food by winding their long bodies around them and crushing them.


Features of Python
Simple
Python is a simple and minimalistic language. Reading a good Python program feels
almost like reading English, although very strict English! This pseudo-code nature of
Python is one of its greatest strengths. It allows you to concentrate on the solution to
the problem rather than the language itself.
Easy to Learn
As you will see, Python is extremely easy to get started with. Python has an
extraordinarily simple syntax, as already mentioned.
Free and Open Source
Python is an example of a FLOSS (Free/Libré and Open Source Software). In simple
terms, you can freely distribute copies of this software, read its source code, make
changes to it, and use pieces of it in new free programs. FLOSS is based on the
concept of a community which shares knowledge. This is one of the reasons why
Python is so good - it has been created and is constantly improved by a community who
just want to see a better Python.
High-level Language
When you write programs in Python, you never need to bother about the low-level
details such as managing the memory used by your program, etc.
Portable
Due to its open-source nature, Python has been ported to (i.e. changed to make it work
on) many platforms. All your Python programs can work on any of these platforms
without requiring any changes at all if you are careful enough to avoid any system-dependent features.
You can use Python on Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga,
AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS,
VxWorks, PlayStation, Sharp Zaurus, Windows CE and even PocketPC !
Interpreted
This requires a bit of explanation.
A program written in a compiled language like C or C++ is converted from the source
language i.e. C or C++ into a language that is spoken by your computer (binary code
i.e. 0s and 1s) using a compiler with various flags and options. When you run the
program, the linker/loader software copies the program from hard disk to memory and
starts running it.
Python, on the other hand, does not need compilation to binary. You just run the
program directly from the source code. Internally, Python converts the source code
into an intermediate form called bytecodes and then translates this into the native
language of your computer and then runs it. All this, actually, makes using Python
much easier since you don't have to worry about compiling the program, making sure
that the proper libraries are linked and loaded, etc, etc. This also makes your Python
programs much more portable, since you can just copy your Python program onto
another computer and it just works!
Object Oriented
Python supports procedure-oriented programming as well as object-oriented
programming. In procedure-oriented languages, the program is built around
procedures or functions which are nothing but reusable pieces of programs. In
object-oriented languages, the program is built around objects which combine data
and functionality. Python has a very powerful but simplistic way of doing OOP,
especially when compared to big languages like C++ or Java.
Extensible
If you need a critical piece of code to run very fast or want to have some piece of
algorithm not to be open, you can code that part of your program in C or C++ and
then use it from your Python program.
Embeddable
You can embed Python within your C/C++ programs to give 'scripting' capabilities for
your program's users.
Extensive Libraries
The Python Standard Library is huge indeed. It can help you do various things
involving regular expressions, documentation generation, unit testing, threading,
databases, web browsers, CGI, FTP, email, XML, XML-RPC, HTML, WAV files,
cryptography, GUI (graphical user interfaces), Tk, and other system-dependent stuff.
Remember, all this is always available wherever Python is installed. This is called the
'Batteries Included' philosophy of Python.
Besides, the standard library, there are various other high-quality libraries such as
wxPython (http:/ / www. wxpython. org) , Twisted (http:/ / www. twistedmatrix. com/
products/ twisted), Python Imaging Library (http:/ / www. pythonware. com/ products/
pil/ index. htm) and many more.

Python is indeed an exciting and powerful language. It has the right combination of
performance and features that make writing programs in Python both fun and easy.


From: A Byte of Python
v1.92 (for Python 3.0)

No comments:

Post a Comment