There is a dire need for a modern framework / managed code based
language now that Linux is moving to the desktop. This is the reason
for IBM pushing Sun to opensource Java; remember IBM has a stake in
Novell who own Ximian who develop Gnome and Evolution IIRC. Ximian are
also developing Mono the C# / .Net clone. So the threat is clear,
opensource java or an alternative will be chosen that will not be to
Sun's liking but will fill a need.
The disucssion on the pros and cons of opensource vs the JCP miss the
point. Gnome developers, packages such as Debian etc. will not ship
something that is not based on opensource period.
We are at a crossroads, one modern language will become the basis for
development on the Linux desktop. It is upto whether Sun will
opensource java as to whether java is it, if not then ultimately on the
desktop the alternative chosen will usurp java.
Wake up and smell the coffee Sun!
Interesting articles on this here;
http://ometer.com/desktop-language.html
KJP
Indeed, that article is very interesting... Though there are some
technical errors, in regards to the .NET platform. For example, he says
he thinks it maybe impossilbe to implement Perl on top of it. In fact,
there is already an existing Perl (and Python) implementation. See,
ActiveState's web site for more information. Currently, there are some
20 plus available compilers running on top of the .NET platform. Every
thing from Smalltalk and Eifel to Cobol and Fortran.
I agree that Mono may have a few legal issues. I think their main
problem is implementing the proprietary classes of the .NET framework
rather then sticking with the ECMA/ISO standards. But, I saw an email
on the mailing list not to long ago that seems to imply that Novell is
in the process of addressing this issue. Basically, they are planning
to do a complete patent review prior to the release of Mono 1.0 and
split mono into to pieces - an ECMA/ISO stack and a non-ECMA/ISO stack.
They are going to remove dependencies of the Mono specific stuff on the
non-ECMA stuff (such as the GTK# using classes from
System.Windows.Forms).
Doing that may go a long way to encouraging acceptance of Mono. Despite
what people here may think of MS, .NET is a great platform for
development. It addresses a lot of issues that Java, IMHO, makes much
more difficult. With Java, you have to step outside the language to
interact with legacy code and systems - via JNI. C# defines as part
of the core specification a method of interacting native code as part of
the C# language. For instance, I have in my spare time (which I haven't
really had enough of lately) been working on a C# wrapper for the curses
library (and yes, when done I plan to release it under an open source
license - though it will probably be X11 or BSD as that is the license
that most of the Mono class libraries are under). This is fairly straight
forward under C# - but would be more difficult under Java - though not
impossible of course.
Personally, if the patent issues can be worked out - I think that Mono
or dotGNU would be a great boon to the Linux desktop. First, it would
solve the problem of ABI incompatabilities, by abstracting the interface
(something that Java is also capable of). It would allow almost all of
the common languages (including C++, since there is work being done
right now to standardized the Managed C++ extensions) to continue being
used without forcing all developers into a standard mold. I admit that
that can also be accomplished with Java - in fact there are already some
compilers for other languges that compile to Java byte code. Still I
think .NET will have an advantage here, since over the next couple of
years I expect that there will be a great deal more desktop development
done with .NET then there has been Java, simply because of the shear
size of the MS market share. Having a means to develop and deploy
applications across a broad range of architectures (Mono runs on
Windows, Linux, MacOS X, FreeBSD, and SPARC - they are realeasing the
initial JIT engine for SPARC soon, though the interpreter has been
available for some time) is very attractive.
I have to say, that as much as I like Mono - I don't believe that they
have a snowballs chance in hell of being successful. The main reason -
the Linux community will surely never accept any technology that came
from the "great satan of the northwest". Not that I fully blame them,
especially as long as the patent issues loom like a big, black cloud...
Still, I'm not sure that even if the patent issues did not exist that
Mono would ever be successful. Which is a shame - it is actually quite
a good and useful technology that would bring a lot of benifits to
Linux.