:: Re: [DNG] GTK (was Will there be a…
Top Page
Delete this message
Reply to this message
Author: Isaac Dunham
Date:  
To: T.J. Duchene
CC: dng
Subject: Re: [DNG] GTK (was Will there be a MirDevuan "WTF"?)
On Thu, Jul 23, 2015 at 09:30:04PM -0500, T.J. Duchene wrote:
> On Thursday, July 23, 2015 08:22:55 PM Hendrik Boom wrote:
> > On Fri, Jul 24, 2015 at 12:12:01AM +0200, Teodoro Santoni wrote:
> > > ... but, yeah, it's outside the scope of Devuan. D-Bus just sucks and is
> > > documented on a random basis, when you compare it to the rest of
> > > GNU/Fedora
> > > it's... like GTK: it sucks, there are alternatives but it's a PITA to port
> > > away 'cause a lot of big codebases uses them as foundation.
> >
> > So there are alternatives to GTK: Do any suck less? What are they?
> >
> What's wrong with GTK? I don't care for it, but it is not any worse than
> Microsoft's UI.
>
> There are lots of alternatives. wxWidgets and Qt are the most common
> suggestions, but there are far more esoteric ones. If you are aiming for
> widest portability support, Qt is probably your best bet.
> I don't care for it myself - because it is C++. I do not believe in OOP as a
> decent paradigm for software development. I'm know I am in the minority, but
> I am not alone. Even Google has reined in use of some of the worst features
> of OOP. Programmers working for Google are not allowed to use exceptions.


I'm inclined to agree with you on C++, but I'd like to refer you to Roger
Leigh's comments on the subject about seven and a half months ago;
I'm only appending the first couple screenfuls (which is maybe a third
of the original) but you should be able to find the original email given
the headers and this text.

Appending message:
Date: Sat, 6 Dec 2014 21:51:42 +0000
From: Roger Leigh <rleigh@???>
To: dng@???
Message-ID: <20141206215142.GW1657@???>

On Sat, Dec 06, 2014 at 06:44:01PM +0100, mutek wrote:
> On sabato 6 dicembre 2014 18:32:04 CEST, Mihamina Rakotomandimby wrote:
> >On 12/06/2014 04:57 PM, Hendrik Boom wrote:
> >>On Fri, Dec 05, 2014 at 02:54:09PM +0200, Vlad wrote:
> >>>I would propose that we do not waste any time with GDM, GNOME
> >>>or
> anything
> >>>else that has sprung out of that irresponsible organizations
> >>>other than gtk.
> >>I wasn't aware that GTK had anything to do with that organisation.
> >>Isn't it the Gimp ToolKit?
> >>And isn't the Gimp the GNU Image Manipulation Program?
> >
> >Yes, but the Gimp tool kit has been adopted by the GNOME
> >develoment team to be their toolkit too.
>
> whatever I saw in the industry...GTK it's not taken in account if
> compared with QT,MS-whatever,Java-whatever,HTML5-DOM-canvas-engines,


There are good reasons for that. As a (former) professional GTK+
developer, I have found out the hard way that it's unsuitable for most
projects. Nowadays, unsuitable for almost all projects outside GNOME.

> GTK did a very good job but seems invisible to the world out of the
> free softwares


That's because it's a terrible toolkit, and the number of people who
are experts with it is vanishingly small (and shrinking). It's not a
safe platform on which to build anything serious. Not because it
doesn't work, but because you can't easily hire people, and because
it's the least efficient and worst documented toolkit to work with.
If you want to achieve your own project's goals on time, this matters.

The C API is overly complex and fragile. You don't want to base your
project on a sandcastle. And the expertise required to use it is
very high. Implementing dynamic typing and manual vtable construction
rather than using C++ which does proper type checking? Just use C++!
In fact, you have to be an expert in C++ compiler internals just to be
able to understand and use it effectively. It's like being a master
carpenter and then willingly eschewing your workshop for a rusty swiss
army knife! While you could probably construct something with the
swiss army knife if you try really hard, the workshop will do a
faster, better, more professional job and let you get on with the job
rather than cursing at your inadequate tools every few minutes.

[snip]