I am an avid fan of the Python programming
language. I say this having had experience with C, C++,
Fortran, Pascal, Perl, and Korn Shell. Python is an open
source (for real, not the buzz word) programming language
that is designed to have clear syntax and expandability.
Python is interpreted, similar to Java and Perl. This
contributes to ease of use. Python is object oriented like
Java and C++. This contributes to maintainability and
strength to handle design complexity. Python has a clear
syntax like none other. This contributes to a short learning
curve, to maintainability, and to suitability as a first programming
language for students. Python is expandable. This
contributes to cooperation with existing C, C++, and Java
programs and libraries for reasons of performance,
functionality, or integration.
Python is cross-platform in more ways than this term
initially implies. It runs on most Unixes, including Linux,
and it runs on Mac, Windows 96/98/NT, and Amiga. What you
might not expect in addition to the rich Unix support is the
rich Windows support. The Python installation for Windows
uses InstallShield and comes with an Integrated Development
Environment known as Pythonwin. Pythonwin includes an
interactive shell, a GUI debugger, and a class browser.
This package also exposes much of the Win32 API (see Jeffrey
Richter's book Advanced Programming in Windows), exposes the
MFC API, and enables the use of COM. Yes, you can access any
COM enabled application from within Python. This is similar
to what Visual Basic can do (but you don't have to pay the
cost that you would to get Microsoft Developer Studio Visual
Basic). For the Java enthusiasts, try the Python
implementation written in Java. The commands and syntax are
the same, but now you can access the Java classes directly.
Python has a variety of uses, since it is truly general
purpose. Some use it for administrative system tasks.
National Laboratories use Python's numerical and graphics
capabilities to control and visualize the experiments that
they run on their supercomputers. Some use the Python image
manipulation capabilities or the 3D OpenGL API for graphics
visualization. Other use Python for web programming. Python
can be used for CGI programming and can even be used as an
application server. If you like web programming, then you've
got to take a look at Zope, written almost entirely
in Python. And yes, it is free as well.
Well, I've said enough. Take a look at Python and see for yourself.
My family of course! That goes
without saying, but it is always a good thing to
mention.
I worked for two years at Sandia National Laboratory on a
team that wrote the compute partition operating system for a
massively parallel supercomputer. During my time on the
team, we collaborated with Intel to set the world record
twice for the fastest computer in the world. Our team was
the first to demonstrate a sustained teraflop, a computing
milestone similar to breaking the 4 minute mile. (A Teraflop
is equal to 1 billion floating point calculations...add,
multiply, subtract... per second.) The system
that achieved the teraflop has over 9000 Pentium II
processors, has more than 600 GBytes of RAM, and is
interconnected by links that can transfer at 800Mb/sec
bi-directional. Ouch, that is hot!
As of 11/14/99, it still held the world
record for the fastest computer in the world having
recently achieved 2.380 teraflops. Now it is still in the
top ten.