|
Python Overview
For developers, Python is an interpreted, object-oriented,
high-level programming language with dynamic semantics. Its high-level built in
data structures, combined with dynamic typing and dynamic binding, make it very
attractive for Rapid Application Development, as well as for use as a scripting
or glue language to connect existing components together. Python's simple, easy
to learn syntax emphasizes readability and therefore reduces the cost of
program maintenance. Python supports modules and packages, which encourages
program modularity and code reuse. The Python interpreter and the extensive
standard library are available in source or binary form without charge for all
major platforms, and can be freely distributed.
Often, programmers fall in love with Python because of the
increased productivity it provides. Since there is no compilation step, the
edit-test-debug cycle is incredibly fast. Debugging Python programs is easy: a
bug or bad input will never cause a segmentation fault. Instead, when the interpreter
discovers an error, it raises an exception. When the program doesn't catch the
exception, the interpreter prints a stack trace. A source level debugger allows
inspection of local and global variables, evaluation of arbitrary expressions,
setting breakpoints, stepping through the code a line at a time, and so on. The
debugger is written in Python itself, testifying to Python's introspective
power. On the other hand, often the quickest way to debug a program is to add a
few print statements to the source: the fast edit-test-debug cycle makes this
simple approach very effective.
See also:
- In a
high-quality, empirical study on the relative merits of different programming
languages (http://wwwipd.ira.uka.de/~prechelt/Biblio/jccpprtTR.pdf),
Python takes half the design time and half to code as Java or C++, and can
execute faster than Java. Much more
importantly, capability and behavioral differences between programmers matters
more than chosen programming language.
|
|
I am the lead intranet developer for Bell Atlantic Mobile, the United States' second largest wireless communications company. We use Zope and its components to provide access to HR data on our intranet and to facilitate other applications. Zope allows for better organization of code, and allows us to focus on coding first. With Zope, apps are developed and debugged quicker and easier, and they run faster than straight CGI. Python and Zope are intelligently designed and solidly built.
-
Bill Scherer, Lead Intranet Developer, Verizon Wireless
|
|