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

Re: widget_control and group_leader

JD Smith wrote:
> Whatever you do, make it 1 notch more general than you think you need,
> and you'll thank yourself later.

This is a piece of advice I've been trying to follow for the past few
years, and it really came back to help me this past week, when a
colleague came to visit for four days of hard work. We were able to
process 75 Gbytes of radar observations of Saturn's rings, using very
slight modifications of the code we wrote for last year's data set,
even though this year's observations had very different formats.
In four days, we don't have time to write fancy widget programs, but
we use IDL the old-fashioned way - direct graphics and no objects.
Still, last year's effort in taking the small amount of extra time
to avoid hard-wiring in numerical constants that 'couldn't possibly
change', and keeping all of the user-defined variables near the very
top of the code, made it much easier to adapt the programs to our
unexpectedly different circumstances this year. 
	I mention this only because I used to approach IDL as though
the I in Interactive meant 'interactive programming' - I'd start
a journal file, fiddle with the observations and analysis and display,
edit the journal file, and call it a program. I still take this approach
for rush projects, but taking the few minutes to annotate the code
and reorganize it so that it can be used again is now a high priority
for me.
	Although I have written some widget programs over the years,
I still find myself quite often using IDL in this seat-of-the-pants
mode when I start a new project. I'd be curious to know how many
other readers of this news group use IDL primarily in this way.
Dick French