Re: C++ & gnome (was: Re: opening Gnome to multiple (windowing) systems)




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.



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