現在、UNIXシステム用に作成されたC ++コードを変更して、Visual Studioからコンパイルすることで動作するようにしています。いくつかの組み込み関数の名前を変更する必要があり、動的配列の定義方法を変更する必要がありました。
私の質問は、このコードをUNIXからWindows / Visual Studioに「移植」しているのか、あるプログラミング言語から別のプログラミング言語に変更するとき(C ++からJavaに移植するとき)にのみ「移植」を使用しているのですか?
現在、UNIXシステム用に作成されたC ++コードを変更して、Visual Studioからコンパイルすることで動作するようにしています。いくつかの組み込み関数の名前を変更する必要があり、動的配列の定義方法を変更する必要がありました。
私の質問は、このコードをUNIXからWindows / Visual Studioに「移植」しているのか、あるプログラミング言語から別のプログラミング言語に変更するとき(C ++からJavaに移植するとき)にのみ「移植」を使用しているのですか?
回答:
ウィキペディアと私自身の個人的な経験によると、「移植」という用語は、本来意図されていなかったプラットフォームでソフトウェアを動作させることを意味します。このプロセスでは、言語の変更が必要になる場合がありますが、常にではありません。
この用語は、一般に、同じCPUおよびオペレーティングシステムでより少ないメモリで実行するようにソフトウェアを適合させるプロセスには適用されず、異なる言語でのソースコードの書き換え(つまり、言語変換または翻訳)にも適用されません。
Javaプログラムは「ポータブル」であると人々が言うとき、さまざまな異なるマシンやオペレーティングシステムと互換性を持たせるための追加作業が少なくて済むことを意味します。
オペレーティングシステム間でソフトウェアを移植できます。プロセッサアーキテクチャ間でソフトウェアを移植できます。主要なプラットフォームの変更(AppleのPPC-> x86スイッチ、またはWindows XP-> Windows Vista / 7/8)を扱う場合、通常「ポーティング」に関連付けるいくつかのアクティビティを実行する必要があります。プログラミング言語の切り替えを「移植」とは考えません。完全に書き換えるようなものです。
LinuxからWindowsへ、またはその逆にソフトウェアを移植しました。SPARCからx86(エンディアンの問題に対処するのが大好きです)および32ビットから64ビットにソフトウェアを移植しました。最近、私はJavaでプログラミングをしています...「移植」という言葉がJavalandで、おそらく主要なJVMバージョン間で意味を持っているかどうかはわかりません。
パブリッシャーはできるだけ多くのプラットフォーム(PC、Xbox、Playstationなど)をカバーしたいので、ポーティングはゲーム開発でますます人気が高まっています。前述のように、移植とは、元のプログラムを完全に異なるシステムで動作するように変換することを意味します。通常、ゲームメーカーはコンソールゲームをPCに変換します。