目覚まし時計の設定はプログラミングである
目覚まし時計の設定はプログラミングである
例えば、たとえば料理中に「アレクサ、タイマー五分」と言ったりする。目覚まし時計の設定はプログラミングであるという増井俊之流の定義に従えば、これは音声プログラミングと言える。
実世界中の様々なセンサを利用したプログラミングは実は現実にいくらでも利用されています。たとえば「7時になったらベルが鳴るように目覚まし時計をセットする」という行動は、センサとアクチュエータを内蔵する目覚まし時計という装置のプログラミングですし、
「建物に近付くとドアが開く」という自動的ドアは、人感センサとドア開閉機構を結びつけるハードワイヤドなプログラムで動いていると考えることもできます。
全世界プログラミングができるようになれば、このような処理を含むあらゆる処理を自動化できるようになるでしょう。
そうそう。実世界のシェルスクリプト。大して複雑なことはいらないんですよ。ループとかいらないの。condition と action だけあればいい。目覚まし時計なんてそうですよね。あれは、針がここに来たら鳴る、という Visual Progiramming をしてるんですよね。わかりやすい。よくある、ビデオの録画指定というのは、その辺がいまいちわかりづらいですよね。ちょっと抽象的思考が要求されるから。
本書では「目覚まし時計」が一番端的にわかりやすいプログラミングの例として出てくる。
朝6時になったら音を鳴らせ(時刻の設定)
音量は中くらいにして、水滴の音にする(音の設定)
最初は小さく、だんだん音を大きくする(スヌーズの設定)
ボタンを押されたら音を鳴らすのをやめる(停止条件の設定)
こうした手順を通じて、徐々に目覚まし時計というものの機能が形をなしていく。
慶應大の増井俊之教授も目覚まし時計をプログラミングの好例として取り上げているらしい。
全世界プログラミングの例 (1)
目覚まし時計
炊飯の予約
風呂の水はり