最近たまたま東洋経済という雑誌を見ていたんですが、その中に気になるキーワードがありました。
それは、『プログラミング思考』。
2020年から小学校でもプログラミングが必須になるそうで、これからますますプログラムの重要性が増えてくるような内容でした。
娘が小学校に入る頃にはますます大事になるだろうなぁと。
ちょっとでも早めに準備させておきたいなぁと思い奥さんに話してみてはいるんですが、どうも奥さんはプログラムのお勉強にあまり乗り気ではなく。
どうやらプログラムのイメージって、黒い画面に向かってカチャカチャひたすらキーボードを打ち込んでいるイメージみたいで。
まぁ確かにその一面もあるんだけど、そうじゃない面白さもあるんだけどなぁ。
そんな事を考えながら職場の同僚と『とりきー(居酒屋)』に入って、焼き鳥とハイボールでも頼もうかと思った時の事。
目の前の注文用のタッチパネルを見て、確信することになったのです。
プログラミング思考は実生活にすでに溶け込んでいる
最近やけに増えてきた、飲食店でのタッチパネル。
お寿司でも、ファミレスでも、居酒屋でも、定食屋でも。
今回入った『とりきー(居酒屋)』では、タッチパネルの中で、
– おすすめの一品
– すぐお届け
– 焼き鳥
– 炒め物
– 飲み物
– デザート
のようなグループに分かれて、例えば『焼き鳥グループ』の中に、『塩』『タレ』『スパイス』と3択があって、
『タレ』をえらぶと、とり、もも、ねぎま、といった商品がうつっていました。
で、『焼き鳥』の『タレ』の『ねぎま』を選ぶと、
『ねぎま』の数が0から1になって、
プラス+ のボタンを押すと、1が2になって、
ついでに、『飲み物』グループの中の『ハイボール』をタッチすると、
『ハイボール』の数が0から1になって。
プラス+のボタンを押して 1が2になって、注文ボタンを押すと。
しばらくしたら定員さんが、
と持ってきてくれて。
乾杯をしてねぎまを食べる頃に思ったんです。
って。
プログラミング思考を思考してみる
実際にホームページなりWebサービスなりをつくろうと思ったら、
真っ黒な画面を向いてカチャカチャする前に、いくつもやる事があります。
ざっくりと分けるとこんなところでしょうか。
1. やりたい事をはっきりと決める
2. 細かく分解する
3. グループに分ける
4. 順番をつける
5. 見た目をきれいにする(使いやすくする)
1. やりたい事をはっきりと決める
今回の居酒屋の場合、やりたい事は『お客様の席から注文ができる事』ではあるんですが、
よくよくタッチパネルの中身を見ると、
– りれき
– わりかん
– 多言語表示(英語・韓国語・中国語)
といったメニューもありました。
『注文ができる』というのはもちろんのこと、
『りれき』のボタンを押すと、これまでに頼んだメニューがずらっと表示されたんですね。
ねぎま2つとハイボール2つで合計 1192円(税込) みたいな。
つまり、これまでいくら使ったかがわかるようになっていて、
「まだ2000円か、じゃああと2品くらい頼もうかな」
みたいな事も起こるんだろうなぁと。
『わりかん』のボタンを押すと、今の1192円 を2人で割ったら596円、3人で割ったら398円というのがパッとでる。
スマホで電卓を開いて計算しなくてもパパっとでるのはすごいですね。
そして、もう一つが『多言語表示』。
ボタンひとつで英語や中国語に切り替わるので、
外国人が来ても安心して注文できるし、お会計の時のトラブルもだいぶ減るんじゃないかなぁと。
そういった事を考えてつくっているんだなぁというのを考えるだけでも、
『プログラミング思考』は鍛えられると思います。
2. 細かく分解する
やりたい事が大まかに決まったら、次は、できるだけ細かく分解する必要があります。
プログラムは人と違って、例えば『焼き鳥』といったら、
『塩』と『タレ』があって、『ねぎま』と『もも』と『とりかわ』があって・・
なんてことは思ってくれないので、1つずつ決めていく必要があるんですね。
例えば『焼き鳥』といったら、
『とり』『もも』『すなぎも』『ねぎま』『とりかわ』『たまご』『レバー』
なんて種類があるはずなので、お店で出せる商品を全部洗い出す必要があります。
例えば『飲み物』といったら、
『ウーロン茶』『コーラ』『ジンジャエール』『ビール』『ノンアルコールビール』『ハイボール』
なんて具合ですね。
3. グループに分ける
タッチパネルの中で、さっき洗い出した商品がひとつずつ並んでいたら、例えばその数が50とか100とかあったら、とっても選びにくいですよね。
と、ひとつづつ見ていく必要がでちゃいます。
毎回それをやると面倒だし、注文するお客さんからクレームがでてくると思うので、
できるだけわかりやすく、選びやすくするために、グループに分けてみます。
居酒屋で『飲み物』のグループを作ろうと思ったら、大きく分けて、
– アルコール
– ノンアルコール
にわかれて、
さらにアルコールの中で、
– ビール
– ウイスキー
– 焼酎
– 日本酒
– ワイン
といったグループに分かれて、
その中でさらに、『キリンビール』か『アサヒビール』か『エビスビール』か、中ジョッキかグラスか瓶か、、といった商品に分かれていくと思います。
あまり細かくなりすぎると余計に選ぶのが面倒くさくなるので、このへんは調整しつつになるのですが、
やりたい事を、抜けや漏れがなく、いかにわかりやすく、実現するにはどうすればいいか、というのを考える事も、『プログラミング思考』のひとつなんだろうなぁと思います。
4. 順番をつける
ここは、3番の『グループに分ける』にも絡んでくるんですが、
どうやったら注文しやすいか、という事を考える必要があります。
焼き鳥が食べたいなぁとなった時に、
『焼き鳥』->『タレ』->『もも』->『2つ』->『注文』->『確定する』
というような流れですね。
もっというと、
『注文』->『確定』
した後には、
『りれき』のところに、『もも2つ』が増えている必要があって、
合計料金も増えている必要があって、
『わりかん』の箇所の合計料金も増えてる必要があります。
その辺りの順番も含めて事前に考える必要があるんですね。
5. 見た目をきれいにする(使いやすくする)
ここまでで実際の注文はできるようになるんですが、
実際に居酒屋に置いて、お客さんに使ってもらおうと思ったら、どうしても必要な事があります。
それがズバリ、『見た目』。
例えば小さい文字で、写真もなくて、めっさわかりずらいとしたら、
わざわざタッチパネルを使おうとは思わないですよね。
手をあげて、
と言った方が早いし。
それでも、タッチパネルを使ってもらおうと思ったら、
写真が美味しそうで、注文しやすくて、わかりやすくて、といった条件が必要になるかなと。
その辺りを踏まえて、しっかり考えるという事が、『プログラミング思考』を鍛えるという事になるのかなと思います。
まとめ
実際にプログラムを書こうとすると確かに、黒い画面に向かってキーボードをひたすら叩く事にはなるんですが、それまでにいろんな事を考えて、整理する、という事がなんとなくわかってもらえたんじゃないかと思います。
今回は5つに分けて書いてみたんですが、もちろんこれだけが答えじゃなくて、
1. やりたい事をはっきりと決める
2. 細かく分解する
3. グループに分ける
4. 順番をつける
5. 見た目をきれいにする(使いやすくする)
『やりたい事を達成するために、どうすればいいか』という事を、できるだけ細かく考えていくという事が、『プログラミング思考』を鍛えるという事になるんじゃないかなと思います。
居酒屋でも寿司屋でもファミレスでも、もし注文用のタッチパネルを見たら、何がやりたいのか、という事を考えて、会話のネタとしてみるのはいかがでしょうか。
ツイッターでも記事ネタ含めちょろちょろ書いていくので、よろしければぜひフォローお願いしますm(_ _ )m
アオキのツイッターアカウント。