| 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. |