[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Discussion on global variables in IDL

Altyntsev Dmitriy writes:

> I do not understand why IDL can not do all this stuff itself. It can
> be done several ways.

My all-time favorite quote about IDL was made
on this newsgroup. Someone in a similar thread
complained that "IDL looks like it had been
thrown together by a bunch of different programmers
over a long period of time."

Well, ... exactly.

The remarkable thing about IDL, it seems to me, is
not that it works in such a quirky way after almost
20 years of existence, but that it works at all.
What would your car look like, do you think, if all
the modern improvements had to be added to the original
20-year old chassis and design? Probably NOT like the
new 2001 model.

IDL is no different. It is a very BIG program.
With a LONG history. One can certainly argue
(as many in this newsgroup have, including me)
that IDL's implementation of objects is not
perfect. But the fact that they are available
at all--in any form--is a remarkable programming
achievement given the constraints the RSI 
programming team had to work under.

Would IDL be better off, more self-consistent,
a sleeker, more high-powered language if it
was written over from scratch? You better believe
it! And I'm sure every one of the IDL programmers
would be grateful for the opportunity to build
that wonderful new program. 

But it can't be easy, or some young hot-shot
in some garage somewhere would already have 
done it. 

I don't mean to discourage people like Dmitriy
from questioning what IDL is and where it is
going. Lord knows there are many things that
CAN be done that (for whatever reason) are not.
But you can't make a silk purse out of a sow's
ear. You can't turn several million lines of
C code into the latest and greatest C++ program
in a one-year maintenance cycle. Having experienced
first hand how frustrating it is to maintain a
few measly thousand lines of code, I am enormously
sympathetic to anyone carrying out the thankless
task of maintaining--and extending--IDL functionality.

IDL is far from perfect, true. But, like Paul van Delst,
I would find it hard to live without it.



David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155