From: Adrien Nader <adrien@notk.org>
To: Gour <gour@atmarama.net>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Re: OCaml vs Ada and/or GUI options
Date: Wed, 11 Sep 2013 20:17:37 +0200 [thread overview]
Message-ID: <20130911181737.GA3764@notk.org> (raw)
In-Reply-To: <20130911101457.3f756b68@atmarama.noip.me>
On Wed, Sep 11, 2013, Gour wrote:
> On Wed, 11 Sep 2013 07:24:37 +0200
> Adrien Nader <adrien@notk.org> wrote:
>
> > I'm trying to get a list of things that people find bad in (labl)gtk.
> > Would you be able to put clear words on what you dislike?
>
> I can't say much about lablgtk, but as far as gtk is concerned, I
> believe there is no future for it multi-platform wise.
>
> Have you read/seen:
>
> http://lwn.net/Articles/562856/
> http://www.superlectures.com/guadec2013/gtk-to-infinity-and-beyond
I hadn't, thanks for the link. I skipped the video and went a bit
quickly through the lwn article (hopefully, lwn articles are
well-written and you only need to read a few words of a paragraph to
kwow whether you want to skip it or not).
I'm going to quote or paraphrase 3 paragraphs of the lwn.net article and
comment them. I think it's the ones that matter the most for the current
topic.
> People often ask why they should port an application from GTK2 to GTK3,
> Otte said. His answer historically was that GTK3 is awesome and everyone
> should port, but he said he has begun to doubt that. The truth is that
> GTK2 is stable and unchanging, even boring—but that is what some
> projects need. [...]. The real reason someone should port to GTK3
> today, he concluded, is to take advantage of the new features that
> integrate the application with GNOME 3—but doing so means committing to
> keeping up with GNOME 3's pace of change, which is intentionally bold in
> introducing new features.
I've been meaning to work on GTK+3 support lablgtk for a while but each
time I look at it, it's a lot of work. A lot has changed many things are
better, even if only under the hood. However that means work to get
lablgtk3 and the more the changes are under-the-hood, the less their
counterpart in lablgtk can be automatically generated (binding a new
widget function or a new signal in lablgtk is trivial).
> Eventually, he said, he hopes that GTK+ will reach a point where the
> bold experiments are done. This will be after the scene graph and
> gesture support, but it is hard to say when it will be. Afterward,
> however, Otte hopes to make a GTK4 major release, removing all of the
> deprecated APIs, and settling on a GTK2-like stable and unchanging
> platform. The project is not there yet, he said, and notably it will
> keep trying to be bold and add new things until application developers
> "throw enough rocks" to convince them to stop. The rapidly-changing
> nature of GTK3 is a headache for many developers, he said, but it has to
> be balanced with those same developers' requests for new features like
> gesture recognition and Clutter integration.
I don't think many people will disagree with the above. Benjamin Otte is
one of the leading devs of the GTK+ ecosystem and I usually agree with
him: his opinions are well-thought and his decisions are balanced.
It's fairly reassuring that they plan to make something stable after
that. I hope for everyone that this holds. By the time they reach the
end of GTK3, they should notice that it's necessary; again, I hope.
> Otte's statements that GTK+ was a "GNOME first" project were frequently
> a topic for debate at the rest of GUADEC. One audience member even asked
> him during his talk whether this stance left out other major GTK+-based
> projects like LXDE and Xfce. Otte replied that he was not trying to keep
> those projects out; rather, since GNOME developers do the majority of
> the GTK+ coding, their decisions push GTK+ in their direction. If other
> projects want to influence GTK+, he said, they need to "participate in
> GTK+ somehow," at the very least by engaging with the development team
> to communicate what the projects want.
I've had troubles engaging with the GTK+ community. Maybe I should have
tried the mailing-lists instead of only IRC but they are active on IRC
and I'd expect to get at least some reaction but I had lots of troubles
getting any. If I'm trying to work for free, don't make me work more in
order to do the work.
I left with the strong impression that they all know each other and that
if you're not already part of the circle, you're going to have troubles
communicating with them.
(note that the same can apply to Qt even though it seems to be a bit
better)
On Wed, Sep 11, 2013, Gour wrote:
> Otoh, Qt project is strongly positioned with many devs, actively
> developed, no problem with the license etc. and my humble suggestion is
> to put lablgtk into maint. mode and focus, as community, on providing
> lablqt to attract new users to write GUI apps in such a fine language as
> OCaml.
Well, no.
I'm going to mostly repeat what I wrote on IRC (I was at work; I leave
my laptop along with my SSH keys and passwords at home).
I think you can easily understand that not many people would drop a
project they're working on (even infrequently) and switch to some kind
of "competitor".
But apart from that, I dislike Qt.
- I don't want to use moc or anything similar
- I dislike their deep class hierarchy
- their deep class hierarchy is a difficulty for bindings (how do you
make it possible to implement from OCaml the virtual protected method
in super^5? see the timers for example)
- I dislike their API
- I dislike the "automatic" widget placement and (re)sizing; GTK+'s
hbox/vbox are much easier to use, with a result that I prefer
- I dislike qmake
- I feel like I'm using a framework when I use Qt
I'll skip the part where I'm tempted to mention being gagged with a
smurfette while using several of the things mentionned above (I'm sure
you can look it up if you want).
I'm much more interested in bindings to the EFLs[1]. It's C and the
direct result is that you already have bindings even though fairly
little time has been spent on them. It's much smaller, it's fast, the
API is fairly small and, at least for the EFLs 1.7, the typing used on
the C side is so inexistant that I'm sure it will be easy to provide an
awesome high-level layer bindings on top of it.
Oh and the community is welcoming, with many French people, i.e. that
you can actually threaten with a baseball bat. :)
[1] https://forge.ocamlcore.org/projects/ocaml-efl/
(there's also GraphicsPP, an implementation of the Graphics module but
with the Evas library instead)
--
Adrien Nader
next prev parent reply other threads:[~2013-09-11 18:17 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-10 21:09 [Caml-list] " Gour
2013-09-10 21:38 ` Paolo Donadeo
2013-09-11 5:24 ` Adrien Nader
2013-09-11 7:21 ` Kakadu
2013-09-11 8:21 ` [Caml-list] " Gour
2013-09-11 8:14 ` Gour
2013-09-11 18:17 ` Adrien Nader [this message]
2013-09-11 19:31 ` Gour
2013-09-11 19:53 ` Adrien Nader
2013-09-11 20:41 ` Gour
2013-09-11 21:01 ` Adrien Nader
2013-09-12 5:44 ` Gour
2013-09-12 6:31 ` Adrien Nader
2013-09-12 5:36 ` Gour
2013-09-12 6:48 ` Adrien Nader
2013-09-12 7:26 ` Gour
2013-09-11 20:06 ` Jon Harrop
2013-09-11 20:48 ` Anthony Tavener
2013-09-11 21:04 ` Adrien Nader
2013-09-12 14:40 ` [Caml-list] " Jon Harrop
2013-09-12 14:51 ` Alain Frisch
2013-09-12 14:57 ` Lukasz Stafiniak
2013-09-12 15:04 ` Alain Frisch
2013-09-14 3:05 ` Jon Harrop
2013-09-14 7:10 ` Kakadu
2013-09-14 11:37 ` Jon Harrop
2013-09-15 8:32 ` Kakadu
2013-09-14 23:51 ` Francois¡¡Charles Matthieu¡¡Berenger
2013-09-11 22:17 ` [Caml-list] " Richard W.M. Jones
2013-09-12 13:49 ` [Caml-list] " Jon Harrop
2013-09-12 13:58 ` Richard W.M. Jones
2013-09-11 9:49 ` David MENTRE
2013-09-11 10:14 ` Kakadu
2013-09-11 15:21 ` David MENTRE
2013-09-12 1:31 ` Francois Berenger
2013-09-11 18:43 ` Adrien Nader
2013-09-11 18:36 ` Adrien Nader
2013-09-11 19:34 ` [Caml-list] " Gour
2013-09-11 19:45 ` Adrien Nader
2013-09-11 22:06 ` [Caml-list] " Jacques Garrigue
2013-09-12 3:25 ` Ivan Gotovchits
2013-09-12 6:41 ` Adrien Nader
2013-09-12 11:49 ` Gerd Stolpmann
2013-09-11 19:17 ` [Caml-list] " Gour
2013-09-11 22:03 ` [Caml-list] " Jacques Garrigue
2013-09-12 8:16 ` Alain Frisch
2013-09-11 12:26 ` Jon Harrop
2013-09-11 18:48 ` Adrien Nader
2013-09-11 13:22 ` Paolo Donadeo
2013-09-11 13:33 ` Kakadu
2013-09-11 14:09 ` Paolo Donadeo
2013-09-11 19:36 ` Jon Harrop
2013-09-11 19:45 ` [Caml-list] " Gour
2013-09-12 12:55 ` [Caml-list] " Jon Harrop
2013-09-11 18:57 ` Adrien Nader
2013-09-11 19:01 ` Rudi Grinberg
2013-09-11 19:15 ` Adrien Nader
2013-09-11 8:10 ` [Caml-list] " Gour
2013-09-11 1:00 ` [Caml-list] " Francois Berenger
2013-09-11 5:07 ` rixed
2013-09-11 8:26 ` [Caml-list] " Gour
2013-09-11 9:23 ` rixed
2013-09-11 12:54 ` Leo White
2013-09-11 12:59 ` Gour
2013-09-11 19:06 ` Adrien Nader
2013-09-11 8:16 ` Gour
2013-09-11 9:00 ` Francois Berenger
2013-09-11 19:19 ` Gour
2013-11-17 20:12 ` [Caml-list] " Gour
2013-09-11 7:38 ` Gabriel Kerneis
2013-09-11 8:20 ` [Caml-list] " Gour
2013-09-11 11:42 ` Gerd Stolpmann
2013-09-18 11:42 ` [Caml-list] " Gour
2013-09-18 12:24 ` Gerd Stolpmann
2013-09-20 4:47 ` Gour
2013-09-19 8:11 ` Alain Frisch
2013-09-19 8:30 ` Daniel Bünzli
2013-09-19 8:47 ` Andreas Rossberg
2013-09-20 4:51 ` Gour
2013-09-20 12:04 ` Gerd Stolpmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130911181737.GA3764@notk.org \
--to=adrien@notk.org \
--cc=caml-list@inria.fr \
--cc=gour@atmarama.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox