Guido van Rossum | f5831ae | 1997-11-20 15:42:18 +0000 | [diff] [blame] | 1 | What is Python? Executive Summary |
| 2 | ---------------------------------- |
Guido van Rossum | a7925f1 | 1994-01-26 10:20:16 +0000 | [diff] [blame] | 3 | |
Guido van Rossum | f5831ae | 1997-11-20 15:42:18 +0000 | [diff] [blame] | 4 | Python is an interpreted, object-oriented, high-level programming |
| 5 | language with dynamic semantics. Its high-level built in data |
| 6 | structures, combined with dynamic typing and dynamic binding, make it |
Guido van Rossum | 4aa6186 | 1997-11-25 15:40:06 +0000 | [diff] [blame] | 7 | very attractive for rapid application development, as well as for use |
Guido van Rossum | f5831ae | 1997-11-20 15:42:18 +0000 | [diff] [blame] | 8 | as a scripting or glue language to connect existing components |
| 9 | together. Python's simple, easy to learn syntax emphasizes |
| 10 | readability and therefore reduces the cost of program maintenance. |
| 11 | Python supports modules and packages, which encourages program |
| 12 | modularity and code reuse. The Python interpreter and the extensive |
| 13 | standard library are available in source or binary form without charge |
| 14 | for all major platforms, and can be freely distributed. |
Guido van Rossum | a7925f1 | 1994-01-26 10:20:16 +0000 | [diff] [blame] | 15 | |
Guido van Rossum | f5831ae | 1997-11-20 15:42:18 +0000 | [diff] [blame] | 16 | Often, programmers fall in love with Python because of the increased |
| 17 | productivity it provides. Since there is no compilation step, the |
| 18 | edit-test-debug cycle is incredibly fast. Debugging Python programs is |
Guido van Rossum | 51bb7b7 | 1997-11-20 15:42:46 +0000 | [diff] [blame] | 19 | easy: a bug or bad input will never cause a segmentation fault. |
| 20 | Instead, when the interpreter discovers an error, it raises an |
Guido van Rossum | f5831ae | 1997-11-20 15:42:18 +0000 | [diff] [blame] | 21 | exception. When the program doesn't catch the exception, the |
| 22 | interpreter prints a stack trace. A source level debugger allows |
| 23 | inspection of local and global variables, evaluation of arbitrary |
| 24 | expressions, setting breakpoints, stepping through the code a line at |
| 25 | a time, and so on. The debugger is written in Python itself, |
| 26 | testifying to Python's introspective power. On the other hand, often |
| 27 | the quickest way to debug a program is to add a few print statements |
| 28 | to the source: the fast edit-test-debug cycle makes this simple |
| 29 | approach very effective. |