Hi there,
Charles-H. Schulz wrote:
Le 4 mars 08 à 15:23, Frank Schönheit - Sun Microsystems Germany a
écrit :
Hi Hubert,
I don't know if you have noticed, but they are been several request
from
people to have OOo ported to embedded devices like Maemo and iPhone,
for
which Java is likely to be an even bigger problem.
Come on. When we ever port OOo to one of those platforms, Java is one of
our smallest problem. For the concrete case, this means that any other
third-party library we could use will most probably also not run on
those platforms. So effectively, you say "don't use third-party
libraries".
So without judging the concrete case, the argueing with possible future
ports to platforms without Java is simply not a valid point, IMO.
I am personnaly more interested by the aspect related to freedom (as
in speech) on this question. Many of them have been sorted, but
freedom is also "freedom to leave" and freedom not to rely on one
specific platform, although java can of course be a compelling choice.
So the question I have now can be summarized in one word: 'adherence'
. Adherence to Java, maintenance, adherence to a VM, breadth of
alternatives (not just for java), etc. I am putting myself in
perspective of the ToolKit as well.
Any thoughts?
Well, as long as a discussion about Java and/or C/++/# is not a
religious one, then one may observe that
* Java has become ubiquitous, practically all PCs have it installed,
i.e., it is usually available on any PC
o one of the major reasons seems to be that WWW mandates Java
because of numerous Java applets in the field
o it has been available (and used) on mobiles for quite a few
years now, just look at the Java games there (i.e. ME
based), but also "regular" sized Javas available for Symbian
based mobiles
+ Google's Android is an practically a purely Java based
"mobile operating system" using Apache's opensource
Java named "Harmony" (which in itself is at least at
the Java 1.5 level and has already most of Java 1.6
implemented), the first such mobiles are expected to
hit the market by the end of this year
* Java indeed fulfills the promise to run everywhere; I know from
experience as I am a person who has added the ooRexx scripting
language to OOo via the OOo Java-based scritping framework; ooRexx
itself is written in C++, the scripting interface in Java (using
JNI, the Java native interface that allows bridging C/++ with Java).
The Java part of that support (which is a generic one, i.e. ooRexx
can interface with any Java object, totally independent of OOo)
has *never* in the past *eight* years of its existence changed.
This means, that in the original support that was created for OS/2
(yup!) and Windows, all the ooRexx examples employing Java objects
(including GUI applications originally developed under OS/2!) run
*unchanged* on Linux and MacOSX!
FWIW, I cannot state the same for C/++ part of the JNI interface
as every platform usually has its "favored" compilers yielding all
sort of funny #ifdefs which have been growing over time.
* Coming from an academic background there is another interesting
aspect to Java: today, it is the most widely used programming
language to create applications in the world, and by far the most
widely taught computer language (employed even outside of
specialized informatic studies) in the world. This means that it
is quite probable (and can be witnessed following the OOo e-mail
lists) that there are people joining OOo development with Java
that otherwise would not stand a chance to help (short of having
the necessary C/++ skills).
Taking all of this into account it seems to be a very attractive goal to
create (or employ thired party) libraries in Java as that would truly
help to cut down porting costs, as usually you won't have no porting
costs with Java. E.g. look at the XML processing Java libraries that are
also used in OOo.
As OOo already deploys Java in a number of areas in addition, I would in
any case support the usage of Java for adding new functionality to OOo.
Even, if that would mean that Java becomes a mandatory part for any OOo
distribution. This just would reflect the reality of the environments
under which OOo has been running already and on which Java has been
deployed already independent of OOo!
Just my 2 cents...
---rony