[rescue] Mozilla Firefox
mcguire at neurotica.com
Wed Apr 21 23:35:09 CDT 2004
On Apr 22, 2004, at 12:06 AM, Kevin Loch wrote:
>> The software industry has gone mad. This is way beyond any
>> "conspiracy to
>> sell bigger disk drives". Poor old Mel must be spinning in his grave.
> 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.
But a big issue isn't OO itself, but how people are *taught* OO
"Here, student...write a piece of code that gets a customer record
from this database given a customer name." ...student dutifully writes
"Here, student...write a piece of code that gets a list of all
customer names in the database." ...student dutifully writes said
"Here, student...now that the computer knows how to do those things,
write a piece of code that gets ALL customer records from the
database." ...student writes a routine that gets all the customer
names, and iterates over them retrieving each record individually,
beating the ever-living crap out of the database server in the
process...when the *correct* way to do it would be with a single query
that returns all records, then parse the result. But the student gets
an "A" because he followed the teacher's instructions, and now he
thinks he knows how to write software. And voila, yet another
pimply-faced youth sits in a cubicle churning out page after page of
abysmally slow Microsoft Visual C++ code.
OO is *too* high-level for most applications to perform well when
written by 90% of the worlds [educated but inexperienced] programmers,
in my opinion. The fact that most of these people don't know how
computers *work* exacerbates the problem...how many of these people
have programmed in assembler? Essentially zero...so they have no idea
of how much work the computer has to go through to execute the code
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.
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
is, these people treat those things as if they were "primitives" (or
individual processor instructions) that have no cost in terms of
resources. "C sucks because it doesn't have associative arrays!" some
of these kids scream. They Just Don't Get It.
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?
Dave McGuire "PC users only know two 'solutions'...
Cape Coral, FL reboot and upgrade." -Jonathan Patschke
More information about the rescue