我的公司有一个庞大的C#代码库.超过一半的代码是我们创建,阅读,修改,计算和编写Excel工作簿的核心引擎.我们经常从客户和潜在客户那里得到问题,询问我们是否要构建我们引擎的Java版本 - 其中许多人对用户界面并不感兴趣.我们甚至有一些客户在他们的Java应用程序中使用我们的.NET库时遇到了麻烦.
因此,我们希望构建一个Java版本的核心引擎,理想情况下不需要维护单独的Java源代码库.
Eric Sink 非常好地描述了这个问题.除了我们的软件许可证包含免版税部署这一事实之外,我处于类似的位置,这使得Eric选择Mainsoft对我们来说是不可能的.
我几年来每隔几个月一直在谷歌上搜索"c#to jvm"这样的喜欢,但没有任何乐趣.花了大约7年时间开发类似的Java软件,我相信我们在核心引擎中使用的.NET API可以很容易地被封装,我们可以使用Java库完成我们所需的一切.因此,如果我们只有一个C# - > JVM编译器,我们可以构建我们的Java核心引擎,我们就不再需要拒绝那些想要使用它的Java开发人员.
我不是要求Sun为什么不做C#编译器的技术原因.我认识到Java没有属性或无符号64位长等等......为了论证,假设所有这些技术问题都可以通过扩展JVM和/或其他方法来处理.
而且我并没有要求再讨论为什么一种语言/堆栈可能比另一种语言/堆栈更好.我们业务的现实是有很多潜在客户使用每个.
在Java平台上运行C#代码更容易,这意味着更多的开发人员和更多的平台软件.对平台的成功有什么更重要的吗?乔纳森施瓦茨是一个软件家伙.我会把它留给比我更聪明的人来决定他是否担任Sun的总裁兼首席执行官,但是在他加入Sun之后不久就遇到了Jonathan,我的印象是他了解软件以及对大型软件的需求开发人员的基础.
一定有充分的理由.我不能为我的生活弄清楚它是什么......
自微软首次宣布以来,我就一直关注着.NET任务并行库(TPL)的开发.
毫无疑问,我们最终会利用TPL.我在质疑的是,在发布Visual Studio 2010和.NET 4.0时是否有必要开始利用TPL,或者等待一段时间是否有意义.