4

クライアント側とサーバー側の両方に .net (C#) を使用して、クライアント - サーバー アプリケーションの作成を開始します。

残念ながら、私の会社はサーバー ボックスの Windows ライセンスの支払いを拒否しており、Java でコードを書き直すか、Mono の方法に移行する必要があります。

Java で C# コードを翻訳する良い方法はありますか? サーバー アプリケーションは、.net 固有の機能を使用せず、Spring.net、Hibernate.net、log4net などのクロスランゲージ ツールのみを使用しました。

ありがとう。

4

8 に答える 8

6

Mono用にビルドすることをお勧めします。あなたはいくつかの灰色の領域に出くわしますが、全体的には素晴らしいです. ただし、Java 用にビルドする場合は、Grasshopperを調べてください。これは商用製品ですが、CIL (C# コンパイラの出力) を Java バイトコードに変換できると主張しています。

于 2008-09-15T17:50:24.667 に答える
4

考えられる解決策は別として、ある言語で書かれたプログラムを別の言語に直接翻訳することは、一般的に悪い考えと見なされます。特に、この翻訳が何らかの自動化された方法で行われる場合は特にそうです。「本物の」プログラマーが行ったとしても、アプリケーションを 1 行ずつ翻訳すると、望ましい結果とは言えないことがよくあります。これは、言語ごとに独自のイディオム、長所と短所があり、物事をわずかに異なる方法で行う必要があるためです。

苦痛かもしれませんが、雇用主が必要とする場合は、おそらくあなたと、このアプリケーションを Java で書き直さなければならない人々の最善の利益になるでしょう。

于 2008-09-15T17:55:36.793 に答える
0

Java と C# は、構文とセマンティクスにおいて非常に似ています。本当の問題は、わずかな違いです。あなたがそれを期待していないとき、彼らはあなたを噛むでしょう。

于 2008-09-15T17:57:00.080 に答える
0

ライセンスが適切に機能する場合、現時点ではGrasshopperが最適なソリューションです(無料版にはいくつかの重大な制限があります)。Mono クラス ライブラリ (実際にはかなり優れています) に完全に基づいていますが、標準の Java VM 上で実行されます。私の経験では、Java VM は通常、Mono よりも少し高速で安定しているため、これは良いことです。ただし、フォーム/グラフィックス関連の API に関しては、Mono VM から Java に移植されていないため、Mono よりも多くの弱点があります。

ただし、うまくいく場合は素晴らしいことです。パフォーマンスは、Windows 上の MS の VM で同じコードを実行する場合よりも優れている場合があります。:)

于 2008-09-15T18:14:23.237 に答える
0

私は他の方法しか知りません。Dbo4は Java で開発され、C# バージョンは Java ソースから自動的に生成されます。

于 2008-09-15T17:48:46.060 に答える
0

良い方法はありません。私のお勧めは、Java でやり直すか、あなたが言ったように Mono を使用することです。

于 2008-09-15T17:48:54.297 に答える
0

適切な展開環境を確保せずに実装言語を選択したことが最初の間違いだったと思いますが、それについては今はどうすることもできません。私はMonoの方法が良いと思います。コードを書き直さなければならないことは、特に C# で書かれた大量のコードがある場合は特に、プロジェクトのコストを増加させるだけです。私は個人的に、可能な限りコードを書き直さないようにしています。

于 2008-09-15T17:49:53.467 に答える
0

メンテナンスの観点から、コードを書き直したと思います。プロジェクトの初期コストは上がりますが、後でコードを見る人にとっては労働集約的ではなくなります。以前の投稿者が述べたように、このように自動化されたものは「本物の」プログラマーほどの仕事にはなりませんし、行ごとの変換を行ってもあまり役に立ちません。後で動作するコードを作成したくはありませんが、維持するのは地獄です。

于 2008-09-16T14:35:21.023 に答える