以前に基本情報処理試験でCOBOLが廃止になるとのことで、思うことを書きました。
そんな中、COBOLの研修事業を行うと言うニュースが飛び込んできました。
記事内では「枯れた言語」との記載がありますが、やはりCOBOLを利用している案件を抱える会社はありますし、実際に知っていますのでまだまだ必要な言語なのかと思います。
枯れた言語
様々な言語がある中で、最近あまり聞かない言語はあるかもしれません。
トレンドはJavaScriptですし、情報量はそう言った言語の方がたくさん飛び込んできます。
しかし、例えばプロトコルやカーネルといった根幹を開発する場合、今でもC言語は現役かと思います。
なかなか、C言語の案件を探すのは難しい時代になっているかもしれませんが、必要としている現場は存在します。
C++の言語仕様を理解している技術者がなかなか集まらず、C言語を選ばざるをえないと言う状況もあったりするかもしれません。
最近では、RustといったC \C++の代わりを目指している様な言語が登場し、流れは変わってきているかもしれません。
GO言語が流行ったこともあり、高速な言語としてC言語ではなく、GOまたはRustといった選択肢も出ているのかもしれません。
新しい言語
しかしながら、例えばLinuxのカーネルをRustですべて書き直すかと言うとそういったことはいつの日か訪れるのでしょうか。
残念ながら(?)、近い将来にはその様なことはない気がします。
多くの場合、現状のソースコードは度重なるテストをし、多くの方に利用して頂き、脆弱性が見つかり、改修を行う。
そういった繰り返しで強固になったシステムを新しい言語で書き換えると言うのは非常にリスクのあることです。
そもそも、言語そのもの、コンパイラなどに脆弱性が含まれているものです。
Rustで完全なコピーを実装したとしてもコンパイラの性能によって、異なるバイナリが生成され、脆弱性となり得るのです。
COBOLの継続性
COBOLでは計算に強いといった特徴から、金融関連のシステムで利用されることが多いと聞きます。
こういったシステムにおける脆弱性は非常に問題があり、新しい言語での実装は選択しづらい様に感じます。
COBOLで積み重ねられた実績は未来永劫に近い期間、続くのではないかと思ってしまいます。
そういった時に「COBOLが廃れていく」と言う情報で技術者が減ることで、逆に現在の技術者は貴重な存在になっていくのかと思います。
建造物や工芸品を生み出す職人とは少し違うプログラマーです。
建物なら建て替えのタイミングに新しい技術で建て替えるでしょう。
工芸品ならば、新しい技術で物づくりするかもしれません。
そういった物理的なものと違って、半永久的に存続する論理的なプログラムは技術者がいなくなってしまうことはあってはならないのかもしれません。
国家資格である基本情報技術者試験でCOBOLが廃止となる一方でCOBOLの存在は継続します。
COBOLの存在価値は高まるのだと認識したいと感じました。