为什么';Sun做一个C#到Java字节码编译器吗? 我们希望在JVM上运行C#代码
我的公司有一个庞大的C#代码库。这段代码的一半以上是我们创建、阅读、修改、计算和编写Excel工作簿的核心引擎。我们经常收到客户和潜在客户的问题,询问我们是否要构建引擎的Java版本——他们中的许多人对UI一点也不感兴趣。我们甚至有一些客户不厌其烦地从Java应用程序中使用我们的.NET库 因此,我们希望构建核心引擎的Java版本,理想情况下不需要维护单独的Java源代码库 埃里克沉得很好。除了我们的软件许可证包括免版税部署,这使得Eric选择Mainsoft对我们来说是一个不成功的选择之外,我也处于类似的地位 几年来,我每隔几个月就在谷歌上搜索一次类似的搜索结果,但没有任何乐趣。花了大约7年的时间为Java开发类似的软件,我相信我们在核心引擎中使用的.NETAPI可以很容易地进行封装,我们可以使用Java库完成我们需要的一切。因此,如果我们只有一个C#->JVM编译器,我们就可以为Java构建核心引擎,而不再需要拒绝愿意使用它的Java开发人员 我不是在问为什么Sun不做C#编译器的技术原因。我认识到Java没有属性或无符号的64位长度,等等。。。为了便于讨论,假设所有这些技术问题都可以通过扩展JVM和/或其他方式来解决 我并不是要求再次辩论为什么一种语言/堆栈可能比另一种更好。我们业务中的现实情况是,有大量的潜在客户在使用每种产品 为什么Sun要做C#编译器?(当然是海事组织) 使在Java平台上运行C#代码更容易意味着该平台有更多的开发人员和软件。平台的成功还有什么更重要的因素吗?他是个软件人。我会让比我更聪明的人来决定他是否担任了Sun的总裁兼首席执行官这一不可能的工作,但在他加入Sun后不久与乔纳森会面后,我的印象是,他了解软件以及对大量开发人员的需求 那么为什么Sun不做C#编译器呢?为什么';Sun做一个C#到Java字节码编译器吗? 我们希望在JVM上运行C#代码,c#,java,.net,compiler-construction,jvm,C#,Java,.net,Compiler Construction,Jvm,我的公司有一个庞大的C#代码库。这段代码的一半以上是我们创建、阅读、修改、计算和编写Excel工作簿的核心引擎。我们经常收到客户和潜在客户的问题,询问我们是否要构建引擎的Java版本——他们中的许多人对UI一点也不感兴趣。我们甚至有一些客户不厌其烦地从Java应用程序中使用我们的.NET库 因此,我们希望构建核心引擎的Java版本,理想情况下不需要维护单独的Java源代码库 埃里克沉得很好。除了我们的软件许可证包括免版税部署,这使得Eric选择Mainsoft对我们来说是一个不成功的选择之外,我
如果您必须在非Microsoft平台上使用C#,请使用首先Sun没有在JVM上实现C#编译器的动机,因为它们有一种非常类似的称为Java编程语言的东西 它也没有实现编译器那么简单,因为Java标准类库与.net基类库不同。您将不得不将所有.NETAPI调用更改为JavaAPI调用 Micrsoft有一个名为J#的产品,该产品旨在用于Java到.NET的转换,但最终没有人使用它,因为API仅限于Java 2之前的API,所以它基本上是无用的。如果Sun实现了.NET BCL的一些部分,情况也会一样,因为只有核心部分是标准化的,并且没有版税。ASP.NET和WPF、WCF等部件不是ECMA标准的一部分,因此Sun需要微软的许可才能实现这些API
如果有足够多的客户想要一个java版本,以便将您的应用程序移植到java,那么就这样做吧,您永远不会通过C#to JVM编译器从Sun获得任何帮助 为什么微软不做C到Java字节码编译器?你为什么不做呢?每一面都有开放的规格…玩得开心
您可以在同一解释器中运行.NET代码和Java代码!请参阅基于.NET的JVM和wiki页面以获取示例用例(使用基于.NET的Boo语言使用Java库编写应用程序)。Joe,我建议您。你可能会发现一些让你抓狂的东西将你的.NET API公开为ASMX web服务,你应该准备好了 <>编辑:对于更重的使用场景,它将是值得研究的Windows通信基础(WCF)。它具有内置的、可配置的对安全、流、不同传输场景(HTTP、TCP/IP、本地命名管道)的支持。您不局限于SOAP消息编码,但这可能是与Java互操作的最简单方法 我不太确定您的具体情况,但是如果您处理的是大文件,并且.NET代码和Java代码都在本地运行,那么您可以使用.NET将文件保存到用户的硬盘上,然后从Java a获取它