人類が解決すべき「SW工学の構造的な問題」

ソフトウェアに関する今まで発生している多くの問題は、SW工学の二つの構造的な問題から始まっています。

一つ目の問題は、あるプログラムの内部を構成する必須要素ですが、完全に異なる性格を持っている「ロジック」と「機能」を混合し実装してきた事です。
「ロジック(Logic)」とは、ある仕事の処理方法、手順、特定の事実(Facts)を込めているデータ、情報、あるいは知識で、静的な性格を持っています。現在のプログラムは世界の全てに対応して作られることを考えると、「ロジック」はその範囲がごく広くて、多様な種類が必要です。
反面、「機能(Function)」とは、利用者の操作に反応して装置が実際に実行される動作で、動的な性格を持っています。ロジックと比べると、機能の種類は少なく、定型化したいくつのタイプで定義できます。
二つ目の問題は、プログラムを開発するために、人間を機械装置のように考えて行動するよう教え、訓練させる技術、すなわちコーディングの作業に依存しなければならないという事です。C、Java、Basic、Pythonなどのプログラミング言語は電子機器をコントロールするために考案され一般人の理性では理解もできず、上達も難しいです。

言語には慣れても、開発するプログラムの最終目標は、世の中のアナログ方式の仕事をプログラムで処理することです。このような目標を機械的なアルゴリズムに合わせて実装する方式がコーディング技術の難易度をより上げています。

このように基本的に難しいコーディング技術とコーディング技術を繰り返すことしかないSW工学アーキテクチャの構造的な問題が今のSW業界が直面している全ての問題の根源であることは、誰も否定できない事実です。しかし、SW業界はこの事実から目を背けていました。上記の問題2つは、解決できない運命や、仕方ない環境のように受けられてきました。

「SmartMaker」は世界のすべての場所で、人類が直面しているこのSW工学の問題を、根本的に解決した世界初のソリューションです。
1.伝統的なSW工学の技術構造とアーキテクチャの問題
一般的に「機能」は、ある動作との関連を意味し、コーディング作業で実装するのが望ましいですが、「ロジック」はほとんどが静的なデータや、情報なので、あえてコーディング作業で実装しなくても簡単に表現し、構成もできます。
今までプログラムは、このような全く違う要素を混合して全部をコーディング作業で実装してきたのが問題といえます。それで、ロジックが少し異なる場合や、変わる場合にも、コーディング作業を繰り返すことしか方法がありませんでした。コーディングの結果を見ると、ロジック以外の残りのコードはいくつかのタイプで分類でき、そのタイプ毎のコードは各々が似ていることを発見できます。開発すべきプログラムは多すぎますが、これほど多くのロジックを全部コーディングで実装し、これからもコーディングで実装するしかない現実は、SW工学の最も深刻な構造的問題です。
結局、開発者は非常に複雑でひっくるめてある世の中の物事を細かい機械の機能に合わせて分解して、機械の言語に翻訳する人だといえます。それがつまり、コーディングです。これはコーディングが難しい理由でもあります。統計によると、100人中の一人、二人だけがこの技術の学習を続いています。
なお、この技術を用いるプログラマーの生産性も低く、残業を繰り返す技術的限界に直面しています。

特に、ここ十年、全ての分野でモバイル化し、第4次産業革命も本格化して国家と社会の全般でSWの需要が爆発的に増加しています。需要は持続的に増えると予想されますが、SW工学の構造的な問題と供給者側の事情により、これからも相当期間、SWの不足現象は続くことが確実だと思われます。
MyPage
SITEMAP