Re: Would it be possible that gtk implementation in C++
- From: 黄羽众 <ihyzi 163 com>
- To: Florian Pelz <pelzflorian googlemail com>
- Cc: "gtk-list gnome org" <gtk-list gnome org>
- Subject: Re: Would it be possible that gtk implementation in C++
- Date: Fri, 08 Aug 2014 10:06:28 +0800
Thank you for point out predecessors' question!
I read the question and get some points, but I thinks the situtations change a lot and I am not ask the same
question.
1. I am not ask for why GTK choose to implement in C, I know it have some historical reason. I want to make a
proposal that gtk could be re-written with c++ just as GCC does. I want to discuss with you whether it is a
good idea.
2. Situations change a lot. Back to the time GTK was born, C++ is also very primitive so the developers would
rather implement an object-system by hand. But nowadays C++ is stable and have many cool features especially
in C++11 and the in-coming C++14. C++'s object-system is becoming more and more complete and add many useful
features in GUI development such as exception, multi-threads and so on. I think due to the same reason did
GCC turn to C++.
3. Now, from the view of app developers, who are very likely learned C/C++/Java in classes, and learn
Python/JS/PHP/Nodejs after class. And very probably have experiences coding with QT, HTML5, Android. They
can't be more familiar with OOP and C++. But when they turn to GTK, they have to expand one line in C++ into
three or more lines in C. This will threaten many developers. Although there are gtkmm available, but gtkmm
didn't gain enough official support and recommend as GTK, and much fewer reference, help, support available.
The official recommand is gtk in c rather than gtkmm in c++, so many devlopers read some tutorials and feel
threatened and leave. What's worse, gtkmm didn't wrapper all of the gtk featurese. In some complex cases,
developers have to use the low level gobj pointer to get things done.
Now is in 2014, It can't be more normal to develop GUI application with OOP style. I think it's time to
change.
GTK could be rewritten in C++, and what's more important, GTK should officially recommend to develop apps in
C++, which can't be more familiar to GUI developers.
Sent from MEIZU MX
-------- Original Message --------
From:Florian Pelz <pelzflorian googlemail com>
Time:Fri 8/8 05:23
To:gtk-list gnome org
Subject:Re: Would it be possible that gtk implementation in C++
Hi,
Someone asked this question on Stackoverflow:
http://stackoverflow.com/questions/9747468/why-was-the-gobject-system-created
I think they answer it pretty well. Also, C is much closer to the
hardware and GCC's error messages for C++ are not that great.
On 08/07/2014 10:49 PM, Dub wrote:
tbh, the only reason I use GTK is because it is C.
While C++ is probably a better choice. C allows you to easier
integrate it with pretty much any language of your choosing easily
(Vala, Ruby, PHP (lol), Python, Rust, Go, Perl, Lua, Javascript, etc)
that in itself is a really good reason.
On Thu, Aug 7, 2014 at 12:22 PM, 黄羽众 <ihyzi 163 com
<mailto:ihyzi 163 com>> wrote:
For the past few time, I am using gtkmm to development GUI
application, and I am really enjoy it.
I know that choose C as its implementation language makes gtk gain
a wonderful performance,
but recently GCC turn to C++.
https://gcc.gnu.org/gcc-4.8/changes.html
I think that as a complier which have to think a lot about
performance, it turn to C++ for code elegance and development speed,
a GUI application have no reason to continue using C stuff.
Actually gtk implement a object system as its essential part, that
did prove that GUI application need a object-oriented design.
And C++ could provide this as a language level feaure, needless to
implement it in application code.
So I suggest that it is possible to develop gtk in c++ as
main-line support?
Unlike gtkmm, which is just a wrapper from c++ to c, turn to c++
in main-line means a lot.
GCC choose this and get good result, I think gtk could have a try.
_______________________________________________
gtk-list mailing list
gtk-list gnome org <mailto:gtk-list gnome org>
https://mail.gnome.org/mailman/listinfo/gtk-list
_______________________________________________
gtk-list mailing list
gtk-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-list
_______________________________________________
gtk-list mailing list
gtk-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]