2008-09-15 14 views
4

クライアント側とサーバー側の両方で.net(C#)を使用してクライアントサーバーアプリケーションを作成し始めます。JavaコードでC#コードを書き直したり変換する方法は?

残念ながら、私の会社はサーバーボックス上でWindowsライセンスを支払うことを拒否します。これは、Javaでコードを書き直す必要があること、またはMonoの方法に進むことを意味します。

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

ありがとうございました。

+0

私は重複した質問を見つけたと思う:http://stackoverflow.com/questions/78811/is-there-an-effective-tool-to-convert-c-sharp-code-to-java-code –

答えて

6

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

+4

私はグラスホッパーについて何も知らないが、それは悪い考えのように聞こえる。 Javaでこのアプリケーションを実行し維持するつもりがあれば、C#ではなくJavaでソースを使いたいと思っています。 – shsteimer

0

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

0

いい方法はありません。 Javaでやり直すことをお勧めします。

0

最初の間違いは、適切なデプロイメント環境を確保せずに実装言語を選択したことだと思いますが、今はそれについては何もできません。私はモノの方がいいと思うだろう。コードを書き直すと、特にC#で書かれたコードの量が多い場合にのみ、プロジェクトのコストが上昇します。個人的には、できる限りコードを書き換えないようにしてください。

4

可能な解決策はさておき、別の言語に一つの言語で書かれたプログラムの直接の翻訳は、一般的に悪いアイデア™と考えられている - この翻訳は、いくつかの自動化された方法で行われている場合は特に。 「本当の」プログラマが行ったとしても、アプリケーションを1行ずつ翻訳すると、それぞれの言語に独自のやりとりや弱点があり、やや異なったやり方で処理する必要があるため、望ましい結果が得られないことがよくあります。

痛みを伴う可能性がありますので、それはあなたの雇用者が必要とする場合は、おそらくあなたの最大の利益とJavaで書き換えるためにこのアプリケーションを維持する必要があります。

0

JavaとC#は構文とセマンティクスでかなり近いです。本当の問題は小さな違いです。彼らはあなたがそれを期待していないときにあなたを噛むだろう。

0

ライセンスはあなたのために働く(無料のバージョンにはいくつかの重要な制限があります)場合、Grasshopperは現時点では本当に最適なソリューションです。モノクラスのlibsに完全に基づいていますが(実際はかなり良いですが)、標準Java VMの上で動作します。私の経験では、Java VMのように優れているのは一般にMonoよりも少し速く安定しているからです。 Forms/Graphics関連のAPIに関してはMonoよりも弱点がありますが、その多くはMono VMからJavaに移植されていないためです。

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

0

私はmaintanceスタンドポイントからコードを書き直して言うでしょう。それは、プロジェクターの初期コストを引き上げることになりますが、コードを見ている人にとっては後で労働集約的ではありません。以前のポスターのように、このような自動化されたものは、「本物の」プログラマとしての仕事ほどうまくやることはできず、行単位の変換もあまり役に立ちません。後でそのコードを生成したくないのですが、維持するのは大変です。

関連する問題