CLR(Common Language Runtime) vs JVM(Java Virtual Machine)
개념적으로 CLR(Common Language Runtime)과 JVM(Java Virtual Machine)은 기본적인 플랫폼의 차이를 추상화하는 실행 하부구조를 제공한다는 점에서 유사하다고 할 수 있다. 그러나 현재 JVM은 자바만을 지원하는데 비해, CLR은 공통 언어 중개(CIL : Common Intermediate Language)로 표현될 수 있는 모든 언어를 지원한다는 차이가 있다.(물론, JVM은 bytecode를 실행하므로, 역시 기술적으로 많은 언어를 지원할 수 있다.) CLR과 JVM 또 다른 개념적 차이는 자바 코드는 JVM이 설치된 여러 플랫폼에서 동작하지만 닷넷코드는 CLR이 설치된 윈도우 플랫폼에서만 동작한다는 점이다.
Microsoft는 CLR의 일부기능인 공통 언어 하부구조(CLI : Common Language Infrastructure)를 ECMA에 제출했으며, 서드파티업체에서도 윈도우가 아닌 다른 플랫폼에서 작동하는 CLR을 구현할 수 있다.