LCD logo

LCD logo

ローコードはシステム開発の主流になるのか?

私が最初にプログラミングに触れたのは小学校4年生。
ファミコンのようなゲームを作りたい、その想いだけで「マイコンBASICマガジン」というプログラミング雑誌を片手に、訳のわからない単語や記号をカチカチと大きな音を立てるキーボードで打ち込んでいた。
当然、打ち込んだ単語や記号に間違いがあると「エラー」でプログラムは動かない。途中まで動いて、いいところで突然「エラー」なんてこともよくあった。
単純な入力ミスがほとんどだが、ゼロとアルファベットのオーの読み間違え、小文字のエルと大文字のアイの打ち間違いなど、多くの「ヒューマンエラー」が不具合の原因だった。

当時のパソコンは、メーカーかつ機種毎にプログラミング言語仕様が異なっており、基本的なプログラミングの構造は同じだが、機種毎にプログラムを作り直す必要があった。
当時のパソコンは、各メーカーがハードウェアの性能で差別化しており、その独自機能を使うために、機種毎にプログラミング言語は多少異なっていたのだろう。
中学校時代、何度か異なるメーカーのパソコン間でプログラムの移植にチャレンジしたことがあるが、なかなか難しく完成させることができなった。

近年、ローコードやノーコードの発展によって、プログラミング作業の多くが自動化される時代になってきた。
プログラミングの自動化ツールは、突然出てきたわけではない。
それまでにもCASEツールやRADツールなど、プログラムを自動生成する開発ツールが多数存在していた。
2010年前半にローコード製品を紹介したときは「昔からあるよね、あんまり使えないんだよねぇ」と一蹴されたこともあった。
確かにCASEツールやRADツールのブームは過去に何度もあり、現役で使われているものは僅かだ。
このローコードの流行も一過性のものなのだろうか。

1980年から2010年代にかけて、コンピューターのハードウェア機能の抽象化と仮想化が進んだ。
まずプログラムを動かす部分が「オペレーティングシステム(OS)」というソフトウェアで抽象化され、これまで機種毎に必要だったプログラミング言語は、OS単位の言語に大きく集約された。
その後、ハードウェア機能自体をソフトウェアで実現した「仮想マシン」が生まれ、この技術をベースに「クラウド」が生まれた。約40年間で、ハードウェアのビジネスが、ソフトウェアのビジネスに大きく変化したのである。

私は、ローコードやノーコードの発展を、プログラミングの抽象化の一つの流れと考えている。
私がITに触れた小学校の頃から、ソフトウェアを作るためにプログラミングを行うという行為自体は変わっていない。
プログラミングを作る環境は大きく変化しているものの、その本質は同じである。
CASEツールやRADツール、ローコードは、プログラミングをゼロにしているのではなく、プログラミングを高度に抽象化することで、設計と実装と実行の時間を限りなく「同時」に近づけているのである。
かつて、フローチャートを紙にかいてプログラムを設計し、キーパンチャーでプログラムを実装し、それをロードして実行するという工程が、いまや数分で行うことができる。
ローコードやノーコードが進化すればするほど、この3つの行為は「同時」に近づいていく。
子供の頃に苦労したヒューマンエラーもなくなり、ソースコードの自動生成によって品質も担保されるのである。

ITは常に「新しいもの」でなければならない。
ローコードも、ハードウェアやオペレーティングシステムの進化に伴い、常に進化を続けなければならないのである。
しかしながら「新しいもの」は、いまの価値基準で価値を測ることはできないため、どちらかというと受け入れ難い。
このため「新しいもの」は、常に古いものが築き上げた常識と価値基準を壊しながら、新しい常識と価値基準を作りつつ、進化して行かなければならないのである。
最新のローコードを見たときの「心地悪さ」は、現状を強く否定できる本当の新しさがあるからである。

これまでのCASEツールやRADツールは、決して「使えなかった」わけではない。
それを取り巻くハードウェアやソフトウェアの環境の変化とともに、価値基準が変わり、それに迅速に対応することができなかったのだ。
いまのローコードやノーコード製品も、プログラミング環境の変化に追従できず、なくなっていくものも必ずあると考えている。
しかし、それ以上に「新しいもの」が生まれ、新しいプログラミングの概念を作り上げていくだろう。
どんなにプログラミングが抽象化されても、ソフトウェアを作るためにプログラミングを行うという本質的な考えがなくならない限り、ローコードは主流であり続けるはずである。


2022年11月08日 ローコード開発コミュニティ幹事 松岡真功(株式会社BlueMeme)

コラム一覧へ戻る