[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Industry versus academia
John Morrison wrote:
>It seems that all the "non-standard" languages, in order to achieve
>more widespread acceptance, must spend a lot of effort making FFI
>interfaces to the dominant "assembler languages" (C, C++) of the day.
>JNI, UFFI, Boost Python, and the various SWIG back-ends all spring to
Lisps that run under Unix, such as Franz, as well, as far as I know.
>Is this because of the Law of Increasing Returns (you want to be able
>to leverage the vast number of libraries written in the dominant
>language)? Is it because one is subtly pressured to by the
>C-language-centric Unix/Windows OS? Is it self-inflicted due to the
>phenomenon that Sundar mentioned?
Why does Java need JNI?
Well, first I should point out that in a lot of cases, it doesn't. You
can write an awful lot of
stuff in pure Java these days, both on the client and server side. The
vast majority of
BEA's stuff is in Java and there are very, very few native-interface
Why are there any? Often to access operating-system features that Java
invoke that make such big performance differences that it's worth taking
the hit of
having some non-Java code (always a pain due to porting considerations).
we once needed JNI because Java had no way to say "force to disk all
write that have
been done to this file" (it was added later, I think in JDK 1.2, at
which time we could
and did make "PSE Pro for Java" be pure Java).
And surely sometimes it's to take advantage of reusable code that
happens to be in some
other language. Reuse of code is good, no?
>To relate these two threads (platform standards and the need for
>"assembler"), are we better to try and:
>(1) chase the standard language we don't "own" by attacking the
> FFI/assembler problem head-on, or
>(2) come up with a different platform that we "owned?" E.g., Sun's
> late, lamented, JavaOS; open source JOS (Java Operating System);
> PerlOS (I kid you not, try googling for it), Return of the Son of
> the Lisp Machine; etc.
Well, if you think it's hard to sell non-mainstream languages, just try
to sell non-mainstream operating