2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
清水亮氏:それでは、プログラミングが誰にでもできるようにするというのはどういうことなのかを考えると、まず、そもそも「したいのか?」という話があります。誰もがプログラミングをしたいのか?
「したい」という人は、あまりいません。生まれつきプログラミングをしたいという人は、あまりいないのですが、ところが、ここにいる誰もがプログラミングをしているはずなのです。ただ、それを「プログラミング」と呼んだことがないだけです。
朝が苦手な人は? 朝が苦手な人は、必ず目覚まし時計をセッティングしますよね。目覚まし時計をセッティングしたことのない人、手を上げてみてください。あ、すごいですね。さすが。竹田(茂。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.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略