If you believe the industry hype, within a year, Sun
Microsystems Java will not only be the language of choice for
programming the World Wide Web, but also the first tool
developers reach for in other more general-purpose programming
areas dominated today by C and C++. Being derived from C++,
with the addition of garbage collection and the removal of
pointers, Java has many features to make developing and
debugging programs easier. Its not difficult to imagine hordes
of C++ programmers, tired of their languages idiosyncrasies
and bulk, moving to Java, just as they moved from C++ from C,
when they discovered the benefits of object orientation.
Python is an elegant, general-purpose, object-oriented
scripting language that is freely available for anyone to use
for any purpose. Being interpreted, Python has no need for a
compiler and much less need for a formal development
environment. Python is a concise very-high-level language. A
typical program requires less then half the amount of source
code than any of the C derived languages, including Java.
Python offers programmers conciseness, simplicity, and the
short test cycle benefits of an interpretive environment.
These features combine to enable rapid prototyping with more
building and less writing.
No one language should be all things to all software
engineers. As possible next-generation languages, both Java
and Python bring many new capabilities to developers that
increase productivity. In contrast, each has aspects that are
relatively weak when compared with other languages. This
paper explores some of the merits and drawbacks of each
language, for a number of different application areas, with
the intent of proving each to be a worthy addition to the pool
of valuable software engineering tools.