2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
清水亮氏:それでは、プログラミングが誰にでもできるようにするというのはどういうことなのかを考えると、まず、そもそも「したいのか?」という話があります。誰もがプログラミングをしたいのか?
「したい」という人は、あまりいません。生まれつきプログラミングをしたいという人は、あまりいないのですが、ところが、ここにいる誰もがプログラミングをしているはずなのです。ただ、それを「プログラミング」と呼んだことがないだけです。
朝が苦手な人は? 朝が苦手な人は、必ず目覚まし時計をセッティングしますよね。目覚まし時計をセッティングしたことのない人、手を上げてみてください。あ、すごいですね。さすが。竹田(茂。SCHOLARプロジェクト総合プロデューサ)さんだけですね。なんで、場を乱すようなことをあなたがやるんだ(笑)。
目覚まし時計を設定するのは、「プログラミング」です。だまされた、みたいな顔をするのはやめてくださいね(笑)。
プログラミングとはなにかを突き詰めて考えると、僕はよく言っているのですが、プログラミングはコンピュータが発明されるずっと前からあります。もともと、「プログラム」はギリシャ語です。「πρόγραμμα(プログランマ)」というギリシャ語で、公に書かれたものという意味です。公文書ですね。だから、法律とか宗教のバイブルとかルールとか、全部プログラムなのです。
昔は、貴族や政治家のような特権階級しかやらないことだったので、みんな知らないのです。知らずに育ってきたし、プログラムという習慣もなかったということです。
現代では、それは帝王学とかマネジメント学とか経営学などと読み替えられていますが、全部言っていることは一緒です。コンピュータプログラマーが、たまたま機械という従順な存在だけをプログラムすることができたので、結果として、それが今までプログラムと呼ばれていたものだと気付いたわけです。
コンピュータの世界で使われているプログラミングテクニックを、現実の世界に応用することもあれば、その逆もあります。
例えばよく言われるのは、ここにお花畑があります、というちょっとメルヘンな話です。四つ葉のクローバーを探しましょうということで、ここに2人います。さあ、どうするといったとき、なにも考えずに2人で「わーい」と言って飛び出すのは普通、小学生です。
「できるだけ早く四つ葉のクローバーを探しなさい」と言われたら、普通だったら「お前そっち、おれこっち」とかやるでしょう。これを分割統治といいます。
分割統治はローマ帝国から来ています。「こっち側とこっち側を別々にやりましょう」ということです。これは実際のコンピュータプログラムでも、まったく同じ論法で、分割統治という言葉が使われます。プログラムという行為が、統治とか政治に使われたというのは、疑いもない事実です。
プログラムとはなにか。今日は時間がないので、かいつまんで説明します。僕はこのように定義します。
「自分のいないところで、自分以外の存在を思い通りに操る方法」。
たぶん、これしか定義はないです。
操られている側は、プログラムをした人を意識する必要がありません。目覚まし時計がそうです。明日7時に起きなければというので、7時にセットする。でも、不安だから、6時半にもセットする。これは、自分以外の存在である目覚まし時計に対して、6時半になったら起こせということです。これは、モーニングコールも一緒です。
このように、自分がいないところで、自分以外の存在を自分の思い通りに動くようにすることを、すべてプログラミングと言うことができます。
僕も、いろいろなプログラミング手法を考えています。MOONBlockというのはそのなかでは過渡的なもので、究極のかたちではまったくないのですが、とりあえず、わかりやすくプログラミングをしている気にさせるというものです。
ところが、MOONBlockだけを教えると、プログラミングを習った気がしないという問題があります。それは、Scratchでも同じです。プログラミングをやりに来たのに、なんかブロック遊びをして帰ってしまったという気分になる。今日、皆さんも帰るとき、そういう気分になると思います(笑)。
それは、お客さんが期待したプログラミングを教わるということではなかったからです。実際にはそうだったとしても。プログラミングしようと思って来たのに、目覚まし時計を設定しましょうと言って帰ったら怒るでしょう。それは違うだろう、みたいな。皆さんは、自分がイメージしている難しいプログラミングにあえて挑戦したいんです。そして、挫折したいわけです。挫折することによって、その価値がわかったような気になるのです。MOONBlockの素晴らしいところは、実際にキーボードを使ってプログラムに変換できることです。
どうするか。1つ、簡単なのは、MOONBlockの次のアイデアを考えてあったのです。それはなにかというと、目覚まし時計プログラミングと呼ぶものです。
目覚まし時計に限らないのですが、要するにプログラミングをしたいのは、どんなときかということです。朝、起きたいということもあるでしょう。毎朝、アサガオの観察写真を撮りたいというので、それを誰かにやらせるとしたらそれもプログラミングです。それは、Raspberry Piでかなりガチなプログラムを書かないとできません。
でも、もしスマートフォンの目覚まし時計機能に、「毎朝6時にカメラを起動して、写真を撮ってTwitterにアップロードする」と書いただけでそれができるのであれば、すごく簡単です。
じつは、iPhoneのアラーム機能は、プログラミングそのものなのです。時間を設定すると、繰り返しするかしないかとか、サウンドはなにを鳴らすかとか、スヌーズするかとかをセットできるので、ここに写真を撮れとか、撮った写真をTwitterに送れと追加すれば、小学生でも朝顔の観察日記を自動的に書くプログラムを書けますよね。天気も記録しろとか。
答は簡単だったのです。ところが、答が簡単だったので、それをそのままやろうと思いました。ところが、また新しい過誤が見つかったと。今日は、2段先の話をしてしまいます。僕は、これで誰でもプログラミングができるわいと思ったのですが、そうではないのです。モチベーションがないです。
アサガオの観察日記を書くというのを、生まれつきやりたくてやっている人を見たことがないですよね。あれは、学校の宿題だから、仕方なくイヤイヤやっているわけです。
そうではなくて、自発的にそのようなことをするだろうかと探すと、あまりないのです。Apple Watchについている「今日はこれだけ運動をしましょう」というのだけでも鬱陶しいのに、なにが悲しくて自分を自分で縛るようなことをしなければいけないのか。
なにかがあったときに、これをしたいというのは、アメリカではいまIFTTT(イフト:もしそうならそれをやれ)というサービスが流行っていて、これもイマイチ使い道がよくわからない。けっこう便利で、例えばFacebookに写真をアップしたらDropboxに保存しろとか、なにかをすると勝手にやってくれるので、犬の調教みたいなものです。
ただ、それを使いこなすというのは、相当しんどいです。この手の研究は、いろいろな会社がやっていて、マイクロソフトもやっています。on{X}とかね。むかし、このマイクロソフトのソフトが、Android大賞を受賞するという恐ろしいことも起きちゃったんですけど。
on{X}も、だいたい似たようなものです。家に着いたらツイートするとか。こんなの、ストーカーが大喜びです。よほどの変わり者でないかぎり、これを使いこなす感じがしません。さっきのアサガオの観察日記もそうです。果たしてそれは必要なものか。
そこで、僕はもう1回、品川女子学院で中学1年生にenchantMOONを貸し出したときのことを思い出しました。
enchantMOONをいろいろな人たちに試しました。大学教授、社会人、電通マン、慶応大学、関西大学。でも、誰も使いこなせなかった。そのなかで、なぜ品川女子学院の1年生たちは、あれほど完璧に使うことができたのか。ほとんど説明していないのに。
彼女たちは、表現したいことがすごくあったのです。彼女たちは、自分で勝手に勉強したのです。僕らはきっかけを与えただけです、
子供なので、ほかに手段がないのです。我々にはいっぱい手段があります。ブログを書こうと思ったら、はてながある、Livedoorがある、Amebaがある、WordPressがある。ところが、中学生って、メールアドレスすらもらえているか怪しい。まあ、品女の場合はもらえているんですけど。そういう人たちに、これで自分を表現できるよ、手書きで書いたものがゲームとして動くよと教えた瞬間に、ワァーと夢中になってやってくれたわけです。
彼女たちにプログラミングを強制的に教えたことはありません。むしろ、僕は、プログラミングの授業ではなく、皆さんにこれからゲームの作り方を教えますという授業をした。それがすごく受けたのです。
今の若い子は、女の子でもゲームがけっこう好きです。そういう意味では、みんなの好きなゲームの作り方を教えますと言うと、勝手にハイパーテキストでクイズを作ったり、迷路を作ったり、ダンジョンみたいなものを作ったり、すごい創意工夫で作るわけです。
こういうことを私はやりたいけど、どうしたらいいの、どういうプログラムを書いたらいいの、という質問がワンサカ来るわけです。
そういう意味で僕は思ったのは、willがいちばん大事なんだということです。できることではなく、availableなことではなくて、willなんだと。
これが、プログラミングを簡単にするにはどうすればいいかということと、それ以上に、プログラミングをみんなが学びたい気持ちにさせるときにはどうすればいいかということが、両方バランスしていないとだめだという、僕のターニングポイントでした。
関連タグ:
「コンピュータの未来を創る」天才プログラマーが語る人類補完計画
キーボードとペン、先に消えるのはどっち? 誰もがプログラミングできる世界になると
「willがいちばん大事」なぜ品女の中学生は完璧にプログラミングできたのか?
「すごいことができる機能だけでは使われない」アラン・ケイが指摘した問題点
「自分より優秀な人しか雇わない」社員の能力を引き出す、すごいチームの作り方
「10年後の情報端末を詳細に夢想」天才プログラマーに影響を与えた3冊の本
「祭りを起こせ」新規事業を始める際に一番大切なこと
人より賢くなったコンピュータをどう操る? 人類補完計画の目指すところ
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05