


The first RSI product was IDL for the PDP-11. Stern left LASP to found Research Systems Inc. SOL was an array-oriented language with some primitive graphics capabilities. Unlike its predecessors, it was a true programming language with a FORTRAN-like syntax. Later, Stern wrote a program named SOL, which also ran on the PDP-8. MMED was used by LASP scientists to interpret data from Mariner 7 and Mariner 9. A version of Rufus developed on the PDP-8 was the Mars Mariner Spectrum Editor (MMED). It accepted two-letter codes that specified an arithmetic operation, the input registers to serve as operands, and the destination register. The first program in the evolutionary chain to IDL that Stern developed was named Rufus it was a simple vector-oriented calculator that ran on the PDP-12. At LASP, David Stern was involved in efforts to allow scientists to test hypotheses without employing programmers to write or modify individual applications. The predecessor versions of IDL were developed in the 1970s at the Laboratory for Atmospheric and Space Physics (LASP) at the University of Colorado at Boulder. ( September 2015) ( Learn how and when to remove this template message) Statements consisting only of original research should be removed. Please improve it by verifying the claims made and adding inline citations. This section possibly contains original research. Hence part of the art of using IDL (or any other array programming language, for that matter) for numerically heavy computations is to make use of the built-in vector operations. The NaN is excluded from the visualization generated by the plot command.Īs with most other array programming languages, IDL is very fast at doing vector operations (sometimes as fast as a well-coded custom loop in Fortran or C) but quite slow if elements need processing individually. This example contains a division by zero IDL will report an arithmetic overflow, and store a NaN value in the corresponding element of the y array (the first one), but the other array elements will be finite. Note that the operation in the second line applies in a vectorized manner to the whole 100-element array created in the first line, analogous to the way general-purpose array programming languages (such as APL, J or K) would do it. The findgen function in the above example returns a one-dimensional array of floating point numbers, with values equal to a series of integers starting at 0.
