On 30 Dec 2004 08:58:36 -0800, "Sridhar R" <[EMAIL PROTECTED]> 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. -- http://mail.python.org/mailman/listinfo/python-list