|
|
|
History
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|