Java vs Python

Warren Postma embed at geocities.com
Mon May 15 12:59:46 EDT 2000


"Courageous" <jkraska1 at san.rr.com> wrote in message
news:391F88EB.D25BB0F8 at san.rr.com...
>
> > I would just like to know how serious python is taken in the IT industry
>
> Python hasn't even made their radar.

Recent events have proven that the computer industry is a lot less staid and
unmoving than it used to be. Everybody's getting paranoid that someone else
will beat them to the next big thing. That being so, I expect
a big cloud of Python hype any day now. Perl had it's hype day, as did Java.


> > If a web applicatoin was written in both Java and Python,
> > which would companies prefer ?
>
> Duh. Java. This is because IT professionals pick products
> that they can't get fired for picking. An old setting in
> the IT industry: "nobody ever got fired for picking Oracle."
>

I heard it as "nobody ever got fired for buying IBMs".  Then the clone
industry sort of stole IBM's thunder, technological lead, etcetera.  IBMs
became Also Rans.

So will Java.  Once the hype evaporates, you have just one more language,
with good bits and not so good bits.

> > 1. Which is more maintainable ?
>
> Python. No comparison.

In my humble opinion, I would put it this way:

    1. It takes less python code to do something in Java
    2. The Less Code you write, the less there is to maintain.

As a matter of opinion, I find Python far more "readable". The syntax is
clear, the built in data structures and types are simple enough to grasp,
but powerful enough to be useable.


> > 2. Which is more scaleable ?
>
> Hrm. Hard to say. Do keep in mind that a lot of your python
> can connect to third party tools at native speeds, if you
> learn a trick or two.

Scalable up or scalable down? Python scales DOWN much better. There's a lot
more overhead in making and distributing a Java application, so Java scales
down poorly.

On the other hand, I'd say more work has gone into Java, and using Java for
what would traditionally be called a "transaction processing" (TP) system.
Java has some features in it's Enterprise Java Beans architecture
specifically designed to handle high volume transaction technology. This is
not garden variety stuff, and not something that most small or medium sized
businesses need to worry about. This is more like "I run a bank and I have
100,000 online customers accessing their account data and doing transactions
at the same time" type stuff.  Not everybody needs Java or Enterprise Java
Beans, but some people do. For the time being at least, Python has no
equivalent technology.

> Well if it's performance you want, ASP and embedded COM is
> probably what you want.
>
> *running for cover*.

Performance at the price of portability, definitely.  ASP + native COM
interfaces in C/C++ and Com+'s transactions. The "MTS" feature of COM+ would
give you speed and scalability and  absolutely NO portability!
You'd also be working in an environment with a lot of inertia to overcome
whenever changes are required in the system.

Python is great from Prototype to working systems precisely because it
adapts quickly.

I'd accept lower performance, use SOAP instead of COM+/MTS From what I've
read and seen, Microsoft's MTS "object runtime environment" is extremely
fast.  Writing COM components in Visual C++ can be a pain in the butt, but
if all you really need is performance, and you don't need flexibility, it's
definitely going to scale up nicely.

Now if you factor the Real and Messy world in, where requirements are
constantly changing, you can color me Python again.  I would rather maintain
and develop a system in python where I can adapt quickly to changing
requirements than work on a system where draining every last drop of
performance from the bare iron was a driving force in the design of the
system.

In the end, it's not always about performance.

Warren







More information about the Python-list mailing list