人口減少と産業構造(15)現実がSFを飛び越していく

2本目の小説を9月頃には、仕上げようとしていましたが、将来予測の部分で躓いて、このブログに、検討結果を「人口減少と産業構造」シリーズで、掲載しています。

小説のテーマは、自治体のDXです。

11月30日に、AWS(アマゾン・ウエブ・サービス、アマゾンのクラウドサービス)は、業界別のクラウドサービスを拡充すると発表しました。

現在、世界のクラウド・サービスは、アマゾン、マイクロソフトGoogleの3社の寡占になっています。

Googleは、後発でしたが、赤字覚悟で、シェア拡大を進めています。Googleクラウド・サービスはまだ、黒字になっていないと思われます。

2021/12/05の日経新聞によれば、AWSの新しいサービスには、COBOLのアプリの自動コンバータが含まれる予定だそうです。

みずほ銀行のシステム障害が問題になりましたが、このシステムは、COBOLで書かれていて、メンテナスできる人がいないようです。このシステムは、4000億円をかけて、開発していますが、一部には、古いCOBOLコードを残していたようです。

COBOL言語は、オブジェクト指向ではないのでシステムが巨大化すると、メンテナンスが不可能になります。ですから、AWSのように、移植することが基本と思われます。

一方、最近プログラム言語をほとんど使わずに、モジュールを組み合わせるだけで、アプリケーションを作ることができる、ユーティリティも充実してきています。

これは、昔からある方法ですが、実装が充実してきたということです。

昔のワインバーグの本に、明日までに、100桁の円周率を求める宿題を出した例がのっていました。解決法は、学生によって違います。今風に書けば、次になります。

1)円周率の載っている数表を見つけてコピーしてくる。

2)円周率を計算するプログラムを作成して、円周率を計算する。

3)Rのpi関数をつかう。(注1)

「プログラム言語をほとんど使わずに、モジュールを組み合わせるだけで、アプリケーションを作ることができる、ユーティリティ」とは、3)のアプローチです。

COBOLのようなライブラリの貧弱な言語を使わなければ、プログラム言語でコーディングする作業と、「プログラム言語をほとんど使わずに、モジュールを組み合わせるだけで、アプリケーションを作ることができる、ユーティリティ」の差は、あまり大きくはありません。

RやPythonのように、ライブラリの充実した言語を使えば、大抵のアプリは、10ページ以内で、プロタイプが、かけるはずです。プログラムが長くなる原因は、エラー処理などの例外処理手順の組み込みで、その部分もライブラリに入っていれば、コードは長くはならないと思われます。もちろん、実行速度は、C++に及びませんが、画像処理などを除けば、実行速度が問題になることは少ないと思われます。

このペースでいくと、10年たつ前に、ベンダーにアプリ開発を発注して、DXをすすめること自体がなくなりそうです。

その場合に、独自のクラウドシステムをもっていないベンダーは、淘汰される可能性が高いと考えます。

すくなくとも、Googleが、当面赤字でも、クラウドに邁進している理由は、その辺りにあると考えています。

注1: 標準のRでは,浮動小数点数の精度は53ビット(ほぼ十進16桁)程度です。

奥村 晴彦氏は、Rmpfr パッケージを使った、任意精度の数値の扱いを紹介しています。

install.packages("Rmpfr") # Rmpfrのインストール

library("Rmpfr") # このセッションでRmpfrを使う

PI = Const("pi", prec=1000) # 1000ビット精度の円周率