[rescue] Mozilla Firefox

Dave McGuire 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 
programming:

   "Here, student...write a piece of code that gets a customer record 
from this database given a customer name."  ...student dutifully writes 
said code.

   "Here, student...write a piece of code that gets a list of all 
customer names in the database."  ...student dutifully writes said 
code.

   "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

--
Dave McGuire          "PC users only know two 'solutions'...
Cape Coral, FL          reboot and upgrade."    -Jonathan Patschke



More information about the rescue mailing list