Home »
About Python

Python is an dynamic object-oriented programming language that can be compared with Java and Microsoft's .NET-based languages as a general-purpose substrate for many kinds of software development. It offers strong support for integrating with other technologies, higher programmer productivity throughout the development life cycle, and is particularly well suited for large or complex projects with changing requirements.
Python is the most rapidly growing open source programming language. According to InfoWorld its user base nearly doubled in 2004, and currently includes about 14% of all programmers.
Python is being used in mission critical applications in the world's largest stock exchange, forms the basis for high end newspaper websites, runs on millions of cell phones, and is used in industries as diverse as ship building, feature length movie animation, and air traffic control (see success stories for details).
Python is available for most operating systems, including Windows, UNIX, Linux, and Mac OS.
Key Strengths
Python's clean object-oriented design and extensive support libraries offer two to ten fold the programmer productivity seen with languages like C, C++, C#, Java, VB, and Perl.
Python's key strengths include:
- Integration of all types, including Enterprise Application Integration (EAI). Python makes it easy to develop Web services, can invoke COM or CORBA components, calls directly to and from C, C++, or Java code (via Jython), provides powerful process control capabilities, implements all common internet protocols and data formats, processes XML and other markup languages, can be embedded as a scripting language, and runs from the same byte code on all modern operating systems.
- Network intensive applications and complex multi-protocol network applications can be built on Twisted, a development framework well suited to running large numbers of concurrent network, database, and inter-process communication links within the same process.
- Web development from simple CGI scripting to high-end web application development with mega-frameworks such as Django and Turbogears, the Zope application server, Plone content management system, Quixote web application framework, or a even a home-grown solution based on Python's extensive and easy to use standard libraries. Python provides interfaces to most databases, powerful text processing and document processing facilities, and plays well with other web technologies.
- Numeric and scientific applications make use of the Python Imaging Library, VTK and MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython and many other tools available for numeric and scientific applications. Many of these are supported by the Enthought Python Distribution.
- Application scripting is a snap with Python's tight integration with C/C++ and Java. Python was designed from the ground up to be embeddable and serves as an excellent choice as a scripting language for customization or extension of larger applications.
- Software Testing benefits from Python's strong integration and text processing capabilities, and Python comes with its own unit testing framework.
- Prototyping in Python is quick and easy, and often results in development of the final system in Python. The agile nature of the language, and the ease of refactoring code makes for rapid development directly from the initial prototype.
The Open Source Advantage
Because it has been developed as open source by thousands of contributors from around the world, Python is very well designed, fast, robust, portable, and scalable. With an uncluttered, easy-to-learn syntax and well-developed advanced language features, Python often exceeds the capabilities of comparable commercially available solutions.
The open source license for Python allows unrestricted use, modification, and redistribution of the language or anything that is based on it, commercially or otherwise. Full source is available and there are no license costs.
Support is available for free, from a rich set of internet-based resources, and from organizations in the business of providing paid support to Python users.
