JVM で C# コードを実行したい
私の会社には大規模な C# コード ベースがあります。このコードの半分以上は、Excel ワークブックの作成、読み取り、変更、計算、および書き込みを行うコア エンジンです。お客様や潜在的なお客様から、エンジンの Java バージョンを構築する予定があるかどうかという質問が頻繁に寄せられますが、その多くは UI にまったく関心がありません。Java アプリケーションから私たちの .NET ライブラリを使用するのに苦労した顧客もいます。
そのため、理想的には別個の Java ソース コード ベースを維持せずに、コア エンジンの Java バージョンを構築したいと考えています。
Eric Sinkは、この問題を非常によく説明しています。私も同様の立場ですが、私たちのソフトウェア ライセンスにはロイヤリティ フリーの展開が含まれており、Eric が Mainsoft を選択することは私たちにとって非初心者でした。
私は、「c# to jvm」のようなものを数か月ごとに数年間グーグルで検索してきましたが、喜びはありませんでした。Java 用の同様のソフトウェアの開発に 7 年ほど費やしてきた経験から、コア エンジンで使用する .NET API は簡単にカプセル化でき、Java ライブラリを使用して必要なすべてを達成できると確信しています。したがって、C# -> JVM コンパイラさえあれば、Java 用のコア エンジンを構築でき、それを使用したい Java 開発者を断る必要がなくなります。
Sun が C# コンパイラを提供しない技術的な理由を尋ねているわけではありません。Java にはプロパティがない、または符号なしの 64 ビット長などがあることを認識しています...議論のために、これらの技術的な問題はすべて、JVM および/またはその他の手段を拡張することで対処できると仮定してください。
そして、ある言語/スタックが他の言語よりも優れている理由について、さらに別の議論を求めているわけではありません。私たちのビジネスの現実は、それぞれを使用している潜在的な顧客がたくさんいるということです.
Sun が C# コンパイラを使用する理由 (もちろんIMO)
Java プラットフォームでの C# コードの実行が容易になるということは、プラットフォームの開発者とソフトウェアが増えることを意味します。プラットフォームの成功にとって、これ以上に重要なことはありますか? Jonathan Schwartzはソフトウェアの専門家です。彼が Sun の社長兼 CEO として不可能な仕事を引き受けたかどうかの判断は、私より賢明な他の人に任せますが、Jonathan が Sun に入社してすぐに会ったときの私の印象は、彼はソフトウェアと大規模なソフトウェアの必要性を理解しているということです。開発者のベース。
では、なぜ Sun は C# コンパイラを開発しないのでしょうか?
- NIH症候群?
- スコット・マクニーリーの幽霊?
- あまりにも多くの Java 開発者が Microsoft に関連するものを嫌い、または信用していませんか?
- 彼らは、大金を手にすることの一部ではないことに同意しましたか?
- ???
正当な理由があるはずです。私はそれが何であるかを一生理解することはできません...