GNOME Platform Stormclouds
Posted Mar 26, 2004 12:20 UTC (Fri) by massimiliano
Parent article: GNOME Platform Stormclouds
Many of the previous comments are correct, but seem to miss one
The issue here is not "let's write GNOME applications in Java/C#/
Perl/Python/Ruby". This is something that can be easily done
now, with any of those languages.
The issue is "let's integrate a virtual machine in the GNOME system
libraries, so that GNOME reusable components can be written in a language
that is more abstract/expressive/safe/productive than C".
The issues about the type safety of languages, IMHO, should be looked
at from this perspective.
In some cases it is perfectly appropriate developing an application
in a language that is not statically type safe, while in other cases
it is better to have a type safe language. Each application developer
can pick his own choice, and be happy with it.
It can be also perfectly acceptable to have different VMs supporting
different languages for different applications.
On the other hand, for reusable components, the requirements are more
stringent. Moreover, if you want to have true reusable components, ease
of interoperability with other technologies is a must.
What Microsoft is doing internally, with .NET, is replacing COM and DCOM
as a technologies for writing components with a more modern way of doing
things (.NET assemblies and remoting). They will have the advantage of
a very coherent system when the migration is completed (longhorn), and
a very easy and incremental migration path for ISVs in the meanwhile.
If I got it correctly, it is because he was seeing this potential in the
.NET standard that Miguel started the mono project; he tought that those
benefits would apply to a free platform (GNU/Linux/GNOME) as well.
In my opinion, for individual applications the problem of "standardizing
on one VM" is not an issue. Each application writer picks his own choice,
and everything works anyway, just like we are doing now.
It is when you want to have a coherent system, and reap the benefits of
a more modern platform also at the system component level, that you need
to pick a choice globally to avoid fragmentation.
At this point, the only options are Parrot, Java and mono (for the sake
of completeness, also portable .net, but this counts as a .NET
reimplementation like mono).
Everybody has his opinion on the subject... for me, Parrot is not ready,
and Java is not free enough. Besides, .NET is very, very well tought out,
and generally technically superior.
to post comments)