Back to our original question: how can the act of writing software be made easier? At some level, Python is really “just another computer language.” It’s certainly true that Python the language doesn’t represent much that’s radically new from a theoretical point of view. So why should we be excited about Python when so many languages have been tried already?
What makes Python of interest, and what may be its larger contribution to the development world, is not its syntax or semantics, but its worldview: Python’s combination of tools makes rapid development a realistic goal. In a nutshell, Python fosters rapid development by providing features like these:
Fast build-cycle turnaround
A very high-level, object-oriented language
Integration facilities to enable mixed-language development
Specifically, Python attacks the software development bottleneck on four fronts, described in the following sections.
Python’s development cycle is dramatically shorter than that of traditional tools. In Python, there are no compile or link steps—Python programs simply import modules at runtime and use the objects they contain. Because of this, Python programs run immediately after changes are made. And in cases where dynamic module reloading can be used, it’s even possible to change and reload parts of a running program without stopping it at all. Figure 21-1 shows Python’s impact on the development cycle.
Figure 21-1. Development cycles ...