Python should try to displace Java

John Roth newsgroups at jhrothjr.com
Sun Aug 17 01:26:26 CEST 2003


"Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
news:bh9g66$vst1p$1 at ID-203719.news.uni-berlin.de...
> I'm going to make a number of points which I'm sure many people will
object
> to.  Feel free, but also try not to knee-jerk about them.  As someone who
> programmed DEC Alpha in 1998, and who sees the sorry state of CPUs
nowadays,
> I can definitely say that better technology doesn't always win.  In fact,
it
> doesn't *usually* win.  Python needs to look to its strategic marketing
and
> product positioning if it expects to survive in the rough and tumble world
> of mainstream industry.
>
> Points to note:
>
> - in 5 years, nobody will be doing significant amounts of new application
> development in C++.  The writing is on the wall: garbage collection is
> essential.  Any C++ code will be support and legacy libraries.

Well, I tend to agree that people are slowly oozing that way. I think that
5 years is a bit to enthusiastic a prediction, though. What will happen is
that C++ will gradually lose market share to other languages.

> - Microsoft is already implementing said strategy across all levels of the
> company today.  Microsoft developers don't do much C++ development
anymore.
> Various upcoming products are being written entirely in C#.

Again, this is an overstatement. New products are being written in
C#, older products are staying in C++, and some core operating system
products likewise. I have a huge vision of the Windows kernel being
written in C#, for example.

> - The "higher level language" playing field is crowded: C#, Java, Perl,
and
> Python.  Mainstream industry does not need and will not make room for 4
> higher level languages.  Any of these languages has to grow at some other
> language's expense.

You missed Ruby and TCL. Granted, TCL is probably only being held up
by TK and Expect, though. Ruby is the one that's gaining fastest, and it has
a number of interesting features that Guido would do well to think about.

Perl, on the other hand, has this Perl 6 effort going on; in a couple of
years
its going to be a completely new language.

> - Python will never displace C# on Windows.  It's Microsoft's home turf
and
> you can't fight directly with The Beast.  You will see UNIX boxes running
> Python, not Windows boxes.

Duh.

> - Sun is about to die.  It has done nothing for anyone lately and has no
> further tricks up its sleeve.

Don't count the chickens until the fat lady sings.

> - Sun has failed to make Java live up to its claims of universality.  Java
> is for all intents and purposes simply a widespread programming language,
> not a portable computing environment.  Portable computing environments
are,
> in general, a pipe dream as long as Microsoft is around.  It will always
be
> Windows vs. open standards.

You're contradicting yourself. Python cannot be portable because Microsoft
is around?

> - Java is proprietary.  Python is open source.  Open Source is the best
shot
> that anyone has at competing with Windows.

Duh? Again, the fat lady isn't even gargling in the wings on that one.

> - Perl is open source and sysadmins won't be giving it up any time soon.
> Perl is optimal for their jobs, the capabilities of Python are a non-sell.
>
> - Ergo, Java is the weakling of the litter for Python to attack.
>
> - Alternately, if you look at this in real world marketing terms, Python
is
> the weakling of the litter that must defend itself.  I know that will make
> various Python idealists upset, but that's the economic reality.  Merit
> doesn't win in this game.  Java is the next weakest langauge so that's
whose
> lunch Python should try to eat.

You forgot Ruby and TCL again.

> - No, this isn't the appraisal of a Microsoftie who wants to set Python
and
> Java at each others' throats to conquer both.  :-)  I'm just offering a
> realistic picture of what your options are, if you don't want to become a
> "gee whiz, wasn't that nice!" technology.  Like I said, I've lived through
> it already.  Don't talk to me about merit carrying the day.  Learn from
> history, or you are doomed to repeat it.

There is a major divide between the statically typed languages and the
dynamically typed languages. To sell Python, you need to make two
points:

1. Static typing does not do the job that its proponents claim for it
well enough to be worth the extra development time it imposes, and

2. Python is better for serious systems development than Perl,
Ruby, TCL, etc.

There are a number of people saying item 1, some rather
vociferously, but there is a noticable lack of hard data on the
issue. Regardless of the data, the arguement applies to C++,
Java and C# equally: they all have the same fundamental
approach to static typing.

On number 2, I don't think there's any question about Python's
general superiority to Perl and TCL for serious, large scale
development work. Ruby, on the other hand, is a completely
different question.

So the basic conclusion is that Ruby is the enemy to be
taken on, not Java.

John Roth


> -- 
> Cheers,                         www.3DProgrammer.com
> Brandon Van Every               Seattle, WA
>
> 20% of the world is real.
> 80% is gobbledygook we make up inside our own heads.
>






More information about the Python-list mailing list