Home » About Python »
Evaluating Python
The best way to assess what Python can do for you is to try it. In a few days time, a single experienced developer should be able to produce direct evidence of Python's advantages over other approaches.
Please refer also to the evaluator resources page and Pythonology, our Python advocacy resource site.
Avoid Common Misconceptions
When Python is not considered seriously, it is often the result of misconceptions that can only be cleared up by adequate hands-on exposure to the language. Don't miss the opportunity to benefit from Python because of these common sticking points:
Indentation is syntax. Python uses indentation to identify the syntactical structure of your code. This unusual feature can initially be disconcerting. Most programmers accept and enjoy this feature very quickly, as it reduces typing burden and speeds the process of refactoring or restructuring source code.
Runtime dynamic type checking. Python does not run through a compiler like C/C++ or Java, and it does not explicitly identify the types of variables and parameters in the source code. This is sometimes cited as a reason that Python cannot be used on large projects. In practice the lack of a compilation phase is almost never a source of programming errors. Python does implement strong typing at runtime, and will report value type errors found at that time.
As in all languages, large projects should engage in unit testing and there are tools like PyChecker that mimic compile-time code checking. In the context of development environments like Wing IDE, auto-completion and other features further reduce the impact of typos and related errors.
The bottom line is that working with Python requires a brief period during which programmers re-learn where they need to concentrate to avoid common errors. Once this is done, they will be able to develop Python code that is typically more robust and scalable than C/C++ or Java, and the code will be much faster in the making.
Python is more than a scripting language. Although Python makes a great scripting language, its key strengths of productivity and maintainability are most significant in larger projects, such as complex web or GUI applications. Python is the basis for Zope, a powerful enterprise-class web application server, and it counts among its heavy users many well-known companies, such as the New York Stock Exchange, Philips, NASA, Industrial Light & Magic, and many others (see Success Stories for details on some of these).