The Industry choice

Bulba! bulba at bulba.com
Thu Dec 30 20:13:27 EST 2004


On 30 Dec 2004 08:58:36 -0800, "Sridhar  R"
<sridharinfinity at gmail.com> wrote:

>>From technical point of view, I could not understand the the reasoning
>behind using Java in major companies.  Sure that Python, is used in
>some, but still Java is considered as a sure-job language.
>
>After being a python programmer for long time, I consider it painful to
>learn/use Java now (well, like many I will be forced to do that in my
>job).

>What makes such companies to choose Java over dynamic, productive
>languages like Python?  Are there any viable, technical reasons for
>that?

It's the $$$ of the big organization behind it and all the 
inertia^H^H^H^H^H^H stability of it.

Note all the fuss that was made when IBM has "spent $1 
billion on Linux", for instance (or so it was said). Managers
paid attention to that (at least that was my impression).

AFAIK, Linux didn't really change in technical sense
just because IBM has embraced Linux, or at least not much.
But to companies and manager the major point is:

Big Blue has embraced it. 

That means Linux going to stay around (at least in their
opinion) and it will have the backing of Major Vendor,
because Major Vendor can't afford to drop it (or so their
thinking goes; I'm sure there could be precedents showing
smth to the contrary, esp. when mergers/takeovers were
involved - off the top of my head, Informix is a case in 
point). 

Us techies can find it relatively easy to switch from one
technology to another, but even then it costs us considrable
effort.

For managers of companies it's worse: the company makes
VERY substantial investments into any technology it "marries",
and that means big losses if it goes. Long-term stability
of this technology in terms of "we're not going to be left out
in cold alone with this technology to feed it" means a lot 
to them. Even a poor technology with external backing 
of big, stable vendor is better than the excellent technology 
without  it. That's the downside of Adam Smith's division of 
labor: it's very nice that it makes you so much more productive 
-- the problem is that it also makes you automatically dependent 
on other people, who tomorrow might feel like finding a more 
interesting open source project, or joining a Tybetan 
monastery, for instance, is better use of their lives.

Why managers actually ain't stupid in doing things like
embracing Java a following anecdote may illustrate nicely:

A friend of mine, after whom I got the sysadmin job, got a 
job in CERN in Geneva. Once upon a time they needed to 
get those industrial controllers used in physical experiments
programmed in a peculiar way.  Since at the time there was 
no available language or toolkit suitable for the purpose that
would fit what physicists needed to achieve, they hired this 
guy to write a small programming language for them. 

I don't know the actual details, but the guy got the job done. 

Since that time the controllers with appropriate performance
and features have appeared on the market. However, now
the managers cannot fire or reassign this guy, because there
are two problems:

1. nobody except him has the faintest idea how he has done that. 

2. the software of those controllers obviously got "interfaced"
with the remaining software (and as we know, applications 
live forever) and the quirks of that software obviously externalized
themselves elsewhere in the remaining software, so adapting the 
apps to new controllers would cost more effort than it is 
worth - basically rediscovering what the hell was done down there
in all the source code would be necessary (almost reverse
engineering), much of the debugging  would have to be done again,
maintenance, etc. - all those efforts quickly add up. 

So the "known evil" is kept in place because it is too costly to
switch to realize a relatively small benefit.

So that guy is kept in his job "just in case" - doing basically 
nothing on the job. 

Think about it: he's paid for DOING NOTHING, well, basically
just for being ready to make minor patches or ports of
his software (this is a case of "vendor lock-in" if there ever
was one).

This is the sort of situation that managers are rationally 
afraid of.

For Python a Big Thing would happen if some Major Vendor
embraced it as its Official Language(tm). Python language
itself could turn into a smoking crock the very next day, but
everybody who doesn't live under the rock would still be 
writing in it.



--
It's a man's life in a Python Programming Association.



More information about the Python-list mailing list