【问题标题】:To make development portable to Java, does it make sense to do the whole development on J# vs C#?为了使开发可移植到 Java,在 J# 与 C# 上进行整个开发是否有意义?
【发布时间】:2011-06-28 09:37:38
【问题描述】:

为了使开发可移植到 Java,在 J# 与 C# 上进行整个开发是否有意义?像 lambda 表达式等 C# 中存在的 Java 中缺少的位会发生什么?

实现可移植性的最佳方式是什么?

【问题讨论】:

  • 如果你的目标是Java,为什么不从那里开始呢? (.NET 和 Java 在许多方面都非常不同——尽管使用了花括号——并且可移植性需要框架的一个公共子集,但该子集并不存在。)

标签: c# j#


【解决方案1】:

我绝对不会使用 J# - 它不再受支持,而且它只支持 Java 1.1.4,IIRC。

我个人建议保持两种语言之间的整体架构一致,然后手动单独编写代码,同时考虑到不同语言中的不同习语。

如果您的代码库使用数据驱动测试,最好在两种语言之间共享该数据,以帮助确保数据可移植性。

【讨论】:

    【解决方案2】:

    我建议你不要再使用 J#,因为它已经停产了。最新版本已随 Visual Studio 2005 提供。

    【讨论】:

      【解决方案3】:

      除了特定于 J# 的 语言 扩展和 .NET CLR 支持之外,它的 runtime library 实现了 Java 2 集合框架(尽管没有 java.util.concurrent 扩展),甚至还有一些 JFC/Swing,通过Supplemental UI Library

      因此您将仅限于 Java 1.4 API。

      鉴于 J# 早已停产,我不建议您投入时间。

      如果您真的需要 JVM 和 CLR 之间的可移植性,我会看看 IKVM(在 CLR 之上实现 Java 1.7 API)、Scala for .NET(大约 Scala 2.10 已停产)或像 Ruby 这样的语言 (JRuby/IronRuby) 或 Python (Jython/IronPython)。

      或者,您可以为 .NET 生成您的 C# -- 有 Java 到 C# converters available

      【讨论】:

        猜你喜欢
        • 2021-03-18
        • 1970-01-01
        • 2014-06-12
        • 2022-06-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多