
プログラミングの三要素
一ヵ月ほどプログラムを教えるということをやっていたのだけど、プログラミングを学ぶために最低限知る必要があるのは下に書いた3つしかないのではないかと思い始めている。
一つ目: プログラムというのは何かを頼むとそれをやって何かを返してくれるもの。頼み方や返し方はいろいろある。プログラムが別のプログラムに頼んだりすることもよくある。(これが一番重要だが奥深い)
二つ目: プログラムの中で計算(四則演算など)や条件判定ができるようになること。一度覚えればよい。
三つ目: プログラムの中で繰り返しができるようになること。一度覚えればよい。
これを基礎編として。応用編を考えてみた。いろいろな方向に広がっていくとは思うが、基本的には一つ目をどう掘り下げるかという話。
大学の講義では、「検索エンジンを作る」と称して下記の3つを説明した。
一つ目: インターネット上の情報とやりとりできるようになる。
二つ目: 記憶装置(SSDとか)とやりとりできるようになる。
三つ目: 人間とやりとりできるようになる。
もちろん簡易的なものだけど、「やりとり」の方法や対象はプログラムを書く上で最も重要ではないかと考えたからだ。
この辺までできると、どこにAIを使ったらよいか、みたいな話も少しずつ考えられるようになってくる。
どんな風にAIに頼めばよい答を返してくれるかは奥深い世界だが、プログラムが頼み事頼まれごとをつないで成り立っていることがわかれば、全部でなくて一部を頼んで自分でつないでみたり、といったアイデアもいろいろと出せるだろう。
プログラムを書かなかったとしても、プログラミングを学ぶことに意味はあると思う。AIの登場で必要なくなるという人もいるけれど、そうなるのはかなり先の話ではないかなあ。ぼくはプログラミングは単なるコツだと思っているので、プログラムは書けない/書かないと思っていても、プログラマー的な頭の使い方ができる人はたくさんいると思っています。