What is Python?Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC, wxWidgets). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
Benefits of Python
Python users report dramatic productivity benefits over development in other languages, typically with 10 times the development speed seen with C or C++ and a 2 times that seen with Java or Visual Basic. This productivity boost is the result of these specific benefits of Python:
Python is Fast: Unlike some interpreted languages, Python results in a snappy finished product. It does this because most of Python's support modules are written in C and C++, hidden under a thin but powerful interpreted layer. As a result, applications respond well because more CPU cycles are spent in fast C/C++ code and fewer are spent spinning the interpreter's wheels. For Java users, Jython supports Python compilation to efficient JVM byte code that is comparable in speed to Java modules.
Python is Extensible: With Python, it is easy to write your own C or C++ extension modules, and then load them into your Python code. Jython, the Java implementation of Python, seamlessly integrates Python and Java modules. This means that you can wrap existing technologies for use in Python, and you can compile the Python interpreter into larger systems, treating Python as a scripting language. Adopting Python doesn't mean abandoning your existing code base.
Python is Powerful: Python isn't just a language. It comes with an extensive standard library of useful modules, including extensive support for email and other internet data formats, HTML, XML and other markup languages, http, ftp, and many other internet protocols, cryptography, COM and CORBA support, interfaces to most databases, GUI development frameworks, and much more. Using these modules, a few lines of Python code goes a long way.
Python is Portable: Python runs on most operating systems, including some embedded and special-purpose processors. Python byte code produced on one platform will run on other platforms. Applications written in pure Python using the core standard libraries can be deployed to multiple platforms without recompilation or repackaging. However, optional platform-specific support modules are available when portability is not a requirement. These include support for Windows APIs and COM, Macintosh OS, and some Unix-specific facilities.
Pythonis Scalable: The speed, power, and extensibility of Python combine to give you a development toolset that will scale effortlessly to the largest projects. Multi-threading is supported, and it's easy to incorporate other technologies in Enterprise Application Integration. The Python-based Zope application server is a great way to build robust, scalable support for your web applications, and the Twisted framework is capable of running many concurrent mixed protocol services.
|