On Wed, 25 Jun 2003, Stefano Mazzocchi wrote:

> on 6/24/03 6:55 AM Dirk-Willem van Gulik wrote:
> 
> > Then perhaps my observation means absolutely nothing - and I should really
> > try to get my mind around a fundamentally different development model (and
> > some aspect you call WORA).
> 
> Oh, sorry, WORA := Write Once Run Anywhere. It's java's first
> commandament. Basically, it's bullshit: java runs everywhere because all
> virtual machines descend from the same codebase (in fact, those exotic
> virtual machines like Kaffe or natively-gcc-compiled are not used
> because the number of small incompatibilities/deficiencies is simply too
> big).

Kaffe and GCJ works reasonably well - 2-3 years ago the incompatibilities 
were huge, but now you can run a lot of stuff. 

I think WORA is a very good thing for java - even if Python or Perl have a 
larger "A" in the anywhere part ( == number of platforms supported ).

What's wrong in java is the obsession with 100% pure - that's the big 
mistake. Compiling python or other languages to bytecode is nice - but 
it's missing the point, which is integration.

GCJ is one of the best things that happened in java - the java code is 
treated as (almost) regular C++, which allows same level of integration. 
People want to be able to use existing code ( written in other languages),
it is stupid to rewrite some code that works well in java, and not to take
advantage of other languages.

Dot net is actually doing almost the same mistake as java (AFAIK)- they 
support other languages, but only syntactically ( like java does with the 
languages that generate java bytecode ). AFAIK you can't integrate 
unmodified python or perl with .net code. 



> WORA translates automatically into Java's biggest sin: native code. Java
> programmers were tough the religion of "java purity" as the only way to
> purify their souls from the "sin of native code".

Yes, "pure java" is evil. 



> This is the reason why we basically we have mod_* where * is any
> programming language, but not mod_java, there is no java API that mimics
> the HTTPD API because we preferred to avoid the "sin" of doing JNI (java
> native interface) and preferred the socket disconnected way with mod_jserv.

It's called mod_jk2 :-), and it does that ( i.e. run java in httpd process 
and uses JNI ). It also works with other servers, not only apache2 ( but 
does not work with apache1.3).


Costin



> note that for apache 1.3.x, JNI would have been hard because of the
> multi-process environment, but for apache 2.0, a JNI-based mod_java is
> perfectly valid architecturarely, but nobody works on it because of this
> "sin" syndrome.
> 
> Also, java programmers tend *not* to have any knowledge of things like
> "how to link a library in a native environment". basically they are
> totally isolated, which leads to concepts such as server microkernel
> architectures (avalon Phoenix) which look cool from a purely
> architectural perspective, but are totally weak from a security and
> stability perspective, because they use one JVM for the entire thing, a
> very weak setup.
> 
> Pier is probably the only person I know who has great capacity on both
> sides of the fence and he tried to add unix deamon-like capabilities to
> java but crushed into several JCP walls where native stuff is still seen
> as a sin.
> 
> Note how Java failed on the client side because of how slow swing is.
> Eclipse introduces SWT, something that Sun really disliked because of
> considered again a "sin" to have something OS-specific.
> 
> Again, the culture difference between java and python, for example, is
> that python has OS-specific features, java does not and will never.
> 
> java is based on a common denominator. Python is based on giving access
> to what you have.
> 
> note how apple provides OS-specific hooks to java and native alternate
> implementations of java libraries (such as swing). we'll see how much
> this impact the java purity concept.
> 
> this is just to show how peculiar the java development culture is.
> 
> personally, I feel ashamed I was not able to see that this WORA concept
> is just bullshit and that I wasn't able to see how mentally limiting
> this "pure java" thing is.
> 
> But it's far from common to have language open mindness in the java
> world and this is due to this purity religion.
> 
> >>>-> the java world seems to need amazing number of indians (or
> >>>   committers) relative to lines of codes or bugs fixed. And seems
> >>>   to see more isolated pockets of people than the xml and other
> >>>   parts of the ASF.
> >>
> >>I don't get what you mean here, can you elaborate more?
> > 
> > 
> > Actually - an extension of your Agora should propably be better at
> > showing and modeling it; I was basically looking at commit-scope of people
> > in a single code bases across projects. And had the impression that we see
> > smaller scope activity, by more people relative to total project activity;
> > and more often by people who only work on that part - but do not
> > 'participate' in the larger architecture and structure.
> 
> I see. But gathering this data would be a pretty hard CVS datamining
> problem. Anyway, agora can visualize any structure you come out with so
> if you want to experiment with it, it would be very cool and I might
> even be able to help you.
> 
> > But the latter part is not really proper statistics. Let me try to back
> > that up when I have some time.
> 
> Cool, let me know when you come up with some data to show.
> 
> -- 
> Stefano.
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to