Introduction to IDL
Interactive Data Language
This introduction is taken from:
A GUIDE TO IDL FOR ASTRONOMERS
Interactive Data Language (IDL) is a proprietary software system distributed by Research Systems, Inc., of Boulder, CO (http://www.rsinc.com), now a division of Kodak. IDL grew out of programs written for analysis of data from NASA missions such as Mariner and the International Ultraviolet Explorer. It is therefore oriented toward use by scientists and engineers in the analysis of one-, two-, or three-dimensional data sets. RSI claims over 150,000 users.
IDL is currently available in UNIX, LINUX, Windows, and Macintosh versions for most of the popular scientific data processing platforms including Sun, HP, IBM, SGI, PC's and Mac's (see list at http://www.rsinc.com/idl/detail.cfm). IDL device drivers are available for most standard hardware (terminals, image displays, printers) for interactive display of image or graphics data.
The data reduction and display software that most astronomers are familiar with, including IRAF, STSDAS, AIPS, CIAO, MIDAS, and SUPERMONGO, consists primarily of specialized, task-oriented routines not intended for customization or enhancement by the user. These mostly function like "black boxes" and do not provide the user with easily understandable access to their inner workings.
By contrast, IDL is genuinely a versatile computer language, readily understandable by any computer-literate user. It offers all the power, adaptability, and programmability of high level languages like FORTRAN, C, and C++. But it adds two capabilities which are essential for modern data analysis: interactivity and graphics display.
In practice, IDL behaves like an inherently interactive, streamlined, graphics- and array-oriented version of FORTRAN. It is array-oriented in the sense that arrays may be referenced without the use of subscripts or do-loops and that code is automatically optimized for array operations. A brief functional description of IDL is available at http://www.rsinc.com/idl/detail.cfm.
IDL provides the scientist better understanding of and control over an interactive session by virtue of a large number of special features in addition to array-oriented operations, including: rapid response time, immediate access to all variables (stored in RAM), immediate access to all source code (except RSI-written proprietary routines), on-demand compilation of routines, interactive session journal-keeping, command recall/edit, command scripts, data structures, flexible parameter specification in subroutine calls, structured syntax, full integration with windows systems, support for all common scientific I/O protocols, versatile built-in plotting and graphics routines, widget and object-oriented programming, and a variety of special interactive support utilities.
Users who are conversant with FORTRAN, C, C++, or other high level languages will have little trouble understanding IDL. Its syntax and operation are transparent and convenient. Because it is interactive, learning IDL through on-line trial-and-error is rapid. Without leaving IDL, test data sets can be created and displayed, and programs can be written, executed, debugged, and revised with great efficiency. IDL code can be written in as little as one fifth the time of the equivalent FORTRAN, C, or C++. Like these languages, IDL code is largely site-independent.
IDL courses C. Morisset © 2004 IA/UNAM V 2.2