sun memo reveals java's bloat, puts it on a par with python

Wolfgang Lipp lipp at epost.de
Sat Feb 15 11:58:09 EST 2003


the following snippet from an allegedly authentic memo,
published on internalmemos.com, makes for a quite
interesting read that provides an informed insiders´
view on some of the biggest problems of java. of course,
everybody on this list knows all of these points, but
then, some executives don´t, yet. the quoted passage
cites a study that diagnoses "a rough parity in
performance" between java and python; in addition, it
estimates python to be needing 1.6M for a "hello world"
application, while java is at, roughly, 9M. well, if it´
s only written to say "hello", then, probably, you could
get away with a 0.8M python, i guess.

(the study mentioned is available via
http://citeseer.nj.nec.com/correct/312227 and
http://www.ipd.uka.de/~prechelt/Biblio/jccpprt_computer2000.pdf; it
has been listed on http://www.python.org/doc/Comparisons.html)

memo.url = "http://www.internalmemos.com/memos/memodetails.php?memo_id=1321"

memo.headers = """
    Sun Microsystems
    The Java Problem

    The Java Problem
    Author: Julian S. Taylor
    Reviewed by: Steve Talley, Mark Carlson, Henry
        Knapp, Willy (Waikwan) Hui, Eugene Krivopaltsev,
        Peter Madany, Michael Boucher
    """

memo.quote[0] = """A study performed by an outside team
    appears to indicate a rough parity in performance
    between Java and a common implementation of another
    OO language called Python (see IEEE Computing,
    October 2000, "An Empirical Comparison of Seven
    Programming Languages" by Lutz Prechelt of the
    University of Karlsruhe). Both platforms are Object
    Oriented, support web applications, serialization,
    internet connections and native interfaces. The key
    difference is that Python is a scripting language.
    This means there is no compilation to byte code so
    the Python runtime environment has to do two things
    in addition to what the Java runtime environment
    does. It has to perform syntax checks and it must
    parse the ascii text provided by the programmer.
    Both of those tasks are performed at compile time by
    Java and so that capability does not have to be in
    the JRE.

    Given this data, it appears that the JRE can
    actually be simpler than the Python RE since Java
    does at least some of this work at compile time. The
    example above of "Hello World" is a good method for
    getting an idea of the minimum support code required
    at runtime. This support code includes garbage
    collector, byte code interpreter, exception
    processor and the like. Hello World written in Java2
    requires 9M for this most basic support
    infrastructure. By comparison, this is slightly
    larger than automountd on Solaris8. The Python
    runtime required to execute Hello World is roughly
    1.6M. """




More information about the Python-list mailing list