Foundations of GTK+ Development
Hi fellow-devs I am new to GTK, and now that GTK+ 3 is here, I found a book published in 2007 by A. Krause called "Foundations of GTK+ Development", I just want to know whether this book is still good to get the hang of GTK+ 3 library ?
--- demicoder
On Mon, 2012-08-27 at 21:05 +0530, Arshdeep Singh wrote:
I am new to GTK, and now that GTK+ 3 is here, I found a book published in 2007 by A. Krause called "Foundations of GTK+ Development", I just want to know whether this book is still good to get the hang of GTK+ 3 library ?
I haven't read that book in particular, but in general, GTK 3 didn't change that much. It mostly was about removing API that wasn't future proof for GTK 4. The biggest change is that most variables need to be accessed with accessors instead of directly. I'd imagine that most books would have taught that already, so they'd still be reasonably useful for learning GTK.
Good luck! Ted
In case you want a tutorial of GTK+ 3 (or rather the C++ bindings, gtkmm 3) there's a fairly good online book here: http://developer.gnome.org/gtkmm-tutorial/stable/
Regards, Krzysztof
I have a few beginner-curiosity questions: A.) gtkmm is a C++ wrapper for GTK+ , then what language was GTK+ written in ? C ? B.) Which is the language majorly used in the InkScape codebase ?
Thankyou for the help !
On Tue, Aug 28, 2012 at 2:42 AM, Krzysztof Kosiński <tweenk.pl@...972.....> wrote:
In case you want a tutorial of GTK+ 3 (or rather the C++ bindings, gtkmm 3) there's a fairly good online book here: http://developer.gnome.org/gtkmm-tutorial/stable/
Regards, Krzysztof
2012/8/28 Arshdeep Singh <moduli16@...400...>:
I have a few beginner-curiosity questions: A.) gtkmm is a C++ wrapper for GTK+ , then what language was GTK+ written in ? C ?
Yes, GTK+ is written in C. It's based on the GObject type system, which is a Java-like object system implemented in pure C.
GTK+ uses C instead of C++ to guarantee binary compatibility of new releases of the library with old programs and allow easy creation of bindings. Both of these goals are extremely hard, if not impossible, to achieve in C++.
B.) Which is the language majorly used in the InkScape codebase ?
I would estimate 50% C, 35% C++ and 15% other languages, e.g. Python. lib2geom, the geometry library, is 95% C++ with some leftover code in C.
The quality of code varies wildly. The old path manipulation library (livarot) is badly designed and practically incomprehensible, while the XML tree and parts of lib2geom are fairly good.
Regards, Krzysztof
participants (3)
-
Arshdeep Singh
-
Krzysztof Kosiński
-
Ted Gould