【问题标题】:Is building an application in Java different than making one in C#?在 Java 中构建应用程序与在 C# 中构建应用程序不同吗?
【发布时间】:2010-01-15 15:52:49
【问题描述】:

我的意思当然是使用和 IDE。

Java 是否带有一个工具箱,例如具有拖放控件、可以移动等的控件?

另外,如果我用 Java 制作应用程序,它会在任何具有 Java 运行时环境的机器上运行吗?由于这个单一的特征,我不介意学习一些Java。 :)

假设我构建了一个简单的计算器,它会在 Linux/Mac/Windows 上运行吗?

【问题讨论】:

  • 是的,您使用的是不同的语言
  • 是的,就是这样。它都是面向对象的,所以没有区别。只是语言......关于你的计算器,为什么不呢?据我所知,Java 是通用的。
  • .Net 可以运行 C++ dll - 这是一个很大的优势。

标签: c# java ide runtime


【解决方案1】:

我认为您混淆了编程语言和软件开发工具。

C# 和 Java 都有可用的开发工具包和库,可用于创建应用程序。但是,它们的源代码和函数调用是不可互换的。

如果您使用 Java 构建一个简单的应用程序,您很可能能够在任何具有 Java 虚拟机的机器上运行它。编写不会随处运行的更专业的、特定于平台的代码仍然是可能的。你现在可以忽略这个。

【讨论】:

  • 我认为这是一个非常重要的区别。在 .NET 世界中,Microsoft 提供了您将使用的几乎所有工具,至少就 IDE 而言。在 Java 世界中,至少有 3 个非常流行的 IDE,其中只有一个是由 Sun 制作/附属于 Sun。
【解决方案2】:
  1. 可以在 Google 上找到可视化 Java GUI 设计器
  2. 如果您构建一个 Java 应用程序,它将在具有 正确版本 JRE 的任何机器上运行 - 就像在 .NET 中一样,您可以针对某个版本
  3. 如果您构建一个简单的计算器,您应该能够让它在 Linux/Mac/Windows 上运行

【讨论】:

  • 而且,正如 winSharp93 所提到的(并击败了我),如果你想让它在其他平台上运行,你显然不能做任何特定于平台的事情。但是,如果您出于某种原因需要特定于平台的东西(无法想象计算器为什么会这样),您可以让每个平台的代码有所不同。
【解决方案3】:

Java 是否带有一个工具箱,例如具有拖放控件、可以移动等的控件?

Java 本身不是。但是,有一些 IDE,例如 Eclipse 和 Netbeans,具有支持拖放的设计器。

它会在任何具有 Java 运行时环境的机器上运行吗?

如果您不执行任何特定于平台的操作(通常不是必需的):是的。

【讨论】:

  • 你能给我一个特定平台的例子吗?
  • 嗯 - 实际上可以在 Java 程序中进行 WinAPI 调用。但是,在大多数情况下,它们不是必需的。
  • 特定平台将通过 Runtime.exec() 运行 shell 命令,或通过 JNI 调用本机 C 代码。
  • @Michael Borgward,通过Runtime.exe 生成进程不一定会使您的应用程序依赖于操作系统。
  • 虽然调用本机代码实际上可以完成,只要您为每个操作系统提供不同的本机库。
【解决方案4】:

Java 和 MS IDE 之间的一个重大区别是,使用 Java IDE,您将无法像使用 MS IDE 那样通过拖放获得对数据绑定的支持。这在 Java 阵营中实际上是不鼓励的,因为它会导致难以维护代码。

因此,尽管 Java IDE 往往具有非常完整的工具箱,但不要指望 RAD 优于 OOP

【讨论】:

    【解决方案5】:

    我在很大程度上同意已经给出的答案,但我想对此稍作不同的解释。

    您听起来像是一个正在研究 Java 的 .NET 开发人员。我是一名开始接触 .NET 的 Java 开发人员。与 .NET 世界和 Java 世界非常不同的一件事是 IDE。如果您进入 .NET 商店,您可能会看到 VB 编码器、C# 编码器等都在使用 Visual Studio 开发 .NET。如果您进入 Java 商店,您会看到所有编码器都在编写 Java,但他们可能使用不同的 IDE(Eclipse、RAD、NetBeans 等),甚至在这些 IDE 中您可能会看到 IDE 中的不同功能(例如在 Eclipse 中添加通过插件的功能)。

    也就是说,Eclipse 等 IDE 中的插件与您在 Visual Studio 中看到的类似。我看到的主要区别是,这些对于 Visual Studio 来说比我见过的 Java 开发人员使用的任何 IDE 都更基础(我认识的许多 Java 开发人员在初始屏幕创建之后不会拖放任何东西)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-05-31
      • 2017-08-05
      • 2015-11-06
      • 1970-01-01
      • 2011-05-17
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多