12

行。这不是一场战斗。我对框架的概念很好奇,我曾在各个级别使用过一些框架,如 django、zend、rails 和 cakephp。

今天我的一个朋友给我发了一个介绍,他将 .NET 列为一个框架,这并不奇怪我已经讨论了 .NET 框架,我知道它背后的基本概念,并且从我对 .NET 技术的极限来看说它是一个框架似乎很公平。

但后来它击中了我?为什么Java是一种语言而.NET是一种框架,我越读越困惑,Java和.NET都有SDK,是因为java运行在VM上吗?是因为 .NET 支持多种编程语言吗?我在这里错过的最大区别是什么?

4

4 回答 4

25

Java 既是一种语言,又是一种框架,两者联系在一起并有一个名称。

.NET 是一个有多种语言使用它的平台——C#、VB.NET、F# 等等。

区别在于命名和语义之一,仅此而已。

于 2011-11-17T20:35:38.773 回答
4

Java 之于 JVM 就像 C# 之于 .NET。不幸的是,Sun 将他们的虚拟机命名为“Java 虚拟机”,因为实际的 Java 程序越来越少地使用它。构成平台的是 JVM 及其大量的标准类库。Java 只是它的一种编程语言;它有 Groovy、Scala、JRuby、Clojure 等竞争对手,例如 .NET 有 F#、最新的 VB 等。

于 2011-11-17T20:37:15.860 回答
4
  • .net 是一个框架,因为它围绕您的代码提供了功能:例如,当您编写 web 表单时,您不必编写从接收 http 请求到编写 html 的所有内容,对于 web 服务和 web 表单来说都是一样的,它在你的代码周围。

  • 在java(仅java)中,您只有一种语言,您可以编译执行您的程序,但是您必须处理软件生命周期中的所有事情(桌面或c / s),如果您使用Java EE或Swing,那么您会有一个框架。

混淆是因为他们都强加了他们的框架(MS 多于 Sun),所以这对语言框架非常强大(即使你可以拆分它们并使用其他东西)。但他们促进了这对夫妇的不同部分,即 MS 的框架,Sun 的语言。

于 2011-11-18T16:30:12.020 回答
2

C#、VB、J# 等是 Visual Studio 中的语言。.NET 是一个代码框架,它提供了一组丰富的功能,让您可以立即使用。

于 2011-11-17T20:36:29.943 回答