Philosophy of IDL
posted Tue 22 Mar 2016 by Michael Galloy under IDLPython has the Zen of Python as a guiding philosophy. I think IDL would have something a bit more practical. This is my take on IDL’s philosophy:
The Tao of IDL
Interactive is better than compiled.
Fast to write is better than fast to execute.
But vectorized is better than loops;
`WHERE` is better than `FOR`/`IF`.
There are more uses of histograms than first meet the eye.
A picture is worth at least ten thousand bytes of data,
A million if its 3D and you can rotate it interactively.
Whether direct or function, graphics are easy to create
But the possibilities are endless.
Backwards compatibility is great!
But it doesn't mean you should index arrays with parentheses forever.
IDL might not have started with objects,
But it has them now, so use them!
There are many file formats and each is the most important to someone.
If you can't read the data, you can't analyze it.
Keywords are a great idea — especially
If your parameter has a useful default
Or is an optional output.
By the way, the Bad habits posting is very funny and relevant to Fortran/IDL users.
March 25th, 2016 at 11:22 am
Great! I would make one tweak to this line
Backwards compatibility is great!
To
Backwards compatibility is priceless!
Both in time saved and code confidence.
I really think having Python 3+ not being backwards compatible was a huge mistake