This chapter discusses the Interface Definition Language (IDL), the language CORBA defines for specifying the features (methods, attributes) of an object in a language-independent way.
In order to enable different programming languages (and machines, operating systems) to deal with CORBA objects, it's necessary to agree on some standard notation to describe what features (methods, attributes) objects expose. CORBA offers such a standard notation: the Interface Definition Language (IDL). IDL looks a lot like C++ (or Java) class definition. Note that IDL in Microsoft's COM technology context is not the same as CORBA IDL. They are quite similar, however.
Apart from being a specification language for humans, IDL is also used by a so-called idl-compiler to generate sample stubs and skeletons from IDL files, thus saving programmers the tedious task of coding a lot of boiler-plate code.
Note that IDL only specifies the methods and attributes an object supports - the programmer has complete freedom as how to implement these, as long as he respects the definition in the IDL file.