【问题标题】:Why .NET is a Framework and Java is a Language [closed]为什么 .NET 是框架而 Java 是语言 [关闭]
【发布时间】:2011-12-31 17:07:32
【问题描述】:

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

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

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

【问题讨论】:

  • Java 确实是一门语言。所以它是C#。 VB也是。在许多许多其他人中。
  • 这实际上是一个我以前没有想过的非常有趣的问题。您在什么是框架和什么是语言之间划清界限?

标签: java .net concept


【解决方案1】:

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

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

区别只是命名和语义之一,仅此而已。

【讨论】:

  • 您可以将Java 框架/类库与Java 以外的语言一起使用。 (为 JVM 编写的语言有很多)
  • +1 Java 是一种框架和语言。谢谢,我不知道这个。(以为Java只是一种编程语言)那我如何区分框架和平台(在S / W工程方面)有没有链接可以分享给我?
【解决方案2】:

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

【讨论】:

  • 不,Java 之于 JVM 就像 C# 之于 CLR。 CLR 与“.NET”不同。
  • 同意虚拟机是CLR,而不是.NET。问题是“.NET”明确地是 VM 和整个平台的名称(以及伴随它的整个 Windows 开发空间中的整个哲学变化),而“Java”过去是并且主要是一个编程语言 - 所以实际上没有“.NET”这个词的准确等价物。
  • 所以 twitter 使用 scala 在“a”JVM 上运行?
【解决方案3】:
  • .net 是一个框架,因为它围绕您的代码提供功能:例如,当您编写 web 表单时,您不必编写从接收 http 请求到编写 html 的所有内容,它是相同的对于 Web 服务和 Web 表单,它就在您的代码周围。

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

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2011-06-20
      • 2023-03-10
      • 2012-07-25
      • 1970-01-01
      • 2010-09-23
      相关资源
      最近更新 更多