[rescue] Mozilla Firefox

Joshua Boyd jdboyd at jdboyd.net
Thu Apr 22 12:33:06 CDT 2004


On Thu, Apr 22, 2004 at 12:35:09AM -0400, Dave McGuire wrote:

> >I blame OO.
> 
>   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.

I don't think it is that poor of a mapping.  Sure all of today's
processors are procedural, but still many paradigms run well with modern
compiler technology.  Using a different paradigm shouldn't excuse one
from having an understanding of how it works out procedurally though. 

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

<snip>

Of course, that teaching/grading method would have the same results even
if the language at hand was assembly.

> they've written.  People are getting so far away from the actual 
> computer that they have no idea how to write code that uses it 
> efficiently.  This is a BIG mistake.

No argument here.  Though you shouldn't have to be very close to the
hardware to realize that opening 20 connections is slower than one
connection, or loading 20 images is slower than loading two.
 
>   The same problem exists with Perl...It has a lot of very high-level 
> constructs, like associative arrays for example, which make application 
> development (as if anyone should be developing *applications* in a 
> scripting language, but that's another story) much easier.  The
> trouble 

You mean like the way autocad, emacs, and a good number of other
applications are written?  I thought writing applications in scripting
languages was the unix way?

>   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?

I really don't exactly know how they manage to do it.  One example
though is that it used to be in Nautalis, it would reload every pixmap
many times rather than just once when you changed the folder you were
looking at.

Also, while it isn't C++, they have found a way to implement inheritance
and dynamic binding in C.  It was somewhat handy in GTK 1.2.  But in
GNOME and GTK2.0, they've managed to make it slow and annoying. 

On a side note, the C++ bindings seem to always be way behind and buggy.



More information about the rescue mailing list