Python should try to displace Java
paul at boddie.net
Tue Aug 12 17:40:41 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
I'll resist the temptation to refer to your other threads, then. (Or
other postings in this thread, in fact.)
> - 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, it should be a surprise that in the "business systems" area
people are still writing huge quantities of C++ code, especially since
a lot of the innovation is now done in other languages. Apart from
your favourite Seattle-based company, who else is seriously bothering
with C++ for Web services, for example? Or at least, who else worth
speaking of? As far as I'm concerned, it was a surprise five years ago
that people didn't automatically consider other languages before C++
for systems of this kind.
It's clear that C and C++ do, however, fit the bill as the languages
most likely to be used to implement systems where high performance is
crucial. In many areas where those languages are used, developers seem
to be fairly conservative, and whilst other languages could offer
noticeable benefits during development and even offer comparable
performance, bandwagon chasing isn't a priority for these people. The
Solaris kernel isn't now implemented in Java as far as I'm aware, for
Of course, you could be referring to the promising situation of Python
running directly on the metal. ;-)
> - 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#.
This doesn't interest me, and if it did, I could easily find out for
myself whether this is really true or just speculation. :-)
> - 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.
Mainstream industry, whoever that is, already entertains more than
four higher level languages. Note also that Python and Perl are both
at an even higher level than C# and Java, so that observation has
potentially been debunked if you consider those languages' areas of
operation to be complementary.
> - 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.
This depends on whether Microsoft remove all their "legacy" APIs and
insist that everything runs on the common language runtime (CLR, or
whatever it's called). I doubt that this will happen soon, and you
ignore the possibility that one of these days someone will get Python
running natively and efficiently on the CLR.
> - Sun is about to die. It has done nothing for anyone lately and has no
> further tricks up its sleeve.
About to? They made a pile of cash in the dot-com years and could
presumably sit and burn that off if it weren't for those shareholders.
Personally, I believe that they will either be marginalised or adapt
like IBM and HP have done.
> - 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.
This is where your signature comes in, I think. In your 20% of
"real-world" experience, presumably around graphics stuff, Java hasn't
really been as successful as hyped, although the latest mobile 'phone
craze for Java gaming might at least change that slightly. Meanwhile,
in various parts of the 80% that you don't have experience of, Java
has been pretty successful precisely because it offers a portable
environment, albeit one that can be pretty infuriating at times. Hint:
Python complements Java when Java gets too infuriating.
> - Java is proprietary. Python is open source. Open Source is the best shot
> that anyone has at competing with Windows.
This will be demonstrated over time, yes.
> - 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.
I don't agree. People do use tools which they know about and can be
hostile to those that they don't have time to learn. Education is the
principal issue here, and that education won't be readily accepted as
white papers written by suits.
> - Ergo, Java is the weakling of the litter for Python to attack.
Again, Python and Java can operate in different areas, interoperate,
and coexist in the same area as tools which offer certain advantages
at certain points in time.
> - 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.
I think you should stop trying to think of all this as an
intellectually lightweight corporate strategy meeting where we have to
agree on some kind of marketing campaign that actually does nothing
more than prop up the advertising profession whilst making complete
fools out of everyone involved.
What does stop Python from being recognised and adopted is the lack of
awareness that people have, and it is true that part of this lack of
awareness is down to a lack of brochures arriving on the desks of
salespeople and strategists. Nevertheless, demonstrated successful
systems have a more powerful impact on those whose money is ultimately
being spent on new software - the customers. Because as their
competitors demonstrate working systems that give them productivity
benefits, they can turn to vendors and say, "Stop trying to sell us
buzzword X - just give us something like our competitors are using!"
The more I think about it, the more I realise that many customers
probably don't care whether you've used the latest stuff from
Microsoft or not (although they might be a bit concerned about the
licensing schemes), and the more I realise that it must be the various
bandwagons that "inform" certain parts of the "decision chain" that
create this downward pressure on people to write all their stuff in C#
or <insert flavour of the month>. As the balance of power shifts away
from the vendor to the customer, however, I think you'll start to see
the smart vendors adapt and start to discover what actually works,
both from their customers and the people on the ground actually doing
the work, and they'll cut out the brochure trail as they realise that
it doesn't really help them to make money and satisfy customers at the
P.S. If you're really interested, there's a marketing/promotion
interest group for Python. The details are out there on the Web, so if
it's important to you, I'm sure you can dig them out.
More information about the Python-list