在经验丰富的 Java 开发人员看来,.NET 可能与 Java 平台很相似,它们都提供了一种创建应用程序的结构化方法,都有编译为中间代码的语言,都为应用程序开发提供了一个大型 API 库。但实际上,.NET 的核心有一套与 Java 平台不同的目标。
从概念上讲,Java 是两样东西:Java 平台(运行时和 API)和 Java 语言。Java 平台的用途是支持用 Java 语言编写并被编译为 Java 字节码的应用程序。尽管进行了许多试图将其他语言编译为 Java 字节码的工作,但是这些工作大部分都是学术活动。Java 的理想目标一直是“在多种平台上使用一种语言”。
.NET 也是两样东西:.NET Framework(运行时和 API)和大量支持它的编程语言。.NET Framework 的用途是支持用任一种语言编写并被编译为 MSIL 的应用程序。.NET 的目标是“多种语言共享一种平台”。