Re: Time to heat up the new module discussion



> Joe Shaw wrote:
> 
>>> It is a very different situation. While the power manager support 
>>> provides new functionality, GTK# would only provide duplicate 
>>> functionality for another development framework that overlaps with 
>>> GNOME.
>> 
>> Perhaps I am misunderstanding, but this argument doesn't make any sense
>> to me.
>> 
>> Gtk# isn't an application, so by itself it's not useful and doesn't 
>> really duplicate anything.  It does provide a native API to Gtk#, but
>> traditionally language bindings have been considered a strength of
>> GNOME.  Gtk# calls into Gtk+, so it's not like we have two competing
>> implementations of the toolkit here. I don't see the duplicate
>> functionality here.
> 
> My mistake, I didn't explain it correctly. What I meant was that the group
> of Gtk# plus Mono overlaps with a big chunk of the desktop. My 
> understanding is that GNOME is a development framework and Mono is another
> one completely unrelated. Both of them have quite big class libraries: XML
> parsers, string management, asynchronous I/O, etc.

There are some overlaps. However, I don't think we want to restrict GNOME to
unmanaged code for the end of time. The substantial resources spent by Sun,
Microsoft, and Novell on managed code for the desktop seem to suggest that
all think that this is the way of the future. Innovative applications have
been developed by using Mono that clearly would have taken much, much longer
without the help of this framework.

It's hard to call the C libraries we have a development framework. The environment
they provide is simply not comparable to that of Python or C#
 
> Of course it is possible to use both of them for writing a single cool
> application, although it doesn't seem to be technically correct because of
> all the duplicate code: there would way too many unneeded possible failure
> points and wasted resources.

Mono will *not* be taking resources from the current GNOME community. Even
if there is on occasion, a but in Mono that needs to be fixed, it seems that
this is a net win given the increased development speed. I'm sure Joe Shaw,
Aaron Bockover, and Larry Ewing (among many others) would attest to the
benefit which Mono has provided as they developed applications. 

>> It makes increasingly less sense to write applications in C. If you look
>> at where the interesting and innovative development has been in terms of
>> applications in GNOME, virtually zero of them are C apps. They're all
>> either Python or Mono.  This isn't a coincidence.
> 
> For me the problem is not the language, but the addition framework.

So, given the choice of:

	- "virtually zero...interesting and innovative development" or
	- Two frameworks

You are suggesting less innovative development? There is absolutely nothing
suggesting that over the next 5 years, C applications will become easier to
develop. On the other hand, substantial improvements in managed languages
(such as generics, and the many enhancements coming in C# 3.0).

Also, it may become increasingly hard to attract new developers to GNOME
if we only support C. Most universities (including my own, CMU) focus their
cirriclum on managed languages.

> Does it make sense to you to use have three or four different DOM parsers
> in memory at the same time? (libxml2, python, mono and java for example).

First, java is not under consideration at this point. Let's not cloud the
discussion with off-topic issues. Currently, python and mono are where the
innovation that Joe has been talking about is happening.

This statement shows a clear misunderstanding of where the performance issues
are in todays desktop. Much of the memory that comes from loading multiple
frameworks is shared between processes. In addition, where framework bloat is
causing an issue in the GNOME desktop is in places that get loaded by 20 processes
(for example, GNOME-VFS). I can't imagine photo management, music playing, desktop
search, and desktop wiki-notes on a low memory computer -- in C, Mono or Python.

In all honesty, our biggest performance problem is coming from applications
that leak. This problem won't be made worse by Mono (in fact, I believe that
Mono's ease of development will help developers spend more time profiling).

It should also be pointed out that Mono provides an environment for many
different languages. While choices of .NET-using languages among GNOME desktop
apps needs to be decided (having everone choose their own language would
be a issue), Mono will allow the freedom of choosing the best tool for the
task while at the same time, providing a single framework.

-- Ben




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]