From Bertrand.Guiheneuf@inria.fr
Received: (qmail 14470 invoked from network); 9 Apr 1998 12:27:24 -0000
Received: from concorde.inria.fr (192.93.2.39)
  by mail2.redhat.com with SMTP; 9 Apr 1998 12:27:23 -0000
Received: from linoleum.inria.fr (root@linoleum.inria.fr [128.93.24.87])
	by concorde.inria.fr (8.8.7/8.8.5) with ESMTP id OAA14221;
	Thu, 9 Apr 1998 14:27:11 +0200 (MET DST)
Received: from linoleum.inria.fr (guiheneu@localhost [127.0.0.1]) 
by linoleum.inria.fr (8.8.7/8.7.3) with ESMTP id OAA05655; 
Thu, 9 Apr 1998 14:27:37 +0200
Message-Id: <199804091227.OAA05655@linoleum.inria.fr>
X-Mailer: exmh version 2.0zeta 7/24/97
To: GNOME <gnome-list@gnome.org>, freeqt@modeemi.cs.tut.fi
Subject: opening Gnome to multiple (windowing) systems
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Thu, 09 Apr 1998 14:27:37 +0300
From: Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>

--I thought I had sent the same kind of message already but I did not see
it on the list, so excuse me if I repeat the same thing twice.--

Hi,

It seems that Kde/Troll lobby tries to kill Harmony (at least) with their 
last announce.

I don't think KDE will ever do anything to promote the developpement
of a free GUI for Linux.

Thus, and as Qt is after all a very good library, wouldn't it be
possible to make Gnome a platform that would allow anyone to choose its own
GUI lib (wxGTK, GTK++ , GTK-- or Harmony) for its Gnome app?

Wouldn't be possible to create facility for developpers to port
their KDE  softs from close-KDE to an open-Gnome platform.

Why doesn't anybody use wxGTK for its Gnome apps?
Why isn't there any link to wxGTK in www.gnome.org?

PS: I have nothing against KDE in particular (I use it)
except, their (dictatorial) attitude and their strange addiction to Troll Tech.
(which I have nothing personal against except their tendancy to think 
we are completely naive)

	Bertrand

From nelson@crynwr.com
Received: (qmail 24112 invoked from network); 9 Apr 1998 12:54:00 -0000
Received: from ns.crynwr.com (192.203.178.14)
  by mail2.redhat.com with SMTP; 9 Apr 1998 12:54:00 -0000
Received: (qmail 12223 invoked by uid 0); 9 Apr 1998 12:54:30 -0000
Received: from desk.crynwr.com (128.153.44.67)
  by ns.crynwr.com with SMTP; 9 Apr 1998 12:54:30 -0000
Received: (qmail 10998 invoked by uid 501); 9 Apr 1998 12:54:29 -0000
Date: 9 Apr 1998 12:54:29 -0000
Message-ID: <19980409125429.10997.qmail@desk.crynwr.com>
From: Russell Nelson <nelson@crynwr.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: GNOME <gnome-list@gnome.org>, freeqt@modeemi.cs.tut.fi
Subject: Re: opening Gnome to multiple (windowing) systems
In-Reply-To: <199804091227.OAA05655@linoleum.inria.fr>
References: <199804091227.OAA05655@linoleum.inria.fr>
X-Mailer: VM 6.34 under 20.3 "Vatican City" XEmacs  Lucid
X-Face:  $K'YURj"g6ImvqTS_=]8)gqh!5;ElY<[.Rao%j8r+]iUfE{%|v%F<=mcq<6l{K=~mf&#:?"
 nslS]U~|x{2V=Eex_I#"9K~9)>?m7Lm={(j_&)SX~fzg&ST~P%QUhc{1p]c3@Zn1u*PZlkHM**X^vV
 l>GkB5y^Kz%w5p~^uDue]hL&ke,N;+Q<ImMCdCr~Kz--?|SS?DbZiaE;xPW/7k9u_cc(It%mvMNVk;
 qVk~

Bertrand Guiheneuf writes:
 > I don't think KDE will ever do anything to promote the developpement
 > of a free GUI for Linux.

I deprecate the use of "free" to describe software because of it's
dual meaning.  Much better terms are "freed" or "libre" meaning
freedom, or "gratis" to mean zero cost.  Thus, the "Free Qt License"
is the "Gratis Qt License".  Same thing for X11R6.4.  Software the
uses the GPL is "freed software", or "libre software".

-- 
-russ <nelson@crynwr.com>  http://web.crynwr.com/~nelson
Crynwr supports Open Source(tm) Software| PGPok |   Freedom is the primary
521 Pleasant Valley Rd. | +1 315 268 1925 voice |   cause of Peace, Love,
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   |   Truth and Justice.

From Bertrand.Guiheneuf@inria.fr
Received: (qmail 8129 invoked from network); 9 Apr 1998 13:21:48 -0000
Received: from concorde.inria.fr (192.93.2.39)
  by mail2.redhat.com with SMTP; 9 Apr 1998 13:21:48 -0000
Received: from linoleum.inria.fr (root@linoleum.inria.fr [128.93.24.87])
	by concorde.inria.fr (8.8.7/8.8.5) with ESMTP id PAA16856
	for <gnome-list@gnome.org>; Thu, 9 Apr 1998 15:21:43 +0200 (MET DST)
Received: from linoleum.inria.fr (guiheneu@localhost [127.0.0.1]) 
by linoleum.inria.fr (8.8.7/8.7.3) with ESMTP id PAA07244 for 
<gnome-list@gnome.org>; Thu, 9 Apr 1998 15:22:10 +0200
Message-Id: <199804091322.PAA07244@linoleum.inria.fr>
X-Mailer: exmh version 2.0zeta 7/24/97
To: GNOME <gnome-list@gnome.org>
Subject: [freeqt] Re: opening Gnome to multiple (windowing) systems
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Thu, 09 Apr 1998 15:22:10 +0300
From: Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>

Don't want to start a religious debate, but I'd like to know 
(at least) Miguel's exact position about the end of the forwarded mail.
It's not the first time I hear that Gnome is totally opposed to
support something (even a bit) different of GTK. 
Mr Robert Roebling <roebling@ruf.uni-freiburg.de> itself (the guy who writes 
wxGTK) told me something like that.

This is one of the main problem of KDE (closed opinions). 
Why does Gnome follows the same path??
 
GTK is not perfect and wxGTK and (future) Harmony have many qualities.
(C++ for example)

	Bertrand.


------- Forwarded Message


To: freeqt@modeemi.cs.tut.fi
Subject: Re: [freeqt] opening Gnome to multiple (windowing) systems
In-Reply-To: > > 
> > It seems that Kde/Troll lobby tries to kill Harmony (at least) with their 
> > last announce. 
> No! No! No! Since I am a kde core member I can ashure you that we
> did not want to kill harmony. We just want to make shure that KDE
> does not stand there without a "free" toolkit at some point 
> and the Trolls wanted to show their commitment to the world of
> free software.
> 
> The idea of the KDE/QT foundation is much much older then harmony
> itself.
> 
  Yeah, sorry about that. Seems I jumped the gun a bit :)

> > Thus, and as Qt is after all a very good library, wouldn't it be
> > possible to make Gnome a platform that would allow anyone to choose its own
> > GUI lib (wxGTK, GTK++ , GTK-- or Harmony) for its Gnome app?

  I would like to see something like this; possibly a modification
of KApplication and suchlike to be Gnome-compatible as well, as soon
as we have some idea what that means.
 
> > Wouldn't be possible to create facility for developpers to port
> > their KDE  softs from close-KDE to an open-Gnome platform.
> > 
> > Why doesn't anybody use wxGTK for its Gnome apps?
> > Why isn't there any link to wxGTK in www.gnome.org?

  Gnome seems unfriendly to a) C++ and b) any other widget set than Gtk.
(or at least a fair number of Gnomers do, which amounts to the same thing)

	Jo



------- End of Forwarded Message

From sopwith@cuc.edu
Received: (qmail 9315 invoked from network); 9 Apr 1998 13:24:30 -0000
Received: from helix.cs.cuc.edu (HELO cuc.edu) (sopwith@207.222.40.128)
  by mail2.redhat.com with SMTP; 9 Apr 1998 13:24:30 -0000
Received: from localhost (sopwith@localhost)
	by cuc.edu (8.8.5/8.8.5) with SMTP id JAA20413;
	Thu, 9 Apr 1998 09:24:02 -0400
Date: Thu, 9 Apr 1998 09:24:02 -0400 (EDT)
From: Elliot Lee <sopwith@cuc.edu>
X-Sender: sopwith@helix.cs.cuc.edu
Reply-To: Elliot Lee <sopwith@cuc.edu>
To: Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>
cc: GNOME <gnome-list@gnome.org>
Subject: Re: opening Gnome to multiple (windowing) systems
In-Reply-To: <199804091227.OAA05655@linoleum.inria.fr>
Message-ID: <Pine.LNX.3.95.980409090913.18849B-100000@helix.cs.cuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 9 Apr 1998, Bertrand Guiheneuf wrote:

> Why doesn't anybody use wxGTK for its Gnome apps?

Nobody is stopping anyone from writing wxGTK apps; it's just that most of
the people who actually write code don't like C++ brain damage and prefer
to use other languages (except Codex there, who refuses to see the light,
and as a result thankfully maintains gtk-- for other C++ users... ;-)

-- Elliot "this C++ thing keeps popping up often enough that I'm going to
write up the reasons why not to use it" Lee

From emily@cornholio.new.ox.ac.uk
Received: (qmail 27684 invoked from network); 9 Apr 1998 13:50:25 -0000
Received: from cornholio.new.ox.ac.uk (emily@163.1.145.145)
  by mail2.redhat.com with SMTP; 9 Apr 1998 13:50:25 -0000
Received: from localhost (emily@localhost)
	by cornholio.new.ox.ac.uk (8.8.5/8.8.5) with SMTP id OAA14691;
	Thu, 9 Apr 1998 14:50:13 +0100
Date: Thu, 9 Apr 1998 14:50:13 +0100 (BST)
From: Joel Dillon <emily@cornholio.new.ox.ac.uk>
To: Elliot Lee <sopwith@cuc.edu>
cc: Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>,
        GNOME <gnome-list@gnome.org>
Subject: Re: opening Gnome to multiple (windowing) systems
In-Reply-To: <Pine.LNX.3.95.980409090913.18849B-100000@helix.cs.cuc.edu>
Message-ID: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

  Of course comments like this are one reason why most of the C++
GUI developers are working on KDE rather than Gnome ;)

> 
> Nobody is stopping anyone from writing wxGTK apps; it's just that most of
> the people who actually write code don't like C++ brain damage and prefer
> to use other languages (except Codex there, who refuses to see the light,
> and as a result thankfully maintains gtk-- for other C++ users... ;-)
> 
> -- Elliot "this C++ thing keeps popping up often enough that I'm going to
> write up the reasons why not to use it" Lee
> 
> 
> -- 
>          To unsubscribe: mail gnome-list-request@gnome.org with 
>                        "unsubscribe" as the Subject.
> 

From raster@redhat.com
Received: (qmail 21260 invoked from network); 9 Apr 1998 14:13:38 -0000
Received: from lacrosse.redhat.com (root@207.175.42.154)
  by mail2.redhat.com with SMTP; 9 Apr 1998 14:13:37 -0000
Received: from trode.redhat.com (root@trode.redhat.com [199.183.24.80])
	by lacrosse.redhat.com (8.8.7/8.8.7) with ESMTP id KAA06273;
	Thu, 9 Apr 1998 10:13:24 -0400
Received: from redhat.com (raster@trode [127.0.0.1])
	by trode.redhat.com (8.8.7/8.8.7) with ESMTP id KAA11124;
	Thu, 9 Apr 1998 10:12:53 -0400
From: raster@redhat.com
Message-Id: <199804091412.KAA11124@trode.redhat.com>
Date: Thu, 9 Apr 1998 10:12:49 -0400 (EDT)
Reply-To: raster@redhat.com
Subject: Re: opening Gnome to multiple (windowing) systems
To: emily@cornholio.new.ox.ac.uk
cc: sopwith@cuc.edu, Bertrand.Guiheneuf@inria.fr, gnome-list@gnome.org
In-Reply-To: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>
MIME-Version: 1.0
Content-Type: TEXT/plain; CHARSET=US-ASCII

On  9 Apr, Joel Dillon shouted:
->    Of course comments like this are one reason why most of the C++
->  GUI developers are working on KDE rather than Gnome ;)

The question: is that a good thing or a bad thing? :)

<flamebait>Raster mumbles something about it being good</flamebait>

->  > Nobody is stopping anyone from writing wxGTK apps; it's just that most of
->  > the people who actually write code don't like C++ brain damage and prefer
->  > to use other languages (except Codex there, who refuses to see the light,
->  > and as a result thankfully maintains gtk-- for other C++ users... ;-)
->  > 
->  > -- Elliot "this C++ thing keeps popping up often enough that I'm going to
->  > write up the reasons why not to use it" Lee
->  > 
->  > 
->  > -- 
->  >          To unsubscribe: mail gnome-list-request@gnome.org with 
->  >                        "unsubscribe" as the Subject.
->  > 
->  
->  

-- 
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
raster@rasterman.com       /\___ /\ ___/||\___ ____/|/\___  raster@redhat.com
Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
+1 (919) 929 9443, 801 4392   For pure Enlightenmenthttp://www.rasterman.com/ 

From cj@styx.phy.vanderbilt.edu
Received: (qmail 25014 invoked from network); 9 Apr 1998 14:17:50 -0000
Received: from styx.phy.vanderbilt.edu (cj@129.59.205.171)
  by mail2.redhat.com with SMTP; 9 Apr 1998 14:17:50 -0000
Received: from localhost (cj@localhost)
	by styx.phy.vanderbilt.edu (8.8.7/8.8.7) with SMTP id JAA14564
	for <gnome-list@gnome.org>; Thu, 9 Apr 1998 09:17:46 -0500
Date: Thu, 9 Apr 1998 09:17:46 -0500 (CDT)
From: "C.J. Beyer" <cj@styx.phy.vanderbilt.edu>
To: GNOME <gnome-list@gnome.org>
Subject: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
In-Reply-To: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>
Message-ID: <Pine.LNX.3.96.980409091307.431I-100000@styx.phy.vanderbilt.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII




On Thu, 9 Apr 1998, Joel Dillon wrote:

>   Of course comments like this are one reason why most of the C++
> GUI developers are working on KDE rather than Gnome ;)

I'll second that.  gtk-- is just not an option yet.  Although I
dont particulary like KDE, I've chosen to use Qt simply because
I feel programming with widgets is much more natural (IMHO) in C++.
Once a month or so I check out gtk-- again, but it is still way
too alpha.


C.J. Beyer
cj@styx.phy.vanderbilt.edu
http://styx.phy.vanderbilt.edu/~cj/

From emily@cornholio.new.ox.ac.uk
Received: (qmail 32347 invoked from network); 9 Apr 1998 14:28:11 -0000
Received: from cornholio.new.ox.ac.uk (emily@163.1.145.145)
  by mail2.redhat.com with SMTP; 9 Apr 1998 14:28:11 -0000
Received: from localhost (emily@localhost)
	by cornholio.new.ox.ac.uk (8.8.5/8.8.5) with SMTP id PAA15038;
	Thu, 9 Apr 1998 15:27:53 +0100
Date: Thu, 9 Apr 1998 15:27:53 +0100 (BST)
From: Joel Dillon <emily@cornholio.new.ox.ac.uk>
To: raster@redhat.com
cc: sopwith@cuc.edu, Bertrand.Guiheneuf@inria.fr, gnome-list@gnome.org
Subject: Re: opening Gnome to multiple (windowing) systems
In-Reply-To: <199804091412.KAA11124@trode.redhat.com>
Message-ID: <Pine.LNX.3.95.980409152129.15012A-100000@cornholio.new.ox.ac.uk>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII



On Thu, 9 Apr 1998 raster@redhat.com wrote:

> On  9 Apr, Joel Dillon shouted:
> ->    Of course comments like this are one reason why most of the C++
> ->  GUI developers are working on KDE rather than Gnome ;)
> 
> The question: is that a good thing or a bad thing? :)
> 
> <flamebait>Raster mumbles something about it being good</flamebait>

  *Grin* Well, that's one point of view of course. My own view is
that C++ coders should be able to do their thing and C programmers should
be able to do a different thing, with a different widget set, but that
their apps should be compatible as far as possible; i.e. I intend to add
support for .gtkrc's to Harmony, as well as support for whatever file
format is used for pixmap themes, whatever OLE-alike the Gnome people
eventually come up with and so on. The gulfs between what C++ coders
want and C programmers want is too great to be bridged by the one widget
set - C coders would probably rather die than write new general-use
widgets in C++ and C++ coders like myself would be infuriated every time
they have to write another 30 lines of code to duplicate features C++
provides with a couple of keywords / every time they try to use
comments prefaced with // / every time they try to put a variable
declaration after the first statement in a block. It's a shame, but there
you go, and having two widget sets able tor un in the same desktop
environment is better than having two incompatible widget sets.

	Jo

From federico@nuclecu.unam.mx
Received: (qmail 24799 invoked from network); 9 Apr 1998 18:09:47 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:09:47 -0000
Received: from luthien.nuclecu.unam.mx.unam.mx (luthien.nuclecu.unam.mx [132.248.29.5])
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) with SMTP id NAA32543
	for <gnome-list@gnome.org>; Thu, 9 Apr 1998 13:09:30 -0500
Received: by luthien.nuclecu.unam.mx.unam.mx (SMI-8.6/SMI-SVR4)
	id NAA07340; Thu, 9 Apr 1998 13:09:44 -0500
Date: Thu, 9 Apr 1998 13:09:44 -0500
Message-Id: <199804091809.NAA07340@luthien.nuclecu.unam.mx.unam.mx>
From: Federico Mena <federico@nuclecu.unam.mx>
To: gnome-list@gnome.org
In-reply-to: <"AckMt1.0.B_1.jjCBr"@mail2.redhat.com> (message from Bertrand
	Guiheneuf on 9 Apr 1998 13:21:51 -0000)
Subject: Re: [freeqt] Re: opening Gnome to multiple (windowing) systems

>  Don't want to start a religious debate, but I'd like to know (at
>  least) Miguel's exact position about the end of the forwarded mail.
>  It's not the first time I hear that Gnome is totally opposed to
>  support something (even a bit) different of GTK.  Mr Robert
>  Roebling <roebling@ruf.uni-freiburg.de> itself (the guy who writes
>  wxGTK) told me something like that.
>
>  This is one of the main problem of KDE (closed opinions). 
>  Why does Gnome follows the same path??
>   
>  GTK is not perfect and wxGTK and (future) Harmony have many qualities.
>  (C++ for example)

One of the original goals of Gnome is to let people use whatever
language they like.  KDE seemed to be aimed at C++ programmers only,
and we thought this was a mistake; people should be allowed to write
programs for their environment in whatever language they like.  Right
now we have stuff that is written in C, C++, Obj-C, Scheme, Perl, and
whatnot.

At the time the Gnome project was started, GTK+ looked like a good
toolkit to use.  The GIMP seemed to be getting good acceptance in the
free software community, and its toolkit was well designed and it was
being actively developed, so it was a good option.

Now for my personal position.

I know that GTK+ is not perfect.  No other toolkit is, for that
matter.  I think the issue is pretty much moot at this point, as GTK+
is a toolkit that you can fix yourself to bring it closer to
perfection.  And people can use it from several languages; I think
that is good.

Personally, I don't like C++.  But that's only my position.  I am
perfectly happy if people contribute code to the Gnome project
regardless of the language they choose.  After all, they are free to
choose.  I am not going to send a foaming mail with the reasons I
dislike C++, because that is another flamewar.

As for Gtk-- and wxGTK, I have no problems with people using them.  If
people feel comfortable programming with them, then let them do it!

>    Gnome seems unfriendly to a) C++ and b) any other widget set than Gtk.
>  (or at least a fair number of Gnomers do, which amounts to the same thing)

I don't know KDE's official position, but following the same line of
reasoning, it looks to me like you could say that it is unfriendly to
a) anything not-C++ and b) any other widget set than Qt ;-)

  Quartic

From miguel@nuclecu.unam.mx
Received: (qmail 7265 invoked from network); 9 Apr 1998 18:26:18 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:26:18 -0000
Received: (from miguel@localhost)
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) id NAA00041;
	Thu, 9 Apr 1998 13:25:55 -0500
Date: Thu, 9 Apr 1998 13:25:55 -0500
Message-Id: <199804091825.NAA00041@athena.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: Bertrand.Guiheneuf@inria.fr
CC: gnome-list@gnome.org
In-reply-to: <199804091322.PAA07244@linoleum.inria.fr> (message from Bertrand
	Guiheneuf on Thu, 09 Apr 1998 15:22:10 +0300)
Subject: Re: [freeqt] Re: opening Gnome to multiple (windowing) systems
X-Mexico: Este es un pais de orates, un pais amateur.


> Don't want to start a religious debate, but I'd like to know 
> (at least) Miguel's exact position about the end of the forwarded mail.

Ok, lets see what the end of the mail says:

>   Gnome seems unfriendly to a) C++ and b) any other widget set than Gtk.
> (or at least a fair number of Gnomers do, which amounts to the same thing)

People: GNOME is not a project to promote a language.  We want to make
free software accessible to regular users.  Actually, since the very
beginning GNOME has tried to be as multi-lingual as possible.  It is
not my job to force people into using my prefered language of the
week. 

Regarding C++: Some people like C++, if they want to use C++ let them
use it (there is C++ code in the gnome tree for example).  

Now.  *I* personally do not like C++, but that is hardly relevant.  I
have some complains about the language, and I try to get people to
know about those problems when I have a chance.  As far as the
software is free (in the sense of the GPL, not in the sense of Qt), I
am happy with it. 

Now, if people want to use an extra layer of toolkit indirection
(wxGTK) for their applications, that is just fine with me.  Now, at
this point GNOME has enough dependencies to add another one (wxGTK) to
the bulid process, so I am not rushing into putting any wxGTK based
application under my charge (I mean, testing, packaging,
distributing).  

Now, wxGTK as a good wrapper is probably not exposing all of the
gtk/gnome components but only those that are required to make the
application portable across wx* family of toolkits, thus wasting the
framework code of gnome-libs.  For example, does wxGTK expose the
gnome-stock functions?  Does it grant access to GnomeApp?  Gtk-XmHTML?

My impression is that this is not the case, and the further we
develop the gnome libraries, the further we will see wxGTK not using
the gnome code.   

Miguel.

From miguel@nuclecu.unam.mx
Received: (qmail 18367 invoked from network); 9 Apr 1998 18:31:15 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:31:15 -0000
Received: (from miguel@localhost)
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) id NAA00088;
	Thu, 9 Apr 1998 13:29:53 -0500
Date: Thu, 9 Apr 1998 13:29:53 -0500
Message-Id: <199804091829.NAA00088@athena.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: emily@cornholio.new.ox.ac.uk
CC: sopwith@cuc.edu, Bertrand.Guiheneuf@inria.fr, gnome-list@gnome.org
In-reply-to: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>
	(message from Joel Dillon on Thu, 9 Apr 1998 14:50:13 +0100 (BST))
Subject: Re: opening Gnome to multiple (windowing) systems
X-Windows: The Cutting Edge of Obsolescence.


>   Of course comments like this are one reason why most of the C++
> GUI developers are working on KDE rather than Gnome ;)

We are not interested in C++ GUI developers.  We are interested in
programmers that care about freedom.  Read my previous posting. 

C++ has got a lot of press attention, just like Windows95 and Java.

C++ happens to have picked up a great name for the language, but it
has a bunch of problems and you would probably be better using
something else.  Anyways, mass-media has more power than we want to
admit.

I used to be a Windows C++ programmer.  I have seen the light :-)

Miguel.

From jim@jimpick.com
Received: (qmail 21838 invoked from network); 9 Apr 1998 18:32:47 -0000
Received: from fleming.jimpick.com (jim@204.209.212.123)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:32:47 -0000
Received: (from jim@localhost)
	by fleming.jimpick.com (8.8.8/8.8.8/Debian/GNU) id LAA22089;
	Thu, 9 Apr 1998 11:31:26 -0700
To: Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr>
Cc: GNOME <gnome-list@gnome.org>, freeqt@modeemi.cs.tut.fi
Subject: Re: opening Gnome to multiple (windowing) systems
References: <199804091227.OAA05655@linoleum.inria.fr>
X-Url: http://www.jimpick.com/
Mime-Version: 1.0 (generated by tm-edit 7.108)
Content-Type: multipart/signed; protocol="application/pgp-signature";
 boundary="pgp-sign-Multipart_Thu_Apr__9_11:31:15_1998-1"; micalg=pgp-md5
Content-Transfer-Encoding: 7bit
From: Jim Pick <jim@jimpick.com>
Date: 09 Apr 1998 11:31:23 -0700
In-Reply-To: Bertrand Guiheneuf's message of "Thu, 09 Apr 1998 14:27:37 +0300"
Message-ID: <873efmkft0.fsf@fleming.jimpick.com>
Lines: 63
X-Mailer: Gnus v5.5/XEmacs 20.4 - "Emerald"
X-Face:  Hz"C77\53<,u1}C~=DFwS#Ddj161XLl6W!3g7xjxh*P'`FF^-IYQXX$a*WC~=^8rvy"~<3z
 UeQqGo&KZe[}lJg`\+SDMGRVIUJ~P,#(=w~yYv{g9i%"k|\J|jYVvv^Bzfwo=@AddrDMO<xV_IAl`(
 TW7;|vH6Kik(,iljluXex0vrnM:SedI@lbAeNvM


--pgp-sign-Multipart_Thu_Apr__9_11:31:15_1998-1
Content-Type: text/plain; charset=US-ASCII


Bertrand Guiheneuf <Bertrand.Guiheneuf@inria.fr> writes:

> Thus, and as Qt is after all a very good library, wouldn't it be
> possible to make Gnome a platform that would allow anyone to choose its own
> GUI lib (wxGTK, GTK++ , GTK-- or Harmony) for its Gnome app?

I like to think that Gnome is open enough for that.  (not my call though)

Using multiple toolkits does raise the issue of increased memory
requirements when you have all those libraries loaded in at once.

Even so, you have to weigh that against the significant duplication of
application writing effort that is going on in the Free Software
community (duplicate apps based on Qt, Gtk, Lesstif, Tk, Athena, AWT,
etc.).

I'd personally be willing to trade some increased memory requirements
to run the Gnome environment in exchange for having integration across
all the pre-existing applications presently written for KDE,
Gnome/Gimp, mozilla, tcl/tk, emacs, etc.  Keep in mind that down the
road, work could also be done to reduce the amount of duplicated code
the various toolkits contain.

Just as I don't believe there is "one true language" - I also don't
believe that there is "one true toolkit" (although Gtk isn't bad).

I do eventually want to see full blown-themes / pluggable
look-and-feel as part of the Gtk environment.  Most toolkits have some
support for theme-like stuff (Qt, Gtk, Tk, Xt, Athena, AWT) - I'm sure
this could be made consistent across all the toolkits if somebody
really wanted to.

I'd bet that if somebody wanted to make a variant of Qt, Tk, etc. that
worked nicely alongside Gtk - none of the guys in the Gnome project
would object.

Cheers,

 - Jim

From miguel@nuclecu.unam.mx
Received: (qmail 25807 invoked from network); 9 Apr 1998 18:35:42 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:35:42 -0000
Received: (from miguel@localhost)
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) id NAA00220;
	Thu, 9 Apr 1998 13:35:13 -0500
Date: Thu, 9 Apr 1998 13:35:13 -0500
Message-Id: <199804091835.NAA00220@athena.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: cj@styx.phy.vanderbilt.edu
CC: gnome-list@gnome.org
In-reply-to: <Pine.LNX.3.96.980409091307.431I-100000@styx.phy.vanderbilt.edu>
	(cj@styx.phy.vanderbilt.edu)
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
X-Home: is where the cat is


> I'll second that.  gtk-- is just not an option yet.  Although I
> dont particulary like KDE, I've chosen to use Qt simply because
> I feel programming with widgets is much more natural (IMHO) in C++.

I would like you to comment more on why "programming with widgets is
much more natural in C++".

I am interested in knowing what C++ does that we can not duplicate.  

I firmly believe that the right solution for doing faster GUI
applications is not coming up with yet-another-widget-model for some
arcane object oriented language, but rather to raise the programming
level.  Tcl/Tk raises the programming level;  Perl and Scheme bindings
for your favorite toolkit are going to give you more power than any
OO-widget setup.

Guess why Delphi and Visual Basic are so used in the Windows world.

Miguel.

From cj@styx.phy.vanderbilt.edu
Received: (qmail 9704 invoked from network); 9 Apr 1998 18:48:49 -0000
Received: from styx.phy.vanderbilt.edu (cj@129.59.205.171)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:48:49 -0000
Received: from localhost (cj@localhost)
	by styx.phy.vanderbilt.edu (8.8.7/8.8.7) with SMTP id NAA16310;
	Thu, 9 Apr 1998 13:48:21 -0500
Date: Thu, 9 Apr 1998 13:48:21 -0500 (CDT)
From: "C.J. Beyer" <cj@styx.phy.vanderbilt.edu>
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
cc: gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
In-Reply-To: <199804091835.NAA00220@athena.nuclecu.unam.mx>
Message-ID: <Pine.LNX.3.96.980409133940.431M-100000@styx.phy.vanderbilt.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII



On Thu, 9 Apr 1998, Miguel de Icaza wrote:
> I would like you to comment more on why "programming with widgets is
> much more natural in C++".
> 
> I am interested in knowing what C++ does that we can not duplicate.  

I really would prefer not to get in a religous was over C and C++.  I
appreciate C.  I programmed with C for many years before I learned C++.
And I still mostly use C for small programs and programs that dont lend
well to an Object Oriented style.  There is nothing that you cannot do in
C.  But it is not about that.  It's about programming in an object
oriented style.  Some programs just work much nicer that way.  And I
merely stated that Gtk-- is not ready, thus programmers who want to
program that way have to choose another toolkit, and Qt is a nice choice.


> Miguel.

C.J. Beyer
cj@styx.phy.vanderbilt.edu
http://styx.phy.vanderbilt.edu/~cj/

From zack@U.Arizona.EDU
Received: (qmail 14104 invoked from network); 9 Apr 1998 18:51:54 -0000
Received: from jamaica.u.arizona.edu (128.196.137.18)
  by mail2.redhat.com with SMTP; 9 Apr 1998 18:51:54 -0000
Received: from u.arizona.edu (zack@RL198-181.ResLife.DHCP.Arizona.EDU [150.135.198.181])
	by jamaica.u.arizona.edu (8.8.8/8.8.8) with ESMTP id LAA22110
	for <gnome-list@gnome.org>; Thu, 9 Apr 1998 11:51:42 -0700
Sender: zack@U.Arizona.EDU
Message-ID: <352D18A7.55BD4EB0@u.arizona.edu>
Date: Thu, 09 Apr 1998 18:51:19 +0000
From: Zack Williams <zdw@U.Arizona.EDU>
X-Mailer: Mozilla 4.04 [en] (X11; U; Linux 2.0.33 i686)
MIME-Version: 1.0
To: gnome <gnome-list@gnome.org>
Subject: Re: opening Gnome to multiple (windowing) systems
References: <199804091412.KAA11124@trode.redhat.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

> The question: is that a good thing or a bad thing? :)

I think that it is a bad thing that most of the C++ programmers are
going to KDE. The majority of colleges (at least here in the US) teach
C++ (or now java) from day one, and people like to use a language
that they know. The KDE project takes advantage of this.

Mainly what KDE has over us is that Qt is fully developed and debuged,
whereas GTK is still in beta. They have fairly complete developer 
tutorials (This is getting a little better on the Gnome front). KDE
also has a complete working setup availible now, and people are more
likely to contribute to something when it becomes very useable (how
big was the linux community before kernel 1.2?) These issues will be
worked out in a matter of time.

I agree with the comment that the KDE developers are not welcome to
outside ideas, which is not the way that you persuade people to use
or contribute to your software. This is the main reason that I use
Gnome instead of KDE (even though I program mostly in C++).

Zack

-- 
#-----------------------------------------------------------------#
# Zack Williams  zdw@u.arizona.edu  http://www.u.arizona.edu/~zdw #
#                                                                 #
# "Criminals today have guns. Soon they will have computers and   #
#       other weapons of mass destruction." - Janet Reno          #
#-----------------------------------------------------------------#

From sopwith@cuc.edu
Received: (qmail 32741 invoked from network); 9 Apr 1998 19:07:08 -0000
Received: from helix.cs.cuc.edu (HELO cuc.edu) (sopwith@207.222.40.128)
  by mail2.redhat.com with SMTP; 9 Apr 1998 19:07:08 -0000
Received: from localhost (sopwith@localhost)
	by cuc.edu (8.8.5/8.8.5) with SMTP id PAA09867
	for <gnome-list@gnome.org>; Thu, 9 Apr 1998 15:06:54 -0400
Date: Thu, 9 Apr 1998 15:06:54 -0400 (EDT)
From: Elliot Lee <sopwith@cuc.edu>
X-Sender: sopwith@helix.cs.cuc.edu
Reply-To: Elliot Lee <sopwith@cuc.edu>
To: gnome <gnome-list@gnome.org>
Subject: Re: opening Gnome to multiple (windowing) systems
In-Reply-To: <352D18A7.55BD4EB0@u.arizona.edu>
Message-ID: <Pine.LNX.3.95.980409150103.6250B-100000@helix.cs.cuc.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 9 Apr 1998, Zack Williams wrote:

> This is the main reason that I use Gnome instead of KDE (even though I
> program mostly in C++).

<hint to everyone who likes C++> Volunteers are needed to make C++
wrappers for the Gnome libraries etc. 

-- Elliot					http://www.redhat.com/
Chicken Little was right.

From jim@jimpick.com
Received: (qmail 12830 invoked from network); 9 Apr 1998 19:17:02 -0000
Received: from fleming.jimpick.com (jim@204.209.212.123)
  by mail2.redhat.com with SMTP; 9 Apr 1998 19:17:02 -0000
Received: (from jim@localhost)
	by fleming.jimpick.com (8.8.8/8.8.8/Debian/GNU) id MAA22862;
	Thu, 9 Apr 1998 12:16:42 -0700
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
Cc: cj@styx.phy.vanderbilt.edu, gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
References: <199804091835.NAA00220@athena.nuclecu.unam.mx>
X-Url: http://www.jimpick.com/
Mime-Version: 1.0 (generated by tm-edit 7.108)
Content-Type: multipart/signed; protocol="application/pgp-signature";
 boundary="pgp-sign-Multipart_Thu_Apr__9_12:16:33_1998-1"; micalg=pgp-md5
Content-Transfer-Encoding: 7bit
From: Jim Pick <jim@jimpick.com>
Date: 09 Apr 1998 12:16:39 -0700
In-Reply-To: Miguel de Icaza's message of "Thu, 9 Apr 1998 13:35:13 -0500"
Message-ID: <87zphuiz54.fsf@fleming.jimpick.com>
Lines: 95
X-Mailer: Gnus v5.5/XEmacs 20.4 - "Emerald"
X-Face:  Hz"C77\53<,u1}C~=DFwS#Ddj161XLl6W!3g7xjxh*P'`FF^-IYQXX$a*WC~=^8rvy"~<3z
 UeQqGo&KZe[}lJg`\+SDMGRVIUJ~P,#(=w~yYv{g9i%"k|\J|jYVvv^Bzfwo=@AddrDMO<xV_IAl`(
 TW7;|vH6Kik(,iljluXex0vrnM:SedI@lbAeNvM


--pgp-sign-Multipart_Thu_Apr__9_12:16:33_1998-1
Content-Type: text/plain; charset=US-ASCII


Miguel de Icaza <miguel@nuclecu.unam.mx> writes:

> I would like you to comment more on why "programming with widgets is
> much more natural in C++".

If you have done a lot of coding with C++, it is very natural.  If you
haven't, it's a drag.

With a good editor (like emacs), a C++ junky can code at the same
levels of abstraction, and at the same speed, as a Scheme junky using
Guile-Gtk.

> I firmly believe that the right solution for doing faster GUI
> applications is not coming up with yet-another-widget-model for some
> arcane object oriented language, but rather to raise the programming
> level.  Tcl/Tk raises the programming level;  Perl and Scheme bindings
> for your favorite toolkit are going to give you more power than any
> OO-widget setup.

I agree, somewhat.

I like to think in terms of "expressiveness".  If we can develop
languages on top of languages that really fit the idea at hand,
application development can proceed at the speed of thought.

But,

The reason application development goes slow is that most programmers
spend 95% (or more) of their time learning new stuff.

Somebody who knows C++ may find it easier to be expressive with some
new libraries built onto C++.  When you add libraries to an object
oriented language, you are increasing the expressiveness of that
language.

Telling them to switch to another language/environment (ie. scheme)
will slow them down, as they have to start from scratch - so they aren't
going to be immediately more expressive.

You can supply them with a high-level, single-purpose, abstracted
language (ie. HTML, XSL), and that may be more productive for certain
tasks than coding in a general-purpose language.  But the size of the
"problem space" at the higher levels is absolutely huge, and there are
very few "standard" high level languages to handle them.

So the bulk of the work still needs to be done at lower levels with
more general-purpose languages.  This is going to be the case for
decades, I am sure (until we get close to real "AI").

Scheme, Perl, C, Objective-C, C++, etc are good general-purpose
languages.  It's a matter of advocacy as to which ones are more
"expressive".  Most things you can do in one; you can also do in the
others.  So I tend to favour building on top of all of them.  People
should use what is most familiar to them.  When those languages reach
their limits, then they can go to the considerable effort of learning
something different.

There are lots of examples of "dead" languages that couldn't reach the
higher levels of expressiveness.

But C++ is anything but dead.  Same goes for Fortan, Basic, and COBOL
(which is employing millions - at least until the Y2K scare is over).

You can't judge the expressiveness of a language by the number of
keystrokes involved - COBOL programmers tend to be fast typists,
that's all.  And a top-notch COBOL programmer could probably crush a
top-notch Scheme programmer at certain types of application problems
(if they were to race head-to-head, starting from nothing).

Cheers,

 - Jim

From jirka@5z.com
Received: (qmail 4408 invoked from network); 9 Apr 1998 20:27:01 -0000
Received: from dt063n16.san.rr.com (HELO 5z.com) (@204.210.38.22)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:27:01 -0000
Received: (from jirka@localhost)
	by 5z.com (8.8.7/8.8.7) id MAA01147;
	Thu, 9 Apr 1998 12:24:53 -0700
Message-ID: <19980409122453.34167@julia.5z.com>
Date: Thu, 9 Apr 1998 12:24:53 -0700
From: George <jirka@5z.com>
To: GNOME <gnome-list@gnome.org>
Subject: Re: opening Gnome to multiple (windowing) systems
References: <Pine.LNX.3.95.980409090913.18849B-100000@helix.cs.cuc.edu> 
<Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.85e
In-Reply-To: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk>; 
from Joel Dillon on Thu, Apr 09, 1998 at 02:50:13PM +0100

>   Of course comments like this are one reason why most of the C++
> GUI developers are working on KDE rather than Gnome ;)

There is nothing stopping them from working on gnome ... the thing is most
C++ people will like Qt better, most C people don't like C++ ...

just because I think everything from emacs to C++ to guile (I can't
think of any more holy war material) is drain bamaged doesn't mean
anything ... it just means I won't use them ...

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

From pbrown@econ.yale.edu
Received: (qmail 14200 invoked from network); 9 Apr 1998 20:33:46 -0000
Received: from net186-182.its.yale.edu (HELO xanadu.local.net) (pbrown@130.132.186.182)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:33:46 -0000
Received: from localhost (pbrown@localhost)
	by xanadu.local.net (8.8.5/8.8.5) with SMTP id QAA21411;
	Thu, 9 Apr 1998 16:33:56 -0400
X-Authentication-Warning: xanadu.local.net: pbrown owned process doing -bs
Date: Thu, 9 Apr 1998 16:33:56 -0400 (EDT)
From: Preston Brown <pbrown@econ.yale.edu>
X-Sender: pbrown@xanadu.local.net
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
cc: gnome-list@gnome.org
Subject: Re: C++
In-Reply-To: <199804091835.NAA00220@athena.nuclecu.unam.mx>
Message-ID: <Pine.LNX.3.95.980409162943.21087D-100000@xanadu.local.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 9 Apr 1998, Miguel de Icaza wrote:

> I am interested in knowing what C++ does that we can not duplicate.  

You can duplicate anything C++ does in C.  cfront, the original C++
implementation, was just a massive pre-processor for the C compiler.  And
the turing problem says they are equivalent, but let's not get into that.
:)

The thing that C cannot duplicate that C++ has, as well as smalltalk,
Objective-C, and other OO languages, is the simplicity and elegance of
object oriented design, particularly inheritance.  Yes, I know you can
simulate it, but it's just not quite as elegant a solution. 

Some will argue that C++ is needlessly complex and allows you to pervert
OO programming.  I might counter that C allows you to do the same thing to
regular structured programming.  BOTH are powerful languages with a great
deal of flexibility.  Both have their places.  Neither one is God.  A good
programmer learns several languages and knows where each has it's place.

There, my piece as a computer scientist has been said.
 
---
 -Preston Brown
  preston.brown@yale.edu
  Yale CS 1998

From jirka@5z.com  Thu May 11 23:52:05 2000
Received: (qmail 14543 invoked from network); 9 Apr 1998 20:34:15 -0000
Received: from dt063n16.san.rr.com (HELO 5z.com) (@204.210.38.22)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:34:15 -0000
Received: (from jirka@localhost)
	by 5z.com (8.8.7/8.8.7) id MAA01176;
	Thu, 9 Apr 1998 12:32:09 -0700
Message-ID: <19980409123209.53757@julia.5z.com>
Date: Thu, 9 Apr 1998 12:32:09 -0700
From: George <jirka@5z.com>
To: gnome-list@gnome.org
Subject: Re: opening Gnome to multiple (windowing) systems
References: <Pine.LNX.3.95.980409144928.14683A-100000@cornholio.new.ox.ac.uk> 
<199804091829.NAA00088@athena.nuclecu.unam.mx>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.85e
In-Reply-To: <199804091829.NAA00088@athena.nuclecu.unam.mx>; 
from Miguel de Icaza on Thu, Apr 09, 1998 at 01:29:53PM -0500

> I used to be a Windows C++ programmer.  I have seen the light :-)

you too? :)

> Miguel.

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

From bruce@triphop.dyn.ml.org 
Received: (qmail 20086 invoked from network); 9 Apr 1998 20:37:04 -0000
Received: from brucemcdonald.erols.com (HELO denebe.hoesit.com) (root@209.122.47.26)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:37:04 -0000
Received: from denebe (bruce@denebe [192.168.1.102])
	by denebe.hoesit.com (8.8.7/8.8.7) with SMTP id QAA30624;
	Thu, 9 Apr 1998 16:32:23 -0400
Date: Thu, 9 Apr 1998 16:32:23 -0400 (EDT)
From: Bruce McDonald <bruce@triphop.dyn.ml.org>
X-Sender: bruce@denebe
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
cc: cj@styx.phy.vanderbilt.edu, gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
In-Reply-To: <199804091835.NAA00220@athena.nuclecu.unam.mx>
Message-ID: <Pine.LNX.3.96.980409153454.28976A-100000@denebe>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


Miguel,

The reason that C++ (or any OO language) is more suited to GUI programming
is that the natural expression of widget hierarchy is by an OO inheritance
model.  That is not to say that KDE uses C++, it is a superset becuase the
"signal-slot" mechanism requires extra keywords.  I understand the need
to avoid C++ (name mangling, longer compile times, shifting language
specification et) for widget set implementation but to call C++ "arcane"
is just bizarre.   C++ has nothing  that SmallTalk, Simula and other
languages have.  In addition C++ has some real neat stuff (that *CAN'T* be
done in  C like templates).  C code has to kludge inheritance whereas C++
supports it (and hides the 'this').  Polymorphism allows programmers to
avoid the C monster switch statements.  Exceptions and RTTI are also
invaluable tools.  Things like the Std C++ library are great - the STL is
fantastic - C just has nothing to answer with.  Another great thing about
C++ is encapsulation which avoids passing critical data pointers as
arguments to functions.

Don't get mw wrong - Perl, Java, Bash, C and C++ are the arrows in  my
quiver and it only with some hesitation that I reach for the C++ arrow
(enough with metaphor!)  But when the code is multi module,
distributed, has clear patterns then its a no-brainer.

As to your question by VB and Delphi are much used (both OO languages ,
well VB isn't really - no inheritance) is that they are environments not
just languages.  Its that simple.  VB is a much touted product of the MS
machine and so on.  Delphi is a fine product and deserves more attention
than it gets.  Although I don't really fancy pascal - those 'begin's and
'end's drive me batty.

Bruce McDonald

 On Thu, 9 Apr 1998, Miguel de Icaza wrote:

>
>> I'll second that.  gtk-- is just not an option yet.  Although I
>> dont particulary like KDE, I've chosen to use Qt simply because
>> I feel programming with widgets is much more natural (IMHO) in C++.
>
>I would like you to comment more on why "programming with widgets is
>much more natural in C++".
>
>I am interested in knowing what C++ does that we can not duplicate.  
>
>I firmly believe that the right solution for doing faster GUI
>applications is not coming up with yet-another-widget-model for some
>arcane object oriented language, but rather to raise the programming
>level.  Tcl/Tk raises the programming level;  Perl and Scheme bindings
>for your favorite toolkit are going to give you more power than any
>OO-widget setup.
>
>Guess why Delphi and Visual Basic are so used in the Windows world.
>
>Miguel.

From raster@redhat.com
Received: (qmail 26480 invoked from network); 9 Apr 1998 20:41:28 -0000
Received: from lacrosse.redhat.com (root@207.175.42.154)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:41:28 -0000
Received: from implant.labs.redhat.com (root@implant.labs.redhat.com [207.175.45.2])
	by lacrosse.redhat.com (8.8.7/8.8.7) with ESMTP id QAA09797;
	Thu, 9 Apr 1998 16:41:27 -0400
Received: from redhat.com (raster@localhost [127.0.0.1])
	by implant.labs.redhat.com (8.8.7/8.8.7) with ESMTP id QAA02363;
	Thu, 9 Apr 1998 16:40:16 -0400
From: raster@redhat.com
Message-Id: <199804092040.QAA02363@implant.labs.redhat.com>
Date: Thu, 9 Apr 1998 16:40:13 -0400 (EDT)
Reply-To: raster@redhat.com
Subject: Re: opening Gnome to multiple (windowing) systems
To: jirka@5z.com
cc: gnome-list@gnome.org
In-Reply-To: <19980409123209.53757@julia.5z.com>
MIME-Version: 1.0
Content-Type: TEXT/plain; CHARSET=US-ASCII

On  9 Apr, George shouted:
->  > I used to be a Windows C++ programmer.  I have seen the light :-)
->  
->  you too? :)

I saw the evil one for who he was and kept away. I wa sbreifly forced
to toil for a semester with the Evil Java gods, and my fruits resulted
in the slowest 3D engine I've ever written... I will never again
consider straying form the one true path that is C (unless it's m68k
assembly in which case I'm there in a flash!) :)

->  > Miguel.
->  
->  George
->  

-- 
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
raster@rasterman.com       /\___ /\ ___/||\___ ____/|/\___  raster@redhat.com
Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
+1 (919) 929 9443, 801 4392   For pure Enlightenmenthttp://www.rasterman.com/ 

From jirka@5z.com
Received: (qmail 7064 invoked from network); 9 Apr 1998 20:51:31 -0000
Received: from dt063n16.san.rr.com (HELO 5z.com) (@204.210.38.22)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:51:31 -0000
Received: (from jirka@localhost)
	by 5z.com (8.8.7/8.8.7) id MAA01245;
	Thu, 9 Apr 1998 12:49:26 -0700
Message-ID: <19980409124926.28935@julia.5z.com>
Date: Thu, 9 Apr 1998 12:49:26 -0700
From: George <jirka@5z.com>
To: GNOME <gnome-list@gnome.org>
Subject: Re: [freeqt] Re: opening Gnome to multiple (windowing) systems
References: <199804091322.PAA07244@linoleum.inria.fr>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.85e
In-Reply-To: <199804091322.PAA07244@linoleum.inria.fr>; 
from Bertrand Guiheneuf on Thu, Apr 09, 1998 at 03:22:10PM +0300

Quoting Bertrand Guiheneuf (Bertrand.Guiheneuf@inria.fr):
> Don't want to start a religious debate, but I'd like to know 
> (at least) Miguel's exact position about the end of the forwarded mail.
> It's not the first time I hear that Gnome is totally opposed to
> support something (even a bit) different of GTK. 
> Mr Robert Roebling <roebling@ruf.uni-freiburg.de> itself (the guy who writes 
> wxGTK) told me something like that.

this gives a fundemental question: what is gnome? .... it's the people
that write it ... so if a person is actively developing gnome he IS
gnome

anyway ... I think that if we start using toolkits not based on GTK the
user interface will suffer from not being very consistent ... and gnome
ui libs will suffer from bloat by supporting too many different toolkits
...

if all the ui toolkits are GTK wrappers (such as GKT-- or wxGTK or V GTK
port) ... then gnome ui libs only support GTK and then the wrappers can
just make small wrappers around gnome widgets ... if we used several
different core toolkits .. the gnome ui stuff would have to be completely
duplicated instead of just "wrapped" around ...

I don't know much about harmony ... if it had been using GTK it should
be easily possible to make it use the gnome ui libs ...

anyway ... I don't think gnome is closed to ideas and languages at all
just the fact that there is support for languages such as perl, scheme,
objective c ... c++ could be there too ... it just means that there are
not enough C++ people around to use and finish gtk-- or use wxGTK and
do gnome wrappers for it ...

>   Gnome seems unfriendly to a) C++ and b) any other widget set than Gtk.
> (or at least a fair number of Gnomers do, which amounts to the same thing)

see above ...

I think that statement is wrong ... gnome by itself isn't unfriendly ...
because there aren't C++ programmers on the gnome team means that
C++ is not gonna be very much loved ...

as for using otehr toolkits then GTK based ones, see above comments on
the duplication of work, bloat and incosistency arguments for that ...
but there seems to be a fair number of GKT based ones for even C++ that
are popping up

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

From jirka@5z.com
Received: (qmail 10850 invoked from network); 9 Apr 1998 20:59:03 -0000
Received: from dt063n16.san.rr.com (HELO 5z.com) (@204.210.38.22)
  by mail2.redhat.com with SMTP; 9 Apr 1998 20:59:03 -0000
Received: (from jirka@localhost)
	by 5z.com (8.8.7/8.8.7) id MAA01276;
	Thu, 9 Apr 1998 12:56:58 -0700
Message-ID: <19980409125658.10998@julia.5z.com>
Date: Thu, 9 Apr 1998 12:56:58 -0700
From: George <jirka@5z.com>
To: gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple 
(windowing) systems)
References: <199804091835.NAA00220@athena.nuclecu.unam.mx> 
<Pine.LNX.3.96.980409153454.28976A-100000@denebe>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.85e
In-Reply-To: <Pine.LNX.3.96.980409153454.28976A-100000@denebe>; 
from Bruce McDonald on Thu, Apr 09, 1998 at 04:32:23PM -0400

> invaluable tools.  Things like the Std C++ library are great - the STL is
> fantastic - C just has nothing to answer with.  Another great thing about
> C++ is encapsulation which avoids passing critical data pointers as
> arguments to functions.

as a person who has used templates and STL for a large project that went
down the tubes .... if I were to do a big program in C++ there would be
4 rules:

1) no templates
2) no STL
3) no multiple inheritance
4) no reference variables

just because all of these will make life hell once stuff starts to go wrong
or specs start to change for your program 

it seems far easier to me to put a nice OO rfamework down for C and then
use it ... (such as the gtk object model) .... starting an OO project
with all teh OO bells and whistles is not as easy in C as in C++ ... but
once you have the OO framework down ... writing new objects that use
that is usually quite trivial, lot more times mroe trivial then in C++

plus C seems to be much more managable in large projects ...as I have
discovered that the hyped C++ reusability just doesn't exist ....

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

From jirka@5z.com
Received: (qmail 21732 invoked from network); 9 Apr 1998 21:04:19 -0000
Received: from dt063n16.san.rr.com (HELO 5z.com) (@204.210.38.22)
  by mail2.redhat.com with SMTP; 9 Apr 1998 21:04:19 -0000
Received: (from jirka@localhost)
	by 5z.com (8.8.7/8.8.7) id NAA01341;
	Thu, 9 Apr 1998 13:02:14 -0700
Message-ID: <19980409130214.11748@julia.5z.com>
Date: Thu, 9 Apr 1998 13:02:14 -0700
From: George <jirka@5z.com>
To: gnome-list@gnome.org
Subject: Re: opening Gnome to multiple (windowing) systems
References: <19980409123209.53757@julia.5z.com> 
<199804092040.QAA02363@implant.labs.redhat.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.85e
In-Reply-To: <199804092040.QAA02363@implant.labs.redhat.com>; 
from raster@redhat.com on Thu, Apr 09, 1998 at 04:40:13PM -0400

Quoting raster@redhat.com (raster@redhat.com):
> I saw the evil one for who he was and kept away. I wa sbreifly forced
> to toil for a semester with the Evil Java gods, and my fruits resulted
> in the slowest 3D engine I've ever written... I will never again
> consider straying form the one true path that is C (unless it's m68k
> assembly in which case I'm there in a flash!) :)

hmmm ... I only spent one summer on writing a windows C++ app ... though
I must admit I even did some coding in VB a long time ago in a
galaxy far, far away ....

it seems much better to solve things programatically then to make up new
syntax for it (the only exception here seems to be perl:)

George

-- 
------------------------------------------------------------------------------
George Lebl <jirka@5z.com> http://www.5z.com/jirka/
------------------------------------------------------------------------------
  The following implements RSA in perl and is illegal to export from the US:

          #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
          $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
          lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

From miguel@nuclecu.unam.mx
Received: (qmail 948 invoked from network); 9 Apr 1998 21:19:06 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 9 Apr 1998 21:19:06 -0000
Received: (from miguel@localhost)
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) id QAA02616;
	Thu, 9 Apr 1998 16:17:10 -0500
Date: Thu, 9 Apr 1998 16:17:10 -0500
Message-Id: <199804092117.QAA02616@athena.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: bruce@triphop.dyn.ml.org
CC: cj@styx.phy.vanderbilt.edu, gnome-list@gnome.org
In-reply-to: <Pine.LNX.3.96.980409153454.28976A-100000@denebe> (message from
	Bruce McDonald on Thu, 9 Apr 1998 16:32:23 -0400 (EDT))
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
X-Mexico: Este es un pais de orates, un pais amateur.


> I understand the need to avoid C++ (name mangling, longer compile
> times, shifting language specification et) for widget set
> implementation but to call C++ "arcane" is just bizarre.

Well, strings are still implemented as chars.  You still do have
buffer overflows, C++ is basically: C + objects + every single
feature they could come up with.

So, the language, unfortunatelly is still too close to the machine.
If you wanted all of those wizbang features, why not start by using a
language that designed things correctly (as the TOM, and Java people
did). 

Now, lets see the rundown of features of C++:

> C++ has nothing that SmallTalk, Simula and other languages have.

It has complex rules.  It does too many implicit things all by
itself. 

> In addition C++ has some real neat stuff (that *CAN'T* be
> done in  C like templates).

Yeah, I have noticed templates.  To compile some Mico source files
(which makes use of templates to some extent) you need 48 megs of ram.
I wonder what will happen in a couple of years when people abuse
templates.

Now, instead of having libraries of precompiled components, with
templates we get the chance to recompile the same code over and over!
Wonder why I had not thought about this before!  It must be useful for
some kind of regression test or something at least. 

Wonder how an X11 compile would be if templates had been available at
the time. 

> Polymorphism allows programmers to avoid the C monster switch
> statements.

False.  You can do this just fine in plain C.  Ever wondered how
Microsoft's COM works?

> Exceptions and RTTI are also invaluable tools.

Those were not around when I learned C++.  I see they have been busy
adding even more features to an already bloated language.  No wonder
the Netscape people avoid so many C++ features to get portable code.

> Things like the Std C++ library are great - the STL is fantastic - C
> just has nothing to answer with.  Another great thing about C++ is
> encapsulation which avoids passing critical data pointers as
> arguments to functions.

I still think that raising the programming level is the right approach
in this context.  

> Delphi is a fine product and deserves more attention than it gets.
> Although I don't really fancy pascal - those 'begin's and 'end's
> drive me batty.

Java is basically ObjectPascal with C syntax.  

Miguel.

From bruce@triphop.dyn.ml.org  Thu May 11 23:52:05 2000
Received: (qmail 21574 invoked from network); 9 Apr 1998 22:12:40 -0000
Received: from brucemcdonald.erols.com (HELO denebe.hoesit.com) (root@209.122.47.26)
  by mail2.redhat.com with SMTP; 9 Apr 1998 22:12:40 -0000
Received: from denebe (bruce@denebe [192.168.1.102])
	by denebe.hoesit.com (8.8.7/8.8.7) with SMTP id SAA00260;
	Thu, 9 Apr 1998 18:09:52 -0400
Date: Thu, 9 Apr 1998 18:09:52 -0400 (EDT)
From: Bruce McDonald <bruce@triphop.dyn.ml.org>
X-Sender: bruce@denebe
To: George <jirka@5z.com>
cc: gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
In-Reply-To: <19980409125658.10998@julia.5z.com>
Message-ID: <Pine.LNX.3.96.980409175142.32287B-100000@denebe>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


This is my last comment on this thread...

On Thu, 9 Apr 1998, George wrote:

>as a person who has used templates and STL for a large project that went
>down the tubes .... if I were to do a big program in C++ there would be
>4 rules:
>
>1) no templates
>2) no STL
>3) no multiple inheritance
>4) no reference variables

Well as a person who has worked on projects using just these technologies
I would recommmend them.  However given the sophistication of some of
these technologies the "minimum-wage" coder is not recommended.
Admittedly these things can be remarkably subtle and can confuse the VB
level coder.  They are power tools, just like 'rm -rf /', and novices can
get hurt.

>just because all of these will make life hell once stuff starts to go wrong
>or specs start to change for your program 

It sounds like the project failed due to lack of management and not
necessarily due to technology.  All it takes is for the project management
to say no to the clients - "That feature will be in the next version".

>it seems far easier to me to put a nice OO rfamework down for C and then
>use it ... (such as the gtk object model) .... starting an OO project
>with all teh OO bells and whistles is not as easy in C as in C++ ... but
>once you have the OO framework down ... writing new objects that use
>that is usually quite trivial, lot more times mroe trivial then in C++

I really don't understand why design an OO library in a non-OO language -
you have to do all the leg work that a modern language does for you.  Plus
you lose encapsulation which, to me, is a big loss.  As for your assertion
that implementing new objects is (lot more) trivial than C++, well that
kind of statement works better when your waving arms are seen in action ;) 

>plus C seems to be much more managable in large projects ...as I have
>discovered that the hyped C++ reusability just doesn't exist ....

Reusability, C++ or whatever, is a hard goal to achieve.  Thats why I
did't mention it.  Reuse requires a special design effort and is
achievable (SF frameworks, Qt, GTK, ET++, OCL and more) in whatever
language.

>George

Bruce.

From bruce@triphop.dyn.ml.org
Received: (qmail 5826 invoked from network); 9 Apr 1998 23:55:26 -0000
Received: from brucemcdonald.erols.com (HELO denebe.hoesit.com) (root@209.122.47.26)
  by mail2.redhat.com with SMTP; 9 Apr 1998 23:55:26 -0000
Received: from denebe (bruce@denebe [192.168.1.102])
	by denebe.hoesit.com (8.8.7/8.8.7) with SMTP id TAA02579;
	Thu, 9 Apr 1998 19:51:26 -0400
Date: Thu, 9 Apr 1998 19:51:26 -0400 (EDT)
From: Bruce McDonald <bruce@triphop.dyn.ml.org>
X-Sender: bruce@denebe
To: Miguel de Icaza <miguel@nuclecu.unam.mx>
cc: cj@styx.phy.vanderbilt.edu, gnome-list@gnome.org
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
In-Reply-To: <199804092117.QAA02616@athena.nuclecu.unam.mx>
Message-ID: <Pine.LNX.3.96.980409181143.32287C-100000@denebe>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

My last comment (I promise)..

On Thu, 9 Apr 1998, Miguel de Icaza wrote:

>Well, strings are still implemented as chars.  You still do have
>buffer overflows, C++ is basically: C + objects + every single
>feature they could come up with.

Well to be pedantic they are *USUALLY* implemented as  char* but since
string is a typedef of bstring<char>, a string can also be wchars.  So you
make the switch way up in the hierarchy and you can use unicode.  Try that
with C and its a major search and replace exercise.  Or preprocessor
trickery.  Choose the hack.

>So, the language, unfortunatelly is still too close to the machine.
>If you wanted all of those wizbang features, why not start by using a
>language that designed things correctly (as the TOM, and Java people
>did). 

Not familiar with TOM but Java unfortunately is owned by a single vendor
(Sun) and is in a state of flux.  Also Java is growing pretty complex
(inner classes, closures, etc) and its classes are becoming pretty
byzantine (you try and keep up with all the developments).  Some of the
design decisions are only now (in 1.1) being sorted out like the events
etc.  I can continue here...

C++ is as close to the machine as you want it to be.  Its all about
design.

>Now, lets see the rundown of features of C++:
>
>> C++ has nothing that SmallTalk, Simula and other languages have.
>
>It has complex rules.  It does too many implicit things all by
>itself. 

Complex rules?!  So what - learn a working set and then code.  C code
trades language complexity for nasty implementation tricks and
gross hacks.  Passing pointers around.  Public structures.  Returning
error codes.  Ugghhh!

>> In addition C++ has some real neat stuff (that *CAN'T* be
>> done in  C like templates).
>
>Yeah, I have noticed templates.  To compile some Mico source files
>(which makes use of templates to some extent) you need 48 megs of ram.
>I wonder what will happen in a couple of years when people abuse
>templates.

People are abusing templates already.  From day one.  That does not mean
that templates are a great way to elegantly solve certain problems.  Smart
pointers come to mind.

>> Polymorphism allows programmers to avoid the C monster switch
>> statements.
>
>False.  You can do this just fine in plain C.  Ever wondered how
>Microsoft's COM works?

False, what do you mean?  Lots of C code revolves around a big switch.
This is a fact.

Microsofts COM runs off an array of function pointers (implemented as a
vtable).  Are you seriously trying to equate C++ virtual functions with
what could only be considered as a C kludge?  Talk about code bloat. 
Anyway COM is hardly a choice I would want to use in order to advocate C
over C++.

>> Exceptions and RTTI are also invaluable tools.
>
>Those were not around when I learned C++.  I see they have been busy
>adding even more features to an already bloated language.  No wonder
>the Netscape people avoid so many C++ features to get portable code.

Well structured exceptions and RTTI are part of the spec now and represent
great features.  Bloated - says who?  Sun, who went off to invent java?  A
modern programming language that implements OO needs to have more language
functions.  Bloated, what compared to C, or Ada, or Modula 3 or even.  C
is "bloated" compared to assembler.

>I still think that raising the programming level is the right approach
>in this context.  

Fair enough, I just don't think that C provides sufficient abstraction for
an application programmer.  And also C's namespace gets more and more
cluttered until hungarian notation and other nomenclature conventions are
required to avoid clashes.

>> Delphi is a fine product and deserves more attention than it gets.
>> Although I don't really fancy pascal - those 'begin's and 'end's
>> drive me batty.
>
>Java is basically ObjectPascal with C syntax.  

No, its more like SmallTalk with C-like syntax.

Bruce

(My last word).

From miguel@nuclecu.unam.mx
Received: (qmail 32111 invoked from network); 10 Apr 1998 18:22:16 -0000
Received: from athena.nuclecu.unam.mx (132.248.29.9)
  by mail2.redhat.com with SMTP; 10 Apr 1998 18:22:16 -0000
Received: (from miguel@localhost)
	by athena.nuclecu.unam.mx (8.8.7/8.8.7) id NAA09969;
	Fri, 10 Apr 1998 13:21:12 -0500
Date: Fri, 10 Apr 1998 13:21:12 -0500
Message-Id: <199804101821.NAA09969@athena.nuclecu.unam.mx>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
To: bruce@triphop.dyn.ml.org
CC: cj@styx.phy.vanderbilt.edu, gnome-list@gnome.org
In-reply-to: <Pine.LNX.3.96.980409181143.32287C-100000@denebe> (message from
	Bruce McDonald on Thu, 9 Apr 1998 19:51:26 -0400 (EDT))
Subject: Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)
X-Windows: It could be worse, but it'll take time.


> >It has complex rules.  It does too many implicit things all by
> >itself. 
> 
> Complex rules?!  So what - learn a working set and then code.  

This is probably fine for a 1-person project.  The person chooses the
subset it feels confortable with and deals with that.  Now, say, in a
20-person project, each one chooses a slightly different language
subset.  Now, try to maintain that. 

> People are abusing templates already.  From day one.  That does not mean
> that templates are a great way to elegantly solve certain problems.  Smart
> pointers come to mind.

Ok, well, I really do not intend to code my next project using
templates if they are going to require me to use a 128-meg machine to
compile the code.

> Lots of C code revolves around a big switch.  This is a fact.

Just non-OO C code.  Old C code perhaps.  We have learned a lot from
the past years.  And no, it does not mean "use C++". 

> Microsofts COM runs off an array of function pointers (implemented as a
> vtable).  Are you seriously trying to equate C++ virtual functions with
> what could only be considered as a C kludge?  Talk about code bloat. 
> Anyway COM is hardly a choice I would want to use in order to advocate C
> over C++.

Exactly, what do you think virtual functions are?

Now, I want you to tell me where the code bloat appers in the C
picture, because I can not figure it out.

> Well structured exceptions and RTTI are part of the spec now and represent
> great features.  Bloated - says who?  Sun, who went off to invent java?  A
> modern programming language that implements OO needs to have more language
> functions.  Bloated, what compared to C, or Ada, or Modula 3 or even.  C
> is "bloated" compared to assembler.

We are not trying to do a rethorics excercise here.  Please, stay
focused.

> Fair enough, I just don't think that C provides sufficient abstraction for
> an application programmer.  And also C's namespace gets more and more
> cluttered until hungarian notation and other nomenclature conventions are
> required to avoid clashes.

Both CORBA and Gtk use a very clean approach, which I have come to
like as of late:

	module_object_method

example:

	gtk_label_set (l, "string");
	
Which describes precisely the action being performed.

The C++ way of doing this is:

	l->set ("string")

Which leaves us with the question of what exactly is "l" and what is
the "set" doing there.

Now, Objective-C goes one step beyond -in the right direction- and
lets you do:

	[l setString: "string"]

Every parameter gets a name, so you always can figure out what is
going on, like in:

	[l setString: "string" withFont: lucida withSize: 5];

Ok, it was a bad example, but nevertheless, it points a nice feature
of Objective-C.

Miguel.