Home » About Python »

Benefits of Python

"Python enabled us to create EVE Online, a massive multiplayer game, in record time. -- Hilmar Veigar Petursson of CCP Games

Woman flying

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:

bullet Fast Python. 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.

bullet Extensible Python. 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.

bullet Powerful Python. 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.

bullet Portable Python. 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.

bullet Scalable Python. 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.

bullet Maintainable Python. Python's elegant simplicity yields code that is not only readable, but also easy to redesign and modify. Because Python's syntax uses indentation to define program structure, code is easy to move around, making it a snap to split up modules or restructure classes. Less time is spent understanding and rewriting code, which leads to faster bug fixes, faster development and integration of new features, and a better-designed code base.

bullet Open Python. Python's quality and power is in large part a result of the fact that it was developed by thousands of contributors from around the world. Instead of being controlled by a comparatively small proprietary development team, Python is open to peer-reviewed incorporation of the best available new ideas and features. Python's standard library is continually being improved and expanded with support for the latest emerging technologies, such as XML and Soap. Extensive beta testing by large numbers of users keeps the quality of each release high. Because Python's open source license is unrestrictive, there are no substantial limitations on commercial use or customization. The intellectual property rights to Python are controlled by the Python Software Foundation, which was founded to further Python's development and wider adoption.

bullet Ubiquitous Python. The bottom line is that Python works extremely well for tasks from scripting and build configuration, to business applications, complex GUI applications, and multi-tiered enterprise-wide solutions. Because of Python's unmatched flexibility, it can be used as a single powerful technology that reduces training and development costs, and increases overall maintainability of your code base.