在經驗豐富的 Java 開發人員看來,.NET 可能與 Java 平台很相似,它們都提供了一種創建應用程序的結構化方法,都有編譯為中間代碼的語言,都為應用程序開發提供了一個大型 API 庫。但實際上,.NET 的核心有一套與 Java 平台不同的目標。
從概念上講,Java 是兩樣東西:Java 平台(運行時和 API)和 Java 語言。Java 平台的用途是支持用 Java 語言編寫並被編譯為 Java 字節碼的應用程序。盡管進行了許多試圖將其他語言編譯為 Java 字節碼的工作,但是這些工作大部分都是學術活動。Java 的理想目標一直是“在多種平台上使用一種語言”。
.NET 也是兩樣東西:.NET Framework(運行時和 API)和大量支持它的編程語言。.NET Framework 的用途是支持用任一種語言編寫並被編譯為 MSIL 的應用程序。.NET 的目標是“多種語言共享一種平台”。