GFC Logo GFC Title Logo
HISTORY


Home
Home
News
News
History
History
FAQ
FAQ
Download
Documentation
Download
Download
Contact
Contact
Links
Links



In the beginning...
My name is Jeff Franks. I'm a C++ programmer first, and a C programmer only when I have to be. My discovery of Linux several years ago came at a time when I was fed up with the Windows operating system. Linux presented me with a whole new programming experience and whole new learning curve.  I went looking for a C++ application framework and found the two main ones QT,  and Gtkmm (then Gtk--). QT was good, comprehensive, and reminded me a lot of Borland's OWL but then QT was still a proprietary library, and not released under the GPL as it is now. I started trying to write a program with Gtkmm but found too many bugs. I made an effort to discuss the bugs and help fix them but my novice emails were repeatedly ignored on the Gtkmm mailing list. I gave up and bought a GTK+ programming book by Donna Martin, et al., and set about learning GTK+. I soon realized that GTK+ wasn't too difficult and decided to try and write a C++ framework for it as I learnt.

The evolution of GFC...
I began writing the GCode library in early 2000, about the time that GTK+ development version 1.3.1 was released. I had written a C++ application framework  before, for the Windows operating system, but was never able to complete it because the operating system and its C API kept changing, and it was too expensive to keep up. Linux gave me the opportunity to not only write and complete a C++ application framework but to also learn GTK+ programming at the same time. I chose GTK+ because I felt it gave me the best opportunity to make an open source contribution.

Unfortunately for GCode there was a CAD program by the same name, so I had to find a new name, not an easy task!  I approached Havoc Pennington who kindly agreed to let me use the name Inti, originally a set of C++ foundation libraries written by him but no longer in active development. Inti was the original library on which GCode was based. For historical interest, the original Inti web site is still online and can be viewed here.

Under the new project name, Inti: Integrated Foundation Classes, stable versions up to 1.2.0 were released. During the development of the Inti 2.0 source code base I decided to change the project name to GTK+ Foundation Classes because it better reflected its usage as a GTK+ language binding. To get this name Inti had to merge with two abandoned projects, GFC: GNU/GTK Foundation Classes and GFCLIB: GNU/GTK Foundation Classes. GFC 2.0 is the first release under the newly merged project.

The philosophy behind GFC...
The GFC library is a compact but comprehensive C++ wrapper around the GTK+ library. It judiciously uses C++ language features and does not layer on too much extra C++ complexity. The GFC API is easy to understand and use, and should feel immediately familiar to most GTK+ programmers.

Throughout its development GFC has  maintained a good balance between remaining faithful to GTK+ and remaining faithful to C++. Hence the catchphrase in the home page logo - the power of gtk+ . the power of c++.

If you take the time to use the new GFC 2.0 library you will discover it has a well designed interface that's easy to use, and doesn't compromise on any essential C++ features. Rather than hide the GTK+ programming paradigm, GFC carefully integrates it into a C++ application framework that should feel familiar C programmers, letting them use all the GTK+ concepts they're already familiar with. There is nothing too complex about GFC's implementation so it should be usable by everyone. Give it a try and see what you think. You will be pleasantly surprised.