orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

ローコード・ノーコードの話

f:id:orangeitems:20211203160557j:plain

 

最近はとにかくデジタル化しなければいけない、という状況のもと、何かと言えばプログラミングなのですが、このプログラミング。結局はテキストから形成されるテキストの集まりです。文字です。この文字と相性のいい、論理であったり数学であったりといった分野では無類の性能を発揮し、今や社会を大きく動かす原動力となっています。

ところが、プログラミングするのが苦手な分野があります。運動やスポーツ、芸術、デザインと言った分野です。これらを言語化することは一種の才能が必要になり、再現することが難しい分野です。例えばゴッホの美術作品を生み出すプロセスをプログラミングすることができるか。最近ではAIが取り組んでいる分野ですが、AI自身には高度な数学のバックグランドが必要です。プログラミングは一般の人でもルールをおぼえればコードを書けるぐらいでないと社会貢献できるほどの能力を持てません。

数学のルートでいけばAIの実装は開けてきますが、全員が数学の知識を身につけるというのは絵空事です。単純に人が足りません。AI人材を育てるという話も数年前に聞いたのですがたくさんの人々がドロップアウトしたのではないでしょうか。それより、普通にプログラミングを学習し、システマティックなコーディングを日々行ったほうがまだ、生産性が高い話です。

さて、プログラミングが及ばない分野があることは前述のとおりですが、この分野を何とかしたい、というときのローコード・ノーコードです。端的にはグラフィカルインターフェースにて非言語に意思を機械に伝え、それを機械側で文字に変換しロジックを決定するというプロセスになります。

過去、巨人の長嶋名誉監督が、「あとはバァッといってガーンと打つんだ。」とおっしゃったという伝説がありますが、指示を受けた方は???となりますよね。これをノーコードやローコードがどのように入力を受け付けるかは方法論であり様々ですが、この分野にAIを活用しカメラによる映像入力を受け付け、コーディングなしで情報を伝えあとは機械にてロジックを組み立てる、これに取り組まないといけない時代が来ているという解釈をすべきだと思います。

もともと現在のプログラミング言語も、高級言語と言われ、人間が手打ちしたソースを自動的に解析し低級言語に変換して機械は実行されています。ですから人間がもはやコーディングしなくても機械にて言語化し、最終的に低級言語に変換したって、実はやっていることは何も変わらない、ということになります。

プログラミングとは、真っ黒な画面に小さな文字でアルファベットをたくさん打ち込み、実行してはデバッグし最終型を作る。これは数十年人間が取り組んできたことですので、ローコードやノーコードに拒否感があり、かつどうせ使い物にならない、と視線をそむけるのは理解できます。しかし、もともとはC言語しかなかったところに、Javaが現れその後また違う言語が現れ、どんどんとプログラミングが簡素化していった歴史をたどれば、最終的には非言語的なインプットによるプログラム開発が現実化しても全く自然と言えます。

私も然りですが、もともとプログラム作成からパソコンの世界に入ったのですが、作りたいものがどうも非言語的な世界で、プログラミングでは作れないなと思ってふと気づいたら、インフラの世界にずぶずぶに浸かっていたのですが、いよいよプログラミングも非言語的な分野にたどり着いてきたような気がします。ロジカルな部分や依然として従来の高級言語は必ず残りますがその一方で、AIやGUIを駆使した非言語的なプログラミングがいよいよ個人の手が届くところに近づいたのではと期待しています。

とはいえ、システム開発の基本はウォーターフォールで、ローコード・ノーコードの分野も伝統的なしきたりを守りつつ、ITの世界にうまく取り入れられていくのではないか、と思っています。