Why isn't Python king of the hill?

infobot infobot at skinnyhippo.com
Fri May 25 03:16:17 EDT 2001

> In any case, most of the people in this newsgroup (myself very much
> included) would agree with you on improved productivity in Python. 

Completely and utterly. 

The question facing me at the moment is "how to make a living doing
what I love doing?", which is programming in Python. ie. we know the
many reasons for Java's success, deserved or not. Accept them as water
under the bridge and ask "how now ?"

Almost all serious web/wireless development projects I have the
opportunity of working on are based on one of three alternative
technology platforms :
a) Microsoft tools (.Net in future) running on NT/2000 of course.
b) Java/XML (usually running on Sun boxes, thanks to Sun's attention
to channel sales and partners)
c) Open-source, which 90% of the time means usually PHP/MySQL running
on Linux.

For enterprise projects, which is what most the market comprises of at
the moment where I'm based (HK), I'd say 20% of projects fall into (a)
above (and that's usually due to Microsoft actively pushing it with
key accounts) and the rest is all Java/XML.

Ironically, one of the most prolific exponents  of Java is one of
Sun's fiercest competitors in the local market - IBM.  Other than the
fact that Java now covers all of their hardware/OS platforms, I'm sure
they prefer Java because it's strongly typed and b/c leads to more
consistent code (less of a "many ways to do one thing" scenario like 
Perl and Python); EJB was made for a company like IBM. (Perhaps they
also prefer a less productive language so that their global services
division they can bill more hours too, but that's
another issue completely.)

Meanwhile, I've implemented some projects for clients in Python (and
Zope when it's a web-based project) only to then find the  client is
totally reliant on me (something that I don't want any more than the
client does). And if/when I then depart, they usually end up redoing
it all again based on Microsoft tech or Java/XML.

Therefore, I can only imagine myself using Python in the following
circumstances :

1. Where I create a service, software or platform that others 
   never need to see the internals of, that I manage completely 
   and distribute APIs to others. eg. an application service 
   provider model.
   Contrast this with a website built on Java/XML or ASP which I 
   could create and then pass off to a client to manage happily 
   ever after.
2. Building a product that I can complete by myself. I've tried 
   hiring and training employees to use Python. They've enjoyed 
   Python but there just wasn't enough work to keep them employed. 
   Also, the employees have often feared for their own marketability
   in the job market thereafter.

3. Niche R&D type work, where 80% of the work is prototyping.  
   Unfortunately, I haven't found much of that except when working 
   on my own startups and ideas.

Despite all this, I manage to get enough Python (and Zope) work to
keep bread on the table (just); but, due to  the factors above, it
usually means working alone and doing 3 peoples' work (which,
fortunately, Python allows me to do). It's getting tiring though, and
I find myself now screwing around with EJB (and believe me, this stuff
is nasty compared with Python) for a bit of security.

Anybody else in similar straits ? (Probably people in countries where
there are few Python developers. eg. in China, almost everybody uses
the Microsoft stuff.)  Would be interested to hear how it compares in
Korea, Japan and Taiwan too...



ps. I once heard a sysadmin say he'd rather give up his job than work
without his favourite tool (even though it was Perl <g>) ...  I
realize now that he wasn't joking.

> That being said, there are some advantages to Java. It's built into
> almost every web browser on the net. Hard to overstate the importance of
> being everywhere. Jython is getting close to putting Python everywhere
> that Java is, but (IMHO) one loses some of the simplicity of Python
> along the way. Moreover, Java is strongly typed. Sure, you can staple
> strong typing into Python, but having it there all the time occasionally
> lets one sleep better. Finally, and probably most importantly, managers
> who know nothing about programming have some vague feeling that Java is
> a good thing. 
> Rick
> Mark H wrote:
> > 
> > The more I use Python, the more I wonder why it hasn't taken the wind
> > out of Java's sails?  Now, don't get me wrong, I love Java, but I have
> > found I am at least twice as productive in Python than Java, and there
> > seems to be very little if anything that you cannot do in Python or a
> > Python extension.  Is it because Java has a few big companies behind
> > it while Python doesn't?
> > 
> > Just wondering.

More information about the Python-list mailing list