为了使开发可移植到Java,在J#和C#上进行整个开发是否有意义?

时间:2011-06-28 09:37:38

标签: c# j#

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

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

3 个答案:

答案 0 :(得分:3)

我肯定不会使用J# - 它不再受支持了,它只支持Java 1.1.4,IIRC。

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

如果您的代码库使用数据驱动的测试,那么在两种语言之间共享这些数据会很好,这有助于确保数据的可移植性。

答案 1 :(得分:2)

我建议您不再使用J#,因为它已经停止使用。最新版本已随Visual Studio 2005一起提供。

答案 2 :(得分:0)

除了J#特定的语言扩展和.NET CLR支持之外,它的runtime library还实现了Java 2 Collections Framework(尽管没有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)。

或者,您可以生成您的C#for .NET - 这是Java到C#converters available