> Miguel .. forgive me my ignorancy and not so good english. GNOME was
> developed mainly without this kind "bloat" languages like C++, Haskel,
> Lisp (God why sawmill is so huge ? .. God blease AS programmers ;) and
> this is *very good* fundament.
Well, I have always encouraged people to use higher level languages
(indeed, the very first GNOME apps were written using the Gtk+ bindings
for Guile, but Guile had a horrible startup time). And I do encourage
people to write code in higher level languages, because most of the
time, for small applications that is all you need. Long live the Perl
and Python bindings!
That being said, my personal choice between C and C++ is C, only because
I have personal problems against C++, but that is merely personal. I
have always wanted to use an OO language to write code, but C++ was too
much for me to take on. Again, I have my personal reasons to dislike
C++ which are not worth getting into.
So we decided that our core libraries would be written in C, because
that allowed things like the language bindings to happen with relatively
ease. And applications were left to each author to decide what language
to use. I chose C for Gnumeric. Other people might use other things
for other projects.
> Now You want say we me must change this now and try to kill this work in
> way which is performed by KDE team ?
My gripe with KDE on the early days was not C++ (indeed, I contributed
on the early days to KDE some code, before I became aware of the license
problems). I did not mind using C++, but it was not my language of
choice (and still isnt).
> Simple .. why ? I don't see around any valuable products ("Open Products")
> which uses this programing enviroment. Why now we must change this and for
> perform "another way" for grow compecity ? Is it realy *neccessary* ?
I am not asking anyone to rewrite any code. Indeed, I encourage people
not to do so. But when it comes to extend a product, Mono might be a
valuable tool. Valuable, because I believe that the major feature of
.NET is reduction of development time and the reduction of the money we
spend on developing those products.
I have written a large amount of code over the years, and there is a
point in everyone's life, when you figure `dealing with memory
management is just not worth it'. I want to have a garbage collected
language, and I want to have a modern platform, and I want language
independence.
Let me give you a few data points:
* Evolution: roughly 2 years of development, and at its peak
had 17 developers working on it.
* Gnumeric: the gnumeric/HACKING file was inspired by the fact
that many programming errors that Insure/Purify reported could
be fixed by having good warnings reported, but this was not
enough.
Despite the fact that I was extremely careful coding Gnumeric,
there were many memory leaks found by Purify (Morten did track
this).
The bottom line is that developing these applications is costing a lot
of time, and a lot of money. I want to see Linux succeed on the
desktop, and for this to happen, many more apps will need to exist. I
want to go from having 17 people working for two years on a product to
have those same 17 people work on four products in the same time.
Running Purify is a routinely operation on Evolution and Gnumeric even
to this date. There *must* be a better way. And there is. Some
people like Java (and we have GNOME/Java bindings), and some of us like
.NET, and that is what Mono will bring.
I am sorry, but I could not understand the rest of your email.
Miguel.