CORBA szeroko wykorzystuje koncepcję programowania projektowania obiektowego, w szczególności definiuje obiekty w kategoriach czterech „interfejsów” z innymi obiektami i infrastrukturą, jak opisano w naszym przykładzie poborcy podatkowego. Interfejsy te są określone w specjalnie zaprojektowanym języku definicji interfejsu (IDL). IDL nie ma być językiem, w którym napisane są wszystkie programy do przetwarzania rozproszonego; zamiast tego jest skonstruowany tak, że komponenty IDL mogą być mapowane na inne języki przy użyciu zautomatyzowanych procedur. Oznacza to, że programiści mogą pisać aplikacje w wybranych przez siebie językach i, z pomocą podręczników i narzędzi IDL, importować do swoich programów niezbędne „funkcje” interfejsu (sekcje kodu, które wykonują określone procedury – „drukuj”, „czytaj”, „pisać” itp.) z IDL, bez konieczności poznawania zawiłości IDL. Ponieważ funkcje w dowolnym języku zawsze są konwertowane na dokładnie ten sam zestaw instrukcji IDL, programiści mogą mieć pewność, że program będzie działał w systemie zgodnym z CORBA, niezależnie od języka źródłowego.