In addition to being a useful interactive data analysis tool, IDL is a powerful programming language. Many of IDL’s programming language features and constructs can be used either interactively at the IDL command line or as part of a larger program, which can itself be invoked at the IDL command line or by other programs. A program may or may not be compiled before execution. The type of programs you use in IDL will depend upon your tasks.

Program Type


$MAIN$ Program

Repeat a series of command line statements or interactively change variable values in a program file. These short programs or procedures are called $MAIN$ (main-level) programs. They are not explicitly named, and cannot be called from other programs. See Creating $MAIN$ Programs for details.

Named Program File (.pro)

Create programs and applications; you can create programs for data analysis or visualization using one or more named program files (*.pro).

Include File

You can create .pro files which can be included (embedded) within other code using the @filename statement.

Batch File

You can automate routine or lengthy processing tasks using a batch file, which contains one or more IDL statements or commands. Each line of the file is read and executed before proceeding to the next line.

SAVE File (.sav)

Share programs and distribute applications. You can create a SAVE file containing data or named program files in a .sav file to share with other users who may or may not have a full IDL installation.