All COM interfaces are defined using the Interface Definition Language (IDL, ODL). IDL is similar to C and C++ header files, with new syntax elements specific to distributed computing added. IDL (ODL) files are compiled to create source files and binary type libraries that can be used by practically all programming environments.