プログラム言語の進化

コンピューターのプログラム言語も最近は進化して、プログラムをしなくてもアプリを作れるノーコードと言うものまで出現しているらしい。

これまでアプリを作ろうとすれば、専門書を買ってプログラムを勉強してと言うイメージだったから、そのような苦労をしなくてもアプリを作れるようになると言うのが、実に未来的であると言える。

 

それにしても人工知能の助けがあっただろうとは‌言え、人間がプログラミングをしなくてもアプリを作れるようになるとはまったく予想していなかった。

 

私も昔は多少プログラミングをしていたが、当時はプログラムも今ほど進化していたわけではない。乏しい資料だけを頼りに、プログラミング支援ツールもほとんどないまま、プログラムコードを一行一行書いてプログラミングをしたのである。昔のプログラム言語、BASICであるとかCOBOLであるとか、そういう古いプログラミング言語の時代である。

 

当然そんな状態であるから、プログラムするのも時間がかかる。プログラムを一通り完成させて動かそうとしても、今度はプログラムの動作ミスとの戦いである。意図したようにプログラムが動いてくれないというのがザラで、どうしてそういうことになるのかと言えば要するにプログラムコードのどこかでキーボードの入力ミスをしていたり、あるいはそもそもプログラムの設計を間違えていたりしているわけであるが、それではどこでそういうミスをしたのか、その原因が見当もつかない。すぐにミスの原因を発見できることもあるが、1日あれこれ考え、さらに2日3日あれこれと調べてみたのに、それでも原因が見つからず問題を解決できないとか、そういう困難にもしばしば直面した。

当然そういう状態であるから、プログラミングにも時間がかかってしまうわけである。それが古い時代のプログラム言語における標準であった。

 

それでもどうしてそのような苦労をしてでもプログラムをしたかと言えば、アプリが無かったからである。

たとえば昔に自作したプログラムと言えば、小説などで1ページに2段組にした状態で紙に印刷するプログラムなどがあった。1ページに2段組に表示する機能など、今のワープロ系の文字入力アプリでは珍しい機能ではない。Microsoft WordやGoogleドキュメント、OpenOfficeなどの一般的なワープロアプリで縦書き2段組レイアウト指定は普通にできるし印刷もできる。しかし、昔はそのようなアプリが無かったので、2段組印刷をしようとすればプログラムで自作するしかなかった。とは言えプログラムの仕組みそのものは子ども騙しの単純なもので、文字の並びはワープロソフトの上では本当は一段であるのだが、それを見かけ上2段組印刷をしているかのように一行の中の文字を並び替えているだけである。そういう子ども騙しの仕組みではあったが、何しろ当時は気軽に2段組印刷をできるアプリなど流通していなかったから、よく目立ったものである。まさに厨二病と言うべき古傷である。

 

とはいえそういったアプリの自作はまわりでもよくおこなっていた。とにかく当時はアプリが不足していたから、何か満足できるものを揃えようとすれば自分で作るしかなかった。それを前述の通りの不十分なプログラミング環境で、古いプログラム言語で、何かあれば意図した通りの動作をしてくれない状態に直面して、それを時間をかけながら解決してと言うプロセスを経てである(実際問題として言えば、問題を解決できずに放置することもあった。原因を特定できないエラーが発生するけどそれほど頻度が高くもなければ一般に流通させるわけでもないので、多少の不自由は我慢して使ってしまおうと言うことである)。今では信じられない環境であるが、当時はそういう環境でのプログラミングだったのである。

 

とはいえ、そこにはやはり作る楽しみもあれば必要性もあった。あれも必要これも必要で、開発しなければならないアプリのリストが結構なボリュームになってしまうのである。今でもプログラミングでアプリを自作しようとする人は、そういう自分で作成しなければならないアプリリストをメモしているかもしれない。やはり一度プログラムを始めれば、あれやこれやと必要な物が多数出てくる。

ただ、昔のプログラミングはそのリスト通りにアプリを開発していくのにとにかく時間がかかった。途中で挫折することもあった。それが今ではノーコードのおかげで思いついたアプリをツールのガイドに沿って作ってすぐ完成と言うわけである。なるほど、今の時代はなかなか恵まれている。

 

とはいえ個人的には最近のプログラムを勉強する時間を取れるわけでもなく、やはり時代から取り残されてしまうのだった。最近はアプリが充実していて、使いたいと思う機能は一通り揃っているから、常に何かプログラミングしないと必要な物が揃わないと言うわけでもない。ただ、プログラミングは常に最新の技術にしがみついてないと、進歩が早いからあっと言う間に時代から遅れてしまう。このあたりでたまに何か思いついた時だけ少しプログラムすると言うスタイルだと、どうしても最新のプログラム技術を取り込めなくなってくる。こう言う状態をアマチュア思考と言うのかもしれない。