Javaで書き直しても消えない“COBOLの呪縛”とは?それでも「COBOL」は生き残る【第2回】

「COBOL」プログラムを「Java」で書き直す際の課題として、レガシーなプログラムが抱える構造上の問題を複数の専門家が指摘する。どのような問題につながる可能性があるのか。

2022年10月05日 10時00分 公開
[Stephanie GlenTechTarget]

 経験豊富な開発者でも、「COBOL」から「Java」といった互換性のないプログラミング言語間でソースコードを書き換えることは骨が折れる。このことが「COBOLプログラムのモダナイゼーション(最新化)を困難にしている」と、ソフトウェアベンダーTrussWorksのアプリケーションエンジニアリング担当シニアディレクターであるニック・トワイマン氏は指摘する。

Javaに書き換えても残り続ける“COBOLの呪縛”

 ソフトウェア開発者のトム・タウリ氏は、COBOLからJavaへの書き換えが難しいことに同意する。タウリ氏は、メインフレーム用プログラムのモダナイゼーション方法を解説した書籍『Modern Mainframe Development: COBOL, Databases, and Next-Generation Approaches』の著者だ。

 「古いプログラミング言語で書かれたソースコードにはしばしば、『goto』(GO TO)といった思いがけない結果を生む恐れのある指示がある」とタウリ氏は言う。gotoは、ソースコードの特定の位置に無条件でジャンプする構文だ。

 トワイマン氏によれば、現代の開発者にはレガシーなCOBOLプログラムのソースコードの意図が伝わりにくい。結果として開発者は、ちぐはぐなJavaプログラムのソースコードを作り出してしまう。そうして生まれたソースコードは概して保守性が低く、不明瞭になる。

 「開発者が直面する別の問題は、レガシープログラムの機能を説明したドキュメントがないことだ」と、Webマーケティング企業Gravywareのプレジデントを務めるデビット・ガルテ氏は話す。「さまざまな開発者が修正を加えてきたレガシーなCOBOLプログラムは、機能がばらばらに実装されており、ソースコードが肥大化している可能性がある」とガルテ氏は指摘する。

 ガルテ氏は「たいていの企業は、プログラムのどの機能をよく使うのかは分かっていても、全機能について必要かどうかを判断できない」と語る。そのせいで開発者は、エンドユーザーがほとんど使わない機能の移植に取り組まなければならない場合がある。その結果「ほとんどのモダナイゼーションプロジェクトが問題を抱える羽目に陥っている」(同氏)という。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news099.jpg

CMOはつらいよ マッキンゼー調査で浮かび上がるAI時代の厳しめな業務実態
生成AI、研究開発、価格戦略……。慢性的なリソース不足の中でマーケターの業務範囲はま...

news017.jpg

「リンクレピュテーション」とは? SEO対策や注意点もわかりやすく解説
「リンクレピュテーションって何のこと?」「なぜ重要?」「リンクレピュテーションを意...

news213.jpg

MAツール「MoEngage」 DearOneが日本語版UI提供へ
NTTドコモの子会社であるDearOneは、AI搭載のMAツール「MoEngage」の日本語版を2025年1月...