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