ノーコード体制を実現するには、何を直すべきか? | ノーコードプラットフォーム

ノーコード体制を実現するには、何を直すべきか?

 


  コーディング技術の構造的な問題点

 


プログラムを開発するにあたり、人類が過去60年以上使用してきた唯一の技術がコーディングだと言える。
しかし、コーディング技術は以下の2つの深刻な構造的問題を抱えていた。 それで学ぶことも難しく、十分に熟練した人々の生産性も非常に低い水準に留まるしかなかったのである。



コーディングの構造的問題点
 

したがって、真の意味で実用的なノーコード開発プラットフォーム体制とノーコード技術を実現するためには、これまでコーディング体制において最も深刻な問題とされてきた構造的な問題を抜本的に解決した技術構造*((Architecture)を開発しなければならない

 


   ノーコード開発プラットフォーム体制とノーコード技術の第一の課題

今まで作られたアプリプログラムの内部構成を見ると、全く異質な性格を持つ「ロジック」と「機能」を混合して一緒に具現化してきたことがわかる。

「ロジック」はある仕事の処理方法や手続き、特定の事実(知識やノウハウ)を含むデータあるいはプロセスを含む文書(Form)で、その性格そのものが静的である。

今日、アプリは世の中のすべてに関連して作られ、また使われているため、「ロジック」は盛り込まなければならない対象が余りにも広く、多様であるという特性を持っている。

まるで世の中のすべてにそれぞれ違う影のように計り知れないほど多様である。

「機能(Function)」はユーザの何らかの操作に関連してコンピューティング装置が実際に駆動される動作であり、生まれつき動的特性を持っている。

しかしロジックと比較してみると、機能の種類は相対的に多くなく、いくつかのタイプで定型化も可能といえる。



コーディングは機能とロジックを混ぜる作業

 


一般に「機能」はある動作に関連するものであり、コーディング作業を通じて実現するのが妥当である。

しかし、「ロジック」は大部分静的データ形態であるため、あえてコーディング方式を通さなくても容易に表現して具現化することも可能である。

​さて、これまでのプログラミング作業は、このような異質な2つの要素を混合して、いずれもコーディングで具現化してきたことが問題といえる。 それで具現化するロジックが少しだけ違ったり、変わったりする場合でも、それ相応のコーディング作業を無数に繰り返して行うしかなかったのである。

​これまで作られたアプリプログラムモジュールで、ロジック部分を除いた機能部分に該当するコードを見ていくと、いくつかのタイプに分けることができる。

そして、各タイプ別にコードが非常に類似しているということを発見することができる。

それでも世の中にはプログラムとして具現化する対象(ロジック)は余りにも多く、それだけ多くのロジック相応の機能を、毎回新しくコーディングする方式で具現化してきたと言える。

​従って、現在までソフトウェア工学が抱えている最も深刻な構造的な問題を、どのように体系的かつ科学的に解決するかが、ノーコルド技術の成否と実用性を左右することになる。


  
ノーコード開発プラットフォーム体制とノーコード技術の2番目の課題



コーディングは人間を機械的な行動をするように訓練する過程


これまでのソフトウェア工学の体系では、アプリケーションプログラムを作り出すために人々を機械装置のように考え、行動するように教え、訓練する技術、すなわちコーディング作業に頼らなければならなかった。
C、Java、Basic、Pythonなどのプログラム言語は、電子機器を制御するのに適しているように考案された。 したがって、一般人の理性では理解も容易ではなく、上達することはさらに難しい。
たとえ特定の言語に慣れても、プログラムで具現化する最終目標が、電子機器で動作されるデジタル体系の中のある機能ではなく、人間の世界でアナログ方式で処理されることに関わる機能や動作である。

​このような処理機能は、その構成や動作原理が完全に異なり、非常に複雑で曖昧な場合も多いが、非常に断片的な電子機器の機能や動作処理手順に従っている機械的なアルゴリズムに合わせて具現化しなければならない点が、ますます困難になっている。




プログラマーは機械が理解する言語に翻訳する通訳者の役割


結局、開発者は非常に複合的でまとまっている人間の世界のことを、断片的な機械機能に合うようにごく小さな単位に分解し、機械が理解する言語にいちいち翻訳して知らせる通訳者のような役割を果たすことになる。
それがすなわちプログラムコーディング作業といえる。 それでコーディング作業は誰でもできなかった。 統計によると、普通の人100人のうち、わずか1~2人だけがこの技術を習ったり、駆使できるという。
そしてこの仕事に携わる専門技術者たちの生産性も非常に低く、全産業平均にもはるかに及ばない低い給与を甘受しながらも、夜勤と特別勤務を繰り返すしかない限界状況に直面していた理由もこのような技術的構造による問題と言える。

従って、これまでソフトウェア技術界で金科玉条とされてきた「コード」という概念と「コーディング」という作業を完全に排除しなければ、誰でも簡単に学び、早く熟練し、実務適用した場合、高い生産性を出す、真の意味でノーコード技術を実現することは容易ではないだろう。
​プログラミング作業で具現化する目的に該当する人間界で処理する仕事の内容と、それを具現化する手段に該当するツール(プログラム言語など)が全く異質な概念や体系と構造を持っている。

​したがって、以上の2つの要素をどのような方式で同一の概念と体系で作り出せるかが、ノーコード技術の成否を左右するもう一つの核心要素になっている。

 

 

 

ノーコード技術ジャーナルは下記のような順序で記述されています。
最も良い方法は順番に読むことを推奨します。

 

第1編 ソフトウェア工学とノーコーディング技術

1. [ノーコード技術] なぜ、今...「ノーコードプラットフォーム」ブームが起こっているのか?

2. [ノーコード技術] ソフトウェア産業従事者への深層情報提供が目的

3. [ノーコード技術] ノーコード技術とコーディングの根本的な違いは何か?

4. [ノーコード技術]ノーコードソリューションとローコードソリューションはどのように異なるのか?

5. ノーコード体制を実現するには、何を直すべきか?

6. ノーコードソリューションが、本当にCやJavaの代わりになるのか?

7. ノーコードソリューションの基本的要件は何か?

8. 「ノーコード開発プラットフォーム」が第4次産業革命のエンジンである理由

9. エンタープライズ・ノーコード・プラットフォームの選択基準

10. ノーコード開発プラットフォームは、実務用プログラムの制作に制約のない技術選択が必須