Save the pythons.

Ben Finney bignose-hates-spam at and-benfinney-does-too.id.au
Wed Dec 17 18:36:41 EST 2003


On 17 Dec 2003 13:45:39 -0800, f29 wrote:
> I don't believe that noone has yet spotted that python is becoming
> java.

This is, on the face of it, a falsity: Java is Java, Python is Python.
If you mean that Python is gaining traits of other languages, then
that's a normal and natural process in the evolution of a language
(whether computer-bound or human-bound).

It only becomes a point worth discussing if the traits being gained are
undesirable; and *that* is a matter for subjective discussion.

> Each new version is fully equipped with more garbage than before.
> Classes are great, but once there are 1000 of them, inheriting from
> each other, I cannot avoid comparing this unpleasant situation to
> java.

None of the packages in the standard library occupy more than disk space
until they are imported.  If you want a cut-down standard library, you
have the source available to build it however you want.  These two
traits, certainly the latter, make Python better than Java.

> Python power is in it's syntax, not addons.

Indeed.  Very few changes occur to the simple Python syntax in each
release; that is, as you say, its power.

> Let's not copy perl's experience

I don't understand this point; are you saying that Python's syntax is
changing undesirably?  You've only mentioned increasing volume of
classes, not changes to the langauge syntax.  I don't see how you can
fear that Python will "copy Perl's experience".

> and one java is already far too much for earth.

I think the undesirable traits of Java are avoided in Python.

  - Java is not free software.  Python is.  (Most of the other
    differences stem from this one, as free software allows people to
    make changes primarily based on technical merit if they choose.)
    
  - Java's standard library and development environment are increasingly
    tightly controlled by Sun, and nobody else can have input into the
    development of the language and library.  Python's development is
    community-driven, with a BDFL at the helm.

  - Java's large class library is typically distributed as binary blobs
    that are difficult to divide.  Python's standard library is all
    separate packages, most of it implemented as Python source code.
    Removing a package is as simple as deleting the files, or (more
    neatly) rebuilding the library from source without the package.

  - Java's syntax is simpler than C++, but it still strives to be like
    that behemoth.  Python, as you've pointed out, has a clean syntax
    that doesn't accumulate cruft.

As for "each new version is fully equipped with more [packages] than
before", I see that as an advantage, especially since anyone can decide
to rebuild without any unwanted packages.  Also, the cruft gets cleaned
out fairly regularly; if a package is better re-done or re-implemented
in another, newer package, the old one is deprecated and eventually
disappears.

-- 
 \                   "The best is the enemy of the good."  -- Voltaire |
  `\                                                                   |
_o__)                                                                  |
Ben Finney <http://bignose.squidly.org/>




More information about the Python-list mailing list