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 <pelzflor...@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, 黄羽众 <ih...@163.com 
>> <mailto:ih...@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
_______________________________________________
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to