TIS株式会社の資料より 前記4つの方法はそれぞれ一長一短がありますが、一番失敗が多いのはリビルドになります。これは筆者の感想ではありません(参考:失敗しないレガシー・マイグレーション)。ですから、まずリプレースが可能か判断して、できなければリホスト、さらにできなければリライト、最後にリビルドを試していくのが順番でしょう。しかしプログラミング言語の変更はハードルが高いです。 そもそもCOBOL言語はALGOL系(ALGOL,C,Java...)の言語と非常に相性が悪いです。COBOLで最適化された設計というのは、ALGOL系では良い設計とはなりません。またCOBOLとオブジェクト指向との相性も良くありません。COBOLではデータと手続きは厳密に分離されています。1つの手続きが複数のデータを次から次へ処理するのがCOBOLの発想です。逆に一つのデータを複数の手続き(プログラム)で処理すること