Interface description languageAn interface description language, (alternatively interface definition language) (IDL), is a computer language or simple syntax for describing the interface of a software component. It is essentially a common language for writing the "manual" on how to use a piece of software from another piece of software, in much the same fashion that a user manual describes how to use a piece of software to the user.
IDLs are used in situations where the software on either side may not share common "call semantics", referring to the way the computer language "talks" to the routines. For instance, C and Pascal have different ways of calling routines, and in general cannot call code written in the other language. IDLs are a subset of both, a general language to which both can conform to enable language-independent code.
IDLs are most commonly found in software intended to allow routines to be called on other machines, known as remote procedure call. In these cases the call semantics may vary not only between languages, but also due to the architecture of the machines themselves.