LWN.net Logo

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 4:09 UTC (Sun) by Ed_L. (guest, #24287)
In reply to: MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld) by drag
Parent article: MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Well, I'm embarrassed to be first to mention it, but Gtkmm -- the collection of C++ library bindings for Glib, Gtk+, Sigc and friends -- works, works quite well, and has so for some time. Murry Cummings & Co. have done a commendable job. Of course, one major advantage to Gtk+ is the (relative) ease with which its widgets, signals, and thread libraries can be wrapped in a variety of languages. Many different languages wrapping the same underlying base can make for more robust code everywhere. So if a particular programmer is most comfortable with Perl or Python or Cash, fine. I personally prefer the speed, OO capability, and linkage flexibility afforded by C++, so Gtkmm (with ongoing improvements and support) floats my own boat just as it is.


(Log in to post comments)

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 11:27 UTC (Sun) by sylware (subscriber, #35259) [Link]

You are damn right: thanks to C and GObject anybody can create a new language and bind to GTK.
The really naughty thing is that none of those languages should be pushed by force in
"official" gnome since favoring one language over another is massively unfair.
Vala,OCaml,ruby,python,lua,perl,java,mono,C++,foo,fooplus and so on, all shall be in
"official" gnome"? Of course not, the only way to keep it fair: "official" gnome must not go
beyond its native language, namely C programs dependency and no more.

In order to keep things fair regarding languages integration, "official" gnome must depend
*only* on C coded programs, period.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 11:56 UTC (Sun) by drag (subscriber, #31333) [Link]

> In order to keep things fair regarding languages integration, "official" gnome must depend
*only* on C coded programs, period.


What does it matter if Gnome is "fair" to multiple langauges?  How is that a issue?

The problem here is that coding your entire user interface in C is a total waste of
development time and effort. Low-level stuff and performance critical stuff should be written
in C, certainly, but that's the minority of stuff that is going to be used in a desktop
environment. The majority of effort is going to go into application development and user-level
interfaces.

Sure it's possible to code in C correctly, but having developers chasing around pointers and
doing manual memory allocation is a waste of their time and provides little to no benefit to
the vast majority of end users for most of the application space.


MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 15:19 UTC (Sun) by stevenj (guest, #421) [Link]

I don't think that was the poster's point. It's not that people should be writing their applications in C, it's that there are many good languages out there and many strong programmer preferences, and GNOME shouldn't be trying to pick a winner.

Because of this, there is a strong technical argument that libraries (at least, those intended to be widely used) should be written with C interfaces, because lowest-common-denominator C interfaces can be called by essentially every other language whereas interfaces in "modern" languages mostly cannot.

Microsofts CIL promises similar language independence, with a more automated support for OO programming, but currently only within the limited ecosystem of programs that you are willing to run inside an interpreted runtime (CLR).

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 20:16 UTC (Sun) by drag (subscriber, #31333) [Link]

> Because of this, there is a strong technical argument that libraries (at least, those
intended to be widely used) should be written with C interfaces, because
lowest-common-denominator C interfaces can be called by essentially every other language
whereas interfaces in "modern" languages mostly cannot. 


Well I don't have any problem with libraries written in C. It's code that is commonly used in
multiple applications and any sort of memory savings, language compatebility, or performance
is a has the largest amount of impact. Higher up on the application stack C is much less
attractive and it's benefits become more rarefied.

The issue is with *Official* Gnome and Gnome is far more then just system libraries, is it
not? You have browsers, utilities, nautilus, etc etc etc.

The OP is that Gnome should never use anything other then C, in anything it plans on including
in itself, to write anything because that is unfair to other languages. (?)


MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 15:45 UTC (Sun) by sylware (subscriber, #35259) [Link]

>What does it matter if Gnome is "fair" to multiple langauges?  How is that a issue?

Reread my posting: because it's bare unfair.

>Sure it's possible to code in C correctly, but having developers chasing >around pointers and
>doing manual memory allocation is a waste of their time and provides little
>to no benefit

What's even worse, is to have to maintain a bloat like mono to support "official" gnome: I'm
sorry, but I see the monstruous amount of complex mono code lines as THE very big issue. It's
worse than java since the base technology must not be trusted at all (mono is viewed on the
computer market as a poor quality and inferior .net framework... thx for the poisonous gift).
Coding in C *is* about "chasing" pointers and doing manual allocation. It does mean "I
understand what's going on", "I have control", and "I depend already on gcc complexity and
that's fairly enough". Nowadays you have tools to assist you in order to let you code properly
(valgrind, gcc more and more verbose warnings, etc). Moreover my experience demonstrates what
you say is irrelevant: time spent on boilerplate code is minimal in comparison of time spent
on application logic.

gnome is C native as should be all applications in "official" gnome. If you want to add FOO
language support to gnome, let it be in "official FOO" gnome on the side of "official" gnome,
period... again.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 20:42 UTC (Sun) by drag (subscriber, #31333) [Link]

> Reread my posting: because it's bare unfair.

That's what I don't understand.  Why does it matter that Gnome needs to treat Lua, Ruby,
Cobol, <insert favorite small language>, or Python all as equals? What does it matter? How
does that make it a better desktop environment?

I mean being 'fair' sounds very cool and all. We are taught in gradeschool that being fair is
nice.. but as a basis for designing a desktop environment I do not see the real benefit.  It
could be that I am just ignorant, but I just don't see it.

What I see that your saying is that you'd rather see all non-C language support be equally
crappy rather then favor a few and make support for those those great.


> What's even worse, is to have to maintain a bloat like mono to support "official" gnome: I'm
sorry, but I see the monstruous amount of complex mono code lines as THE very big issue. It's
worse than java since the base technology must not be trusted at all (mono is viewed on the
computer market as a poor quality and inferior .net framework... thx for the poisonous gift).

Ok, then pick out something better. I don't care if Mono is seen as a second rate .NET. It
doesn't bother me one bit. In fact I don't care one way or another if Gnome supports Mono as a
'official' language.

(If you care about image so much you should pay closer attention to what they are saying about
Linux application developers clinging to C as the answer for everything...)

What I do care about is Mono is already supported, it's legal security is as fine as any other
language (say.. Java), IMO. It's a modern language, it's "good enough", and it's already being
used.  So embrace it.

> Coding in C *is* about "chasing" pointers and doing manual allocation. 

Yes, that's what I said and I think that for most applications it's a waste of time with
little benefit to end users or the quality of the application. I figure people should use C
were it's appropriate, but otherwise use something more productive.


> It does mean "I understand what's going on", "I have control", and "I depend already on gcc
complexity and that's fairly enough". Nowadays you have tools to assist you in order to let
you code properly (valgrind, gcc more and more verbose warnings, etc). Moreover my experience
demonstrates what you say is irrelevant: time spent on boilerplate code is minimal in
comparison of time spent on application logic.

So your saying that for programmers coding in C they can create applications just as fast and
create programs just as safe (given the same limited amount time) as if they programmed in any
other language? That runs completely counter to most everything I've ever read on the
subject...

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 9, 2008 21:36 UTC (Sun) by sylware (subscriber, #35259) [Link]

>Why does it matter that Gnome needs to treat Lua, Ruby,
>Cobol, <insert favorite small language>, or Python all as equals?
Wrong way, why gnome shouldn't treat <high level language> like mono? Since they are many so
the best options would be to stick to gnome native language, namely C. But the idea is not to
send to hell all other languages for gnome (like mono do) but to provide official support for
a specific language on the side of the "official" gnome.

>How does that make it a better desktop environment?
Wrong sentence: why can't we make a better desktop environment without  exclusively mono?

>Ok, then pick out something better.
You do not understand. The idea is to remove the mono bloat from "official" and let it live in
an "official" mono bloat, on the side. Like we would have an "official"
python,lua,ruby,ocaml,perl,C++,vala... and BTW vala would be quite more suited since its
syntax is hardwired to the gobject semantics sparing the maintenance of a huge complexe bloat.

>I don't care... I don't care...
Well if you do not care that much... GPL software needs care on the long run. Without people
like you, GPL software would have been destroyed a long time ago.

>It's a modern language
Are you kidding? java and siblings are obsolete. "dynamic" high level languages are modern
(perl/python/lua/ruby etc...)

>What I do care about is Mono is already supported, it's legal security is >as fine as any
other
>language (say.. Java), IMO. It's a modern language, it's "good enough", >and it's already
being
>used.  So embrace it.
Wow! Do you work in "the borg" marketing departement??

>So your saying that for programmers coding in C they can create >applications just as fast
and
>create programs just as safe (given the same limited amount time) as if >they programmed in
any
>other language? That runs completely counter to most everything I've ever >read on the
>subject...
Beware! Don't read books where mono and java are modern languages!
As I said before, what you said is irrelevant, since most the time spent is done on
application logic and not on boilerplate code. That's the famous oldish marketing trick to
sell the dependency on a huge bloat that will simplify life, bring you happiness and make the
coffee.

Well, I'll tell you something: code, code and code again, then you'll know why a brain damaged
dependency tree is evil, especially when dependencies deal with huge complex bloats...

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 10, 2008 11:29 UTC (Mon) by jamesh (subscriber, #1159) [Link]

> Wrong way, why gnome shouldn't treat <high level language> like mono?
> Since they are many so the best options would be to stick to gnome
> native language, namely C. But the idea is not to send to hell all
> other languages for gnome (like mono do) but to provide official support
> for a specific language on the side of the "official" gnome.

This logic does not make sense to me.  The whole point of promoting language bindings like
Gtk# and PyGTK is so that people can write applications in those languages.

If we then say that applications in those languages can't be part of the GNOME desktop, we are
saying that they are second class citizens.  It says that if you want the app to be really
popular you'll need to rewrite it in C.

Is it really matter that Tomboy is written in C#, or that Jokosher is written in Python?

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 10, 2008 14:22 UTC (Mon) by drag (subscriber, #31333) [Link]

Exactly. 

User interface code, application logic, and such things are better written in a high level
language more often then not. Stuff that is common to most applications should be stuck in
libraries and it makes sense to spend the time to get those optimized and such because the
benifit is spread out across the entire desktop and all types of applications.

It also does not make sense to deny Gnome the use of Python or Mono in their shipped product
because some programmers prefer Ruby or Lua. And it does not make sense that Gnome should
incorporate support for all scripting languages equally because _that_ is serious bloat. So
there has to be a choice made and so far Gnome's has been Python and Mono.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 10, 2008 14:55 UTC (Mon) by sylware (subscriber, #35259) [Link]

>Is it really matter that Tomboy is written in C#, or that Jokosher is written in Python?
Jokosher is not part of "official" gnome, neither is pyGTK. It's "official python" gnome on
the side of "official" gnome.
Tomboy is part of "official" gnome and that's quite evil because it has replaced the clean and
light sticky notes and forces "official" gnome to depend on the mono bloat.

>It says that if you want the app to be really popular you'll need to rewrite it in C.
Wrong sentence: you mean that only mono apps are allowed to be popular with gnome. That's bare
unfair for other high level languages. And, uh... quite surprisingly, it does concern
technologies from the borg collective. Very very strange, isn't it?

The solution is to split "official" gnome into "official native" gnome, "official python"
gnome, "official perl" gnome , "official vala", "official FOO language" gnome and so on.


MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 2:38 UTC (Tue) by jamesh (subscriber, #1159) [Link]

Perhaps Jokosher wasn't the best example to give.  Contrary to your statement, there are PyGTK
components in the official GNOME desktop releases though (e.g. alacarte, deskbar-applet).

So Mono certainly doesn't have an exclusive position in the desktop release.  If a new
application comes along that makes sense to add to the desktop but happens to be written in a
language other than C, C# or Python, I don't see any reason why it shouldn't be considered.

As for your suggestion that GNOME releases be broken up based on the underlying language, how
does that benefit users?  As I asked in my previous reply: as a user, why do you care what
language an application is written in provided it does its job?


MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 9:10 UTC (Tue) by sylware (subscriber, #35259) [Link]

>As for your suggestion that GNOME releases be broken up based on the >underlying language,
how
>does that benefit users?  As I asked in my previous reply: as a user, why >do you care what
>language an application is written in provided it does its job?

Again that's the wrong way, let me correct you:
To force popular applications to be based on mono and excluding all other apps based on other
languages, how does that benefit users? As a user, why do you care about all your official
gnome apps coded in their gnome native language, namely C (appart from the fact that it's by
orders of magnitude cleaner than having huge complex bloats which globally require much more
man power for maintenance and evolution)?

Really, you have a kind of marketing speach which is recurrent, it's not the first time I have
to deal with almost exactly the same points. Here, you are on LWN with many skilled technical
people who are not going to be fooled easily but such venimous speach. BTW, I'm the only one
to waste saliva about all this. You could be a robot I would not be surprised (we call that
marketodroid at my work place :) ). Basically, what you say is "we can make shi** software,
till it's nice for the user it's ok". But you forget that we have already MS/Novell for that.
I'm sorry but I'm one of the many guys who thinks that GPL software can please users (for the
desktop metaphore) *and* be technically clean. Too bad, you are not one of us.
logoff.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 15:09 UTC (Tue) by jamesh (subscriber, #1159) [Link]

> Again that's the wrong way, let me correct you: To force popular
> applications to be based on mono and excluding all other apps
> based on other languages, how does that benefit users?

This is a strawman argument.  No one is forcing people to use Mono to the exclusion of
alternative languages.  I gave you examples of Python applications that are part of the GNOME
desktop release so it is clearly not current policy or what I suggested.

If anything, I've got a vested interest in seeing Python applications on GNOME succeed (see
the AUTHORS file for PyGTK), but I have no problem using GNOME applications written in other
languages.

I am not arguing for a special position for Mono in GNOME – I'm promoting the use of languages
other than C on the desktop.  I am not sure why you find this point of view offensive.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 16:26 UTC (Tue) by sylware (subscriber, #35259) [Link]

>This is a strawman argument.  No one is forcing people to use Mono to the exclusion of
alternative languages.  I gave you examples of Python applications that are part of the GNOME
desktop release so it is clearly not current policy or what I suggested.

Reread my postings: brute forcing mono/python in "official gnome" *does* exclude all others.
It's facts. It does favor way too much those instead of all others. It's called brute forced
popularity and deployment of huge bloats.

>I'm promoting the use of languages other than C on the desktop. I am not sure why you find
this point of view offensive.

Promote the language you want for desktop user level application, I have nothing against that,
on the contrary,... till it's not brute forced in core "official" gnome and till I can call
your FOO language code from C (without becoming crazy) and the other way around.

Flying away.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 17:06 UTC (Tue) by zlynx (subscriber, #2285) [Link]

>Reread my postings: brute forcing mono/python in "official gnome" *does* exclude all others.
It's facts.

Please explain the above statement (and only the above statement with no digressions, please)
using simple logic with one subject/verb logical statement per line.

Because I did reread your postings and I do not understand your argument that other languages
are excluded.

MIX - Novell's de Icaza criticizes Microsoft patent deal (LinuxWorld)

Posted Mar 11, 2008 19:41 UTC (Tue) by sylware (subscriber, #35259) [Link]

I think all the reasons are explained in the thread.
Moreover I flew away...

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds