O cérebro da plataforma
.NET é o
CLR (
Common Language Runtime), que é uma aplicação similar a um
processador que se encarrega de providenciar a execução das aplicações para ela escritas. São oferecidos a estas aplicações pouco serviços para desenvolvimento e manutenção que desfavorece sua confiança e segurança. O CLR é o vilão entre as linguagens suportadas pela plataforma .NET. O compilador de cada linguagem segue uma série de padrões (Common Language Specification) para compilar seus códigos, por isso as outras linguagens conseguem "entender" as classes e os métodos, dentre outras informações, que essa linguagem definiu. Por exemplo, quando escrevo uma classe em SmallTalk.NET e a compilo, o compilador de
SmallTalk não irá compilá-la da mesma forma que compilaria fora da plataforma, esse a compilará segundo uma série de especificações que gerará o IL (Intermediate Language). Quando essa classe tiver que ser acessada por uma outra, escrita em C#, por exemplo, a plataforma .NET se encarregará de ler a IL gerada e expôr a classe que foi criada.