The Interface Definition Language (IDL) was developed by the Object Management Group (OMG) to specify the Common Object Request Broker Architecture( CORBA) because CORBA is programming language independent.
IDL is used as a programming language for describing interfaces that enable communication between modules implemented in different languages. Since the communication of the individual modules cannot take place directly, because the clients and the modules have own address spaces, they communicate over Proxies and so-called Stubs. The description of the component interfaces takes place with the IDL language.
IDL stubs and IDL skeletons are a component of CORBA.