2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
リンクをコピー
記事をブックマーク
清水亮氏:なぜか知らないですけど、人生に影響を受けた本を3冊あげろということでしたので、3冊あげました。1つは『月刊アスキー』1992年7月号。さっきも言いましたけれど。
これ、すごいなと思ったのは、この時代に、CGとかあんまりないわけですね。これ(表紙の写真)は実物です。モックアップ。この頃、月刊アスキーはめちゃくちゃ儲かっていて、毎月、広告だけで何億円もの利益を出していたのです。
中味はこんな感じなんですけど、(未来のパーソナルコンピュータは)プロジェクターを内蔵しているとかね。ページをペラペラめくりながら、これは透明なディスプレイなんだけど、めくると次のページがでてくるとか、すごい細かく書いてあって、書き込みもできるんですよ。
だから、元々enchantMOONの元ネタは、基本的にはこれなんですけどね。こういう夢みたいな情報端末というのが夢想できるんだというのが、1つ影響を受けた本です。
のちに、この当時の編集長だった遠藤諭さんという人に話を聞いたら、「当時の編集者は誰がやっていたのかあんまり覚えていないし、夢を壊して悪いけどあの特集はさほどがんばらなかった」と言われて、がっかりしました(笑)。
あとは似たような話でアラン・ケイさんのもので、『アラン・ケイ』(Ascii books)という本。
この本は日本語訳なんですが、重要な内容はネットで公開されています。たとえば、この「Personal Dynamic Media」という論文。これがパーソナルコンピュータの元ネタですからね。
アラン・ケイさんが考えたDynabookという、iPadの元ネタといわれたやつだったんですけど、あれはペーパークラフトなんですよ。実際にシリコンバレーのコンピュータ歴史博物館に行くと、あれのペーパークラフトが残っています。
こういう機械を作って、アラン・ケイさんは3,000人くらいの小学生、中学生、高校生とかにこれを使ってプログラミングを教えたそうです。実際に授業をやったりとか、こんなことができますよとかと教えたそうです。これはすごく刺激を受けましたよね。これって70年代ですからね。これが書かれた時代というのは、まだPC-9801とかも発売されていないんです。
この本に入っていたか忘れたけど、もう1つは「A Personal Computer for Children Of All Ages」。アラン・ケイさんの論文で、まだゼロックスにいたころのものなんですけど。これは、今、急速に、プログラミング教室を子供にしようなんていうキャッチフレーズで話題になっている本です。
これ、すごくおもしろいのは、アラン・ケイさんがシーモア・パパートというMITの研究者と話したあとで飛行機のなかでスケッチした、未来のコンピュータの図みたいなのがあるんですけど、これは実際に「こういうことをやっているんだ」という2人の会話とか書いてあるんですね。
これはなにをやっているかというと、重力シミュレーションなんです。男の子と女の子がDynabookを使って。Dynabookは、彼が考えたコンピュータ。(会場のiPad Proを手に取って)要するに、なれの果てがこれですよ。キーボードがついてなくてこっちになっちゃったのが、残念だといえば残念。Dynabookは、もともとペンもついていますからね。
Dynabookを持ち歩いて、この2人は一緒にコラボレーションしながらプログラミングを楽しんでいるんですね。「俺が宇宙船の動きを作るから、お前は重力の動きを作れ」みたいな感じで、一緒にプログラムしている。現在、ここまでできるのかといわれたら、微妙なんですよね。「もう1回ゲームする?」「これは簡単すぎるから、もっと実際の宇宙みたいにしようよ」とか、そういうことが書かれていたりするんです。
今できていないことが、しゃくだったので、これは僕のブログですけど、僕が自分で作ったMOONBlockを使って重力シミュレーションを作ってみたんですね。実際、意外とできるという(笑)。これくらいの重力シミュレーションもできるんですね。
実行すると。真ん中の赤いのが、なぜか地球なんですよ。宇宙戦艦ヤマトみたいな状況になっていますけど(笑)、このまわりの青いのが6分の1の質量を与えた衛星の候補で、それが最初ランダムに初速と位置を与えられるんですけど、ほとんどのものは飛び去っていってしまうんですね。
ごくごくわずかなものが、かろうじて地球のまわりをゆっくりと周回しているようになるということが確かめられるわけです。これって、プログラム的にはものすごく簡単なんですよ。ところが、プログラミングという表現手段を持っていない人には、これは作れない。
なにが簡単かといったら、みなさん、物理を習った人はけっこういますよね。物理を習った人は、F=maは習いましたよね、当然? そうすると、万有引力の法則、F=G*Mm/R^2も習いましたよね。ところがどっこい。この2つを習っただけでは、なぜ月が地球に落ちてこないか分からないんです。なんでかというと、地球がラージM、月がスモールm、ここの一直線上で働く力、Fを求めているわけですね。これはどう計算しても、月が地球に落ちるという結論しかないわけです。
実際、これはプログラミングで確かめてみると、これ。ちょっとわかりづらいのですが、青い天体がだんだん地球に落ちてきて、はい、というね。(青い天体が地球に落ちて、ぶつかり、さらに通り抜ける)。
これは僕が適当なことを言っているわけではない証拠に、このプログラムを見てください。
画面の真ん中を原点にしているので、dx、dyというここにないのが出てきますけど、これは全然難しくなくて、この座標系は真ん中160、160なので。ここ(真ん中)が地球で、ここが月だとすると、月の位置を点(x,y)として、地球との差を見るのにdx、dyというのを出したわけですね。
R^2のRは地球と月の距離ですから、これは三平方の定理によってdx^2 + dy^2。プログラムだと自乗を書けないので×を2回書いちゃったんですけど(R2 = dxdx + dydy;)。
ここから、わかりやすくいうとearthMassとmoonMass、ラージMとスモールmですね。これをかけたやつをR^2で割って、Fを求めています。三平方の定理は、R^2ですから。
このあと、今度R自体はR^2のルートなので、Math.sqrt()、平方根をつかっていますね。
FをX軸Y軸方向の成分、FxとFyに分解しています。その時にRを使うんですけど。
あとは加速度にFx / moonMass, Fy / moonMassを代入しているだけなんですね。
だから、プログラムで表現できるということは、こういうことなんです。これは、今日来ているスエミツさんと、カレーを食いながらさくさくと作ったプログラムです。子供に「なんでこの式で月が地球に落ちてこないの?」と言われたときに、ちゃんとプログラムを書かないで説明できる人は少ないです。
これで実行するとだめです。なぜだめなのか。初速がないからです。たとえば適切な初速を与えて距離をx=100くらいまで近づけてあげるとどうなるか。そうするとさっきよりマシだけど、曲線を描いてどっか行っちゃった。じゃあ、もっと近づけようか。x=130、近すぎるかな。まだ初速が早いですね。x=140のvy=0.1とかにするか。だめだ。vy=0.5、だめだ。このくらいvy=1とかでいいかな。かろうじてぐるぐる回るようになりましたね。というふうに、「こうすると落ちてこないね」というのがわかるんですけど、初速がないとダメだという話をみんな教えてくれないわけです。学校ではやらないわけです。
こういうことが、今のプログラミング教育のなかで視点として欠けてるんじゃないかと、荒唐無稽、有名無実なものになっちゃうかなという。ただ、これはまだ小学生が理解して自分で書けるかというと、理解して式変形できなければだめなので、もうワンステップくらいいるんですけど。
だけど、ここをインチキして重力ブロックみたいなのを作りたくないんですよね。それをやっちゃった瞬間にブラックボックスになって、子供が全然勉強しなくなっちゃうから、「ちゃんと意味がある数字なんですよ」ということを僕は教えたいなと思っています。ただ、この論文は非常にいろんな人に影響を与えた論文になっています。
ここにDynabookの理想的なかたち、みたいなのが出てきていますけど。
最後の1つですけど、James D. Foley『Computer Graphics: Principles and Practice in C (2nd Edition)』という本。日本語版の『コンピュータグラフィックの理論と実践』は僕が企画して日本語になっていますけど、本当は英語版のほうに影響を受けています。日本語版も探せばありますけど、すごく高い。英語版でも100ドルする本です。
これは僕が生まれたくらいの年に出た本です。僕が生まれたくらいの年に出た本なのに、僕が知らないことばかり載っていて、ちょっと衝撃を受けたという本です。この本との出会いがあったので、のちにUEIリサーチというCGの研究所を作る時に、この本の著者の西田(友是)先生という東大の先生をうちの会社に招いて、今ドワンゴに移管していますが、そういうことがあったという意味では非常に人生を変えた3冊目の本かなと思っています。
関連タグ:
「コンピュータの未来を創る」天才プログラマーが語る人類補完計画
キーボードとペン、先に消えるのはどっち? 誰もがプログラミングできる世界になると
「willがいちばん大事」なぜ品女の中学生は完璧にプログラミングできたのか?
「すごいことができる機能だけでは使われない」アラン・ケイが指摘した問題点
「自分より優秀な人しか雇わない」社員の能力を引き出す、すごいチームの作り方
「10年後の情報端末を詳細に夢想」天才プログラマーに影響を与えた3冊の本
「祭りを起こせ」新規事業を始める際に一番大切なこと
人より賢くなったコンピュータをどう操る? 人類補完計画の目指すところ
2024.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには