On Feb 9, 2010, at 9:14 AM, Patrick Finnegan wrote:
> Here,
here. The thing that impressed me about FORTRAN (well, as
> as science major, anyway) was that it could do complex numbers as
> a *NATIVE* datatype!! Now, I know for you OOP and C++ guys,
> custom, exotic datatypes are a dime a dozen. But in 1980, I was
> sure glad I could do complex math without all of the extra
> baggage that would have been necessary if I had to use, say,
> BASIC-Plus.
Yeah, but how often do those C++ custom exotic datatypes map to
real datatypes supported by the hardware? (in other words, which
ones will actually be FAST?)
That's certainly an issue. I wonder how many applications are
slower and more overweight due to their being crafted with OOP than
they would be if they were coded using more traditional methods.
"More traditional methods"? Just "the way processors execute
code" would be a good start. Processors aren't object-oriented in
nature. This is one of the reasons why we have computers with multi-
GHz processors that barely get out of their own way. The constructs
commonly used in OO programming don't come anywhere close to mapping
to hardware efficiently.
But, isn't the point of programming languages to make it easier for
the
programmer to create programs? Computers are fast; people are slow.
Yes of course, but it has gone WAY TOO FAR in the other direction.
There's been this crazy idea that saving EVEN FIVE MINUTES of
programmer time is worth ANY amount of processor time or ANY amount
of memory that you'd have to spend.
The mentality is similar to that surrounding today's school buses
(in the US anyway, don't know how they look elsewhere)...Increase
visibility at ANY cost, blindly pushing forward, completely ignoring
any other ramifications. Now we have school buses with WAY too many
blinking and flashing lights all over them that end up causing
distraction on the road, sometimes to the point of causing the
accidents that they're trying to prevent. And it just gets worse
every year.
I'm all for saving programmer time...I'm a programmer, and I'm
lazy too. But when a computer takes forever to grind through the
simplest of operations to enable me to "write the program" by
clicking and drooling for five minutes instead of actually doing a
little work, it has gone too far.
Have you ever tried writing code against GTK
(not-quite-OOP jammed
into
C) vs Qt (real OOP using C++)? GTK is such a pile of sh*t to try to
write code for, in my opinion.
Yes I have, both. And yes, it's terrible. GTK is a steaming pile
of llama poop for a number of reasons. And they're both slower than
pissing tar.
Now, I'm not saying that I appreciate OOP in every
case, but it
seems to
be darn useful when writing GUI-based applications.
Useful in saving programmer time, yes. But look at the result! A
modern multi-GHz Linux box running GTK is far less "responsive"-
feeling than my old SPARCstation-IPX running fvwm when just tooling
around the GUI. A little more time spent by the programmers,
ignoring the "easy way out" or heavy OO programming and it'd be FAR
faster.
So, spend a little time now, ONCE, and make a million Linux boxes
twice as fast? That sounds like a good deal to me.
Yes I know GTK isn't written in an OO language, but I'm talking
about OO *techniques*...just like some programmers (I may be guilty
of this) can "write C in any language", some programmers seem to be
able to write C++ any any language.
Oh, and don't
forget that most of the code on running your favorite Mac was
written in
Objective C...
...which is something that I'm terribly annoyed with. It's fast,
but it should be a LOT faster, for the powerful processors it has.
-Dave
--
Dave McGuire
Port Charlotte, FL