Yes. This is as sure a bet as you're going to get in the technology
horse races: The benefits of the Python programming language are so
many, and its costs so low, that you're almost sure to come out ahead.

Python's strength is its universality.
Once you learn it, you'll find you can use it for nearly
all the programming you do. Press coverage might have led you to
think that it's "just a scripting language for the Web," or only
used by academics. As good as Python is in those roles, you'll see
below how it also does much more. Among other things, Python is:
a starter language, scalable to large professional programs,
graphically savvy, and it even does windows!

A Starter Language

Are you a newcomer to programming? Python is an ideal first language.
It originated in a 1980s project to design a language for beginners.
Its maintainers have always shown a willingness to "do things right."
The Python world understands that phrase to mean they make the
language logical, simple, and inviting, even at the occasional
expense of conflict with industry traditions.

Python insiders don't just talk about "outreach"
to non-programmers. The Python community supports an active
"Programming for Everybody" Special Interest Group. Python
founder Guido van Rossum's current principal project, funded
by the Department of Defense's Advanced Research Project Agency,
is on the same topic.

The Python features newcomers most applaud include:

Its availability: There's no charge for using
Python, and essentially identical versions are
available for Windows, MacOS, Linux, BeOS, other
Unixes, and many other operating systems.

Its interactivity: Once installed, a Python user
can immediately interpret his work. Type a line
of source code, and Python processes it as soon
as you hit "Enter." That short feedback loop
is especially important for beginning programmers.

Its power: Python developers typically report
they are able to develop applications in a half
to a tenth the amount of time it takes them to do
the same work in such languages as C. While
"power" and "expressivity" seem to have
unquantifiably subjective components, experts
generally agree that Python has as much or more
of these good things as other languages.

Scalability

Scalability is nerdspeak for "travels
well and doesn't let me down." While
Python is great for beginners, it also fills the needs of
expert users. Other languages popular in educational
settings have been scorned by working developers as too
slow, incapable of connecting to existing resources,
or too inflexible. Few complain about Python in these regards.
Python stretches all the way from beginners'
one-liners to some of the largest and most demanding
computer programs. Python is in use, for example, as
part of very complex supercomputer analyses of metal
fractures.

We need to be careful about several key concepts in
understanding Python's capabilities "on the high end."
The metal structure application just mentioned
uses Python in crucial ways; in fact, insiders have said that the
project simply wouldn't have succeeded without Python. However, most
large Python-coded programs, including this one, have a majority of
their source written in such other languages as FORTRAN, Java, C, and
C++.

Each of these other languages is superior in certain aspects: speed,
scientific calculation, graphics manipulation. Each also has
characteristic weaknesses. The
search for the one true language to use for complex projects is a
mistake. The more rational approach is to find the right mix of
languages and "glue" them together with Python. You will end up with
more efficient, error-free, and maintainable code by using Python to
combine the best of each of these.

Because it plays nicely with other languages, Python doesn't create
dead-ends. While this idea is hard to make precise, experienced
programmers recognize it. Programs begun in Python have good lives;
they don't hit limits in speed or algorithmic sophistication which
cause them to stagnate. They grow with your needs and your abilities.
I almost always feel safe in choosing Python for a project. Even when
information turns up during the life of the project that was unknown
at the beginning, I have confidence that Python's flexibility will
accommodate new needs and constraints.

For technical reasons, also, Python's "object-oriented" syntax has
proven to be excellent for teamwork. Experience has shown that
engineers working in different areas, and even the same programmers
returning to old programs, read unfamiliar Python source code
comfortably. This is Python's greatest strength in my own work.
As a highly-expressive, object-oriented, well-structured, interoperable
language, it promotes the success of large complex projects in a way
no other language does.