In a CORBA age, insisting that a "program" be a monolithic lump in a single language seems a little old-fashioned. If my C program can use a service without knowing or caring whether the service is written in C, C++, Java, COBOL, Smalltalk, or whatever, why should my C program care whether the service is written in Clean?