Re: Steps to get to GTK+ 3.0



On Thu, 2008-06-05 at 08:59 +0200, Jean-Yves Lefort wrote:
> 
> Sure, both systems need some reflection capabilities, which neither C
> nor C++ support natively. I don't see how this point would debunk the
> fact that C++ is a more expressive language than C, and that writing
> an object-oriented application in C++ is generally easier and more
> pleasant than writing it in C.

That's objective.  However, what I was saying was that C++ is no magic
bullet.  As people pointed out countless times, gtkmm is your friend.


> I know that C++ has its share of issues, and I do understand why in
> the nineties, the GLib people decided to use C and not C++. I actually
> agree with their decision. Yet, if some people claim that "Qt is
> superior because it chose C++", trying to disprove them with the above
> argument is like trying to oppose general relativity with "because my
> aunt Lilly likes to drink tea".

What I'm trying to disprove is the statement "GObject is eternally
doomed because it's written in C".  gtkmm being point in case.


> > Next, the preprocessing myth.  Source code using Qt is written into
> > files with the .moc extension.  Then the .moc file is *copied intact*
> > into a C++ file.  Let me repeat: no rewriting done.   And their custom
> > symbols (signals, slots, Q_OBJECT, Q_PROPERTY) are simple macros.  Their
> > moc compiler processes the moc source and creates another source file,
> > containing the class metadata, and that's linked into the project.
> >
> > This is where it confuses people.  Qt could as well say "write proper C
> > ++" and we just scan the .cc files straight.  Not sure why, perhaps to
> > make build setup easier, they decided to call their dialect of C++
> > moc.
> >
> > Now, people think GObject doesn't do the same.  We do.  Slightly
> > differently.  In that:
> > 
> >   * We use plain .c for our GObject code.  No .go.
> > 
> >   * We don't use macros to add extra metadata to our classes or other
> > types.  Guess what we use then?  Surprise! Comments indeed.  If you are
> > not sure what I'm talking about, check glib-mkenums and
> > glib-introspection.
> 
> Are you trying to suggest that Qt and GObject are on par with regard
> to ease of use because GLib has tools for auto-generating enums,
> marshalers and a few other things? Don't answer, see the code examples
> at the end of this message.

No.  I'm saying that there's no reason why GObject can't be made like
Qt, if people wanted it to.  That the design doesn't prohibit that.  I'm
by no means saying that it's already like Qt.


> I hope you'll pardon me the following paternalistic advice, but I
> believe that it would be good for you to cut down on some of the
> zealotry when defending a pet project. If you honestly acknowledge the
> areas in which GLib is weaker, that will be put to your credit. But
> continuing to claim that the earth is flat despite all evidence to the
> contrary is rather unproductive.

I don't appreciate your language, and others don't either.  See:

  http://live.gnome.org/CodeOfConduct

If you can't discuss decently and on a technical ground without offering
unsolicited personal advice, you may as well leave this list.  Take this
as second notice.


> > So, the "technological gap" mentioned in this thread, namely,
> > 
> >       Q_PROPERTY(type name
> >                     READ getFunction
> >                     [WRITE setFunction]
> >                     [RESET resetFunction]
> >                     [DESIGNABLE bool]
> >                     [SCRIPTABLE bool]
> >                     [STORED bool]
> >                     [USER bool])
> > 
> > Is not much technological (Q_PROPERTY expands to empty when compiling),
> > as opposed to attitude.  GObject maintainers do not like changing the
> > syntax of the native language (C), while Qt developers don't mind adding
> > arbitrary syntax as long as it makes it feel more comfortable.
> 
> To the contrary, there is a significant technological difference. You
> can use a bicycle to travel from city A to city B, or you can instead
> use a jet-powered aircraft.

Whatever.  I made my point.

-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759



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