.NET 아키텍처는 MS에서 발표한 CLI 사양에 맞춰 MS가 구현한 공용 언어 런타임(CLR; Common Language Runtime)과 클래스 라이브러리(Class Library)세트의 오픈소스 개발자 플랫폼이다
C/C++ 으로 프로그램을 제작할 경우 각각의 운영체제에 대응하는 여러 프로그램을 만들어야 한다. 이렇게 플랫폼 위에서 바로 구동하는 언어를 네이티브 언어(Native Language)라고 한다
하지만 C#의 경우 운영체제와 C# 프로그램 사이에 계층이 존재하는데, 이를 .NET이라 한다. 이 .NET이 존재하기 때문에 하나의 코드로 여러 프로그램을 만들지 않고, 여러 운영체제에서 바로 동작할 수 있게 되는 것이다
이러한 .NET 아키텍처같은 소프트웨어를 미들웨어(Middleware)라 한다. 이러한 Middleware를 거치는 언어들은 한 단계를 추가적으로 더 거치기 때문에 필연적으로 느릴 수 밖에 없다