Arnt Karlsen writes:

 > ..why _is_ FG written in C++ and not C?

I'm going to limit myself to one public posting in this thread and
will send any further responses offline.

I very much doubt that I would be contributing to FlightGear if it
were written in C rather C++.  I wrote my first large (>10K lines) C
program in 1987-88, so this is not from lack of experience.  I've
noticed in working on large projects for customers that large
applications are 2-5 times as fast to develop and debug in Java as in
C++, and about 2-5 times as fast to develop and debug in C++ as in
C.  I'd love to do FlightGear in Java (framerate be damned), but since
I get little support, I can settle for C++.

You *can* write and debug a large application in C, but it's
unnecessarily hard -- just look at Gnome and GTK, which end up
reinventing most of C++ in non-standard syntax, to see how ugly things
can get.  Big programs have to be object-oriented one way or another
-- either you use C++'s standard way of doing it, or you reinvent the
wheel in C with some goofy macro-based stuff.  Note how C-based Gnome
development procedes at a snail's pace next to C++-based KDE (I use
and like Gnome, but I won't code against it), and Linux kernel
development isn't all that fast these days either.

Finally, while there may be more C programmers than C++ programmers,
the C programmers would have to be very, very good to keep FlightGear
from melting down into a formless blob while the C++ programmers need
only average skill.  In the end, I think we end up with a bigger
talent pool this way.

All the best,


David Megginson

Flightgear-devel mailing list

Reply via email to