企業の情報システムには、高い信頼性や可用性が求められる。このためシステムの構築にはそれらを実現できるプログラミング言語を使う必要がある。
そうした用途でかつてよく使われていた言語が「COBOL」だ。Common Business Oriented Languageの略で、日本語では「共通事務処理用言語」という意味になる。エンジニアではない事務員がプログラミングできることを目指して開発された。自然言語である英語に近い構文で記述でき、可読性が高いのが特徴だ。
過去にCOBOLは金融機関のオンラインシステム構築などで大きな役割を果たした。現在でも、一般ユーザーの目に触れないところで動いているCOBOLシステムは多い。
ただしCOBOLは幾つかの問題を抱えていた。最も大きな問題は、稼働基盤が事実上、メインフレームに限られることだ。オープンシステムやクラウドでCOBOLプログラムが動作する環境もあるが、COBOLで構築されたシステムはメインフレームの構造やエコシステムに深く依存している。メインフレーム以外の基盤に移植するには大変な手間がかかることが多い。
日本では、かつて日立製作所や富士通といったベンダーが米IBMのメインフレームの互換製品を提供していた。しかし日立製作所は既にメインフレームを製造しておらず、富士通も将来の撤退計画を発表している。国産のIBM互換メインフレームはいずれ消滅することが決まっている。
加えて、COBOLには互換性の問題があり、他のベンダーに乗り換えるのが難しい。COBOLの仕様は標準化されており、本来は互換性の問題は少ないはずだ。しかし、例えば日本語化は各ベンダーが独自に行っており、ベンダーごとに文字コードの方式すら異なる。それ以外にもベンダーが提供するCOBOLには独自仕様が多い。
つまりCOBOLシステムは、基本的にはいつか捨てなければならない。COBOLに代表される老朽化したレガシーシステムがデジタルトランスフォーメーション(DX)の足かせになる問題を「2025年の崖」と呼ぶ。
Javaエンジニアは調達も容易
COBOLに代わって現在、企業のシステム構築によく使われている言語が「Java」だ。JavaにはCOBOLが抱えていた問題がない。
Javaで構築されたシステムは、Java仮想マシン(JVM)が提供されている環境であればどこでも稼働する。実際にオープンシステムやクラウドといった環境でJavaはよく使われている。しかも仕様が統一されているため互換性の問題が少なく、同じコードがどんな環境でも動く。COBOLシステムのモダナイゼーション案件でもJavaを採用することが多い。
Javaで自社のシステムを開発しているSBI生命保険の池山徹取締役兼執行役員情報システム部担当は「少なくとも金融分野でJavaが他の言語に置き換わるとは思えない。基幹系の大規模開発では過去の実績が多く、リスクも見積もりやすい」と語る。「Javaエンジニアは多いため、開発人員を調達しやすい」(同取締役)というメリットもある。