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