[rescue] Mozilla Firefox

Peter Corlett abuse at cabal.org.uk
Thu Apr 22 11:56:28 CDT 2004

Dave McGuire <mcguire at neurotica.com> wrote:
> OO is at fault a lot of the time, I think. All mainstream computer
> processors are purely procedural in nature, not object-oriented...OO code
> just doesn't map to these processors all that well.

Not entirely fair. I mostly got interested in OOP when I could see the
relationship between the code and the raw hardware. In C++, you lose some by
having an extra layer of indirection sometimes, you win by having a Big
Bastard Optimiser on the job.

> But a big issue isn't OO itself, but how people are *taught* OO
> programming:

The problem is that people are taught Java, presumably as an example of a
modern programming language, and the students decide that they never need to
learn anything else because they've got a degree now.

[Tale of a SQL database being bodged into OOP.]

Well, I'm not going to argue with that.

Clearly, the programmer has failed to take a more holistic approach to the
problem, and they should be wrapping or formulating more complex SQL queries
than they have done.

Sometimes people take the idea of code reuse a little *too* far, and write
code that is "reusable", but not actually usable for anything.

> However...Gnome in particular, I've been told several times, is written in
> C...not C++. I've not verified this due to lack of motivation, but I have
> to wonder, assuming it's true...how on Earth do they manage to get C (not
> C++) code to be that big and that slow?

Because they're badly implementing C++ features in C?

To see how one can write an OO graphics toolkit efficiently, look at MUI on
the Amiga (just ignore the horrible BOOPSI stuff). Even so, the authors were
apologetic that it might be a little bit slow on a 7MHz 68000 with only 1MB
of RAM, but that it ought to still work. It worked lovely on the 14MHz 68020
machines though. And it was rather more featureful than, say, Java's AWT.

PGP key ID E85DC776 - finger abuse at mooli.org.uk for full key

More information about the rescue mailing list