Successfully reported this slideshow.
Your SlideShare is downloading. ×

アラン・ケイ氏の未来の創り方

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 39 Ad

More Related Content

Recently uploaded (20)

Advertisement

アラン・ケイ氏の未来の創り方

  1. 1. Global Digicon Salon 020 「パーソナルコンピュータの父」 アラン・ケイ “ダイナブック構想”論文発表50周年記念シンポジウム アラン・ケイ氏の未来の創り方 ~あるいは[アラン・ケイ]の理解を一歩進めるための “古Smalltalk学”のすゝめ~ 2022/08/21 鷲見正人 @sumim
  2. 2. あらゆる年齢の“子供たち”のためのパーソナルコンピュータ [Kay 1972] =“ダイナブック” “まるで空想科学小説のようだと思 われるでしょうけれど、現在の世の 中の小型化と低価格化の趨勢を思え ば、ここで議論される多くの概念が 近いうちに現実化することは、ほぼ 確実なことです。 「世界を知るためには、それを自ら 構築しなければならない」 ── パヴェーゼ 大人だってOK!
  3. 3. あらゆる年齢の“子供たち”のためのパーソナルコンピュータ [Kay 1972] =“ダイナブック” 大人だってOK! イラストでしか… → 今すぐ https://bit.ly/kay72ja へ!
  4. 4. あらゆる年齢の“子供たち”のためのパーソナルコンピュータ [Kay 1972] =“ダイナブック” “表示変更時のみ電力を消費し、それ以外の時に は使わず、自然光の下で読むことができる何らか の技術が必要です。位相変化型液晶をx-y座標 に並べたものは低電力電場で透明および不透明 に変化させることができます。また、この表示装置は 非常にわずかな電力で表示内容を保持できます。 “ 「ロード可能文字生成装置」を試験的に作成しました。ASCII文章をリアルタイム画像変換するた めには、—フォントの大きさ、太さ、下線などのオーバーレイ文字のフリルが提供される。—ディスプレイ 表面は、おそらく最低でも1インチあたり80〜100ピクセルの液晶であり、縦横比は垂直方向が1 ピクセルに対して水平方向が約2ピクセル、かつ、全体のピクセル数が約1024x1024程度である べきです。 ビットマップ・ マルチフォント、スタイル、サイズ
  5. 5. あらゆる年齢の“子供たち”のためのパーソナルコンピュータ [Kay 1972] =“ダイナブック” ソフトウエアキーボード “もちろんキーボードはできる限り薄くなるべきです。一切の 可動部品をやめて感圧式とし、キーの押下に反応してス ピーカーからクリック音が聞こえるということも可能でしょう。 この種のキーボードは数年前から利用可能となりました。 可動部品を持たないのであれば、いっそのことキーボード そのものをなくしてしまうことも可能です。 “ノートブックの前面をディスプレイパネルが 覆っていると仮定します。すると、どんなキー ボード配置であってもディスプレイに表示するこ とが可能となります。パネルの四隅に設けられ た4つのひずみゲージが、タッチされた場所の 位置を3/16インチ以内の精度で記録するで しょう。タッチタイピングできるように、ディスプレイ パネルの下部へ多様な方法で質感を持たせる こともできます。これなら、入力中の文字フォン トをキートップに表示させたり、特殊文字をウィ ンドウに表示させたり、タッチするだけで利用者 IDを選択するということが可能となります。
  6. 6. ダイナブック vs iPad Dynabook (1972 concept) iPad Pro 11" (2018 Late) CPU 16 bit 64 bit メモリ 16 KB (仮想メモリで拡張可) 4~6 GB 補助記憶 1 MB (リムーバブルストレージ) 64 GB~1TB (組込み) 画素数 1,024×1,024 (80~100 ppi) 2,388×1,668 (264 ppi) IF 300 Kbps(給電も兼ねる) 10 Gbps (給電も兼ねる) OS オブジェクト指向(再定義可) GUIやマルチフォント 有線・無線ネットワーク オブジェクト指向(再定義不可) GUIやマルチフォント 無線ネットワーク サイズ 30.5×22.9×1.9 cm 24.9×17.9×0.6 cm 重さ 1.8 kg 以下 468 g 価格 500ドル(2018年物価換算で3000ドル) 1000~1700ドル
  7. 7. iPadの登場すら待たずとも「ダイナブック」は実現済み? The Early History of Smalltalk [Kay 1993] より “私は今、高度35,000フィートの飛行機の中で このイントロを書いている。私の膝の上には、重さ 5ポンド(2.26kg)のノートパソコン — 1992年 の “暫定Dynabook” — があり、この年の終 わりには700ドル以下で販売されていた。フラット で鮮明な高解像度のビットマップ画面、オー バーラップするウィンドウ、アイコン、ポインティン グデバイス、かなりの記憶容量と演算能力を備 え、その最高のソフトウェアはオブジェクト指向だ。 高度なネットワークが内蔵されており、ワイヤレス ネットワークのオプションもすでにある。このシス テム上ではSmalltalkが動作しており、私が現 在子供たちと一緒に仕事をする際に使用してい るメインのシステムの一つです。ある意味では Dynabook以上であり(量的には)、ある意味 ではまだそこまでいっていない(質的には)。概 して、60年代後半に思い描いていたこととほぼ 同じである。 DynaBook提唱者のアラン・ケイ氏がアキバでお買い物 AKIBA Hotline! 1998年7月18日号より
  8. 8. “ある意味ではまだそこまでいっていない(質的には)” “バシィッ!美しい閃光と効果音と共に、ジミーの宇宙船がバラバラになりました。宇宙戦 争はまたベスの勝利です。9歳の子供達は家の近くの公園の芝生に横たわっていました。 彼等のDynaBookはお互いに接続されていて、画面にはベスの宇宙船が勝ち誇って浮 かんでいる宇宙空間が映っています。 「またやる?」 とジミーが聞きました。 「ううん、」 ベスが言いました。「簡単すぎる」 「うーん、本当の宇宙だったら、太陽を周る軌道になるんだ。 そしたら絶対勝てっこないんだから!」 「へー、そう?」 ベスは興味をそそられました。「太陽は、どう すればできるの?」 「うーん、えっと、そうだね。もし宇宙船が太陽のない空間に いたら、そのまま動き続けるんだ。何も止めるものがないから。 噴射ボタンを押すたびに、プログラムが宇宙船の向いている 方向にスピードを足すんだ」 「そうよ。だから宇宙船を回転させてから噴射するの」彼女 は、何回かDynaBookのボタンを実際に押して、動かして 見せました。「でも、太陽があると物体は太陽に落ちていく から・・・今のとは違うのね」 —「これ見て」 ベスの指がDynaBookのキーボードの上を飛び始めて、プログラムを書き変えはじ めました。そのプログラムはベスとグループメンバーが「たまたま」ヤコブソン先生の宇宙戦争ゲームを見か けて、数週間前に書いたプログラムでした。 あらゆる年齢の“子供たち”のためのパーソナルコンピュータ [Kay 1972] より
  9. 9. “ある意味ではまだそこまでいっていない(質的には) 1. 何のオブジェクトなのか、それらがどのように参 照されるのか、他のオブジェクトをどのように 取り扱うのかについての統一的な概念が必 要です。 2. それぞれのオブジェクトが自分の制御パスを持 つなら、ひとつ以上のオブジェクトが動作してい る時に、各パスを調整したり「制御」する簡潔 な方法があるべきです。 3. 制御パスの評価は、オブジェクト同士がどう やってメッセージを送り、結果を得るのかを示 す単純な法則に従うべきです。 4. システム内のすべてのオブジェクトは他のオブ ジェクトを使って再定義できる べきです。 “いったいどんな方法をとれば、広く多様な可能性のあるユーザーたちの中の一人でも自分のマシンを通して彼自身 と意思疎通するのでしょうか?「すべての人に対してあらゆることを」を与えられる特徴を持つひとつの言葉というのは、 明らかに不可能です。普通の意味で「拡張可能な言語」もだめです。 オブジェクト指向プログラミング言語+環境 (OS) “Smalltalk” The Early History of Smalltalk [Kay 1993] より ↓ 全てはオブジェクト マルチタスク メッセージング ユーザーが仕組みを 知り、作り変えられる!
  10. 10. “未来を予測する最善の方法は、 それを発明することだ” —アラン・ケイ
  11. 11. Xerox Alto = 安価で高速なミニコン + α 1972年の9月、 数週間のうちに私(アラン・ケイ)の計画を大きく変える2回の賭けがあった 。 ひとつの賭けは、バトラー(ランプソン)とチャック(サッカー)が私のところに来てこう尋ねたときに 始まった。 「僕は『500ドルのPDP-10』が欲しいし、 チャックは『10倍速いNOVA』が望みだ。 君はたしか『子供向けコンピューター』を望んでいたよな。 それは何を必要とする?」 そしてチャックは「もうひとつビル・ヴィティックと3ヶ月で新しいマシンを組み立てられるかという賭けをし たんだ」言った。「おお」と、私は言った。 The Early History of Smalltalk [Kay 1993]より もう一つは 「オブジェクトにメッセージを送って計算ができるか?」 →「3 に“+ 4”を送信→ 7 を返した!」 Smalltalk 最初の処理系の誕生 “
  12. 12. 約3ヶ月後、Xerox Alto 初号機の前でおどけるアラン・ケイ氏 qr.ae/pv5d48 わずか3ヶ月で、どのようにしてXerox Altoは完成したのですか? ケイ氏:ひとことで言えば、 チャック・サッカー(Altoの設計者)が実に素晴らしかったのです。—私た ちは、「チャックが壁に部品を投げただけで、Altoができた。」と言ったものです。
  13. 13. Alto他 (ハード) + Smalltalk (言語、OS) = 暫定的ダイナブック youtu.be/AnrlSqtpOkw Alto バッテリー駆動 ポータブルPC試作機 NoteTaker 高性能版Alto Dorado Smalltalk環境 1973年~ 1976年~ 1976年~ 1972年~(この画面のようなGUIは1977頃~)
  14. 14. (参考) Smalltalk各バージョンの特徴とそのGUIの変遷 ◼ Smalltalk-71 … コンセプト、言語仕様のみ ◼ Smalltalk-72 … PoC。タートル描画が使える小さな言語 → 原始的GUI実験 ◼ Smalltalk-74 … -72+高速描画ルーチン(BitBLT) → 実用的GUIの実験 ◼ Smalltalk-76 … -72で試作し、再実装した別物。 → ジョブズが見学(1979) ◼ Smalltalk-78 … バッテリー駆動8086マシンでも動かせるコンパクト版-76 ◼ Smalltalk-80 … プロ向けの言語処理系(IDE)を再構築&製品化(1983) ◼ Smalltalk-“96” … Squeak。オリジナルメンバーが再集結し再生。後にOSS化。 Smalltalk-72 Smalltalk-74 Smalltalk-76 Smalltalk-80
  15. 15. 2017年、ケイ氏所蔵のAltoが修理復元 → 回復 Xerox Alto Restoration Part 17 - Xerox Alto Demo youtu.be/9H79_kKzmFs 11m35s
  16. 16. Xerox Alto = 安価で高速なミニコン + α ビットマップ・ディスプレイ マウス リムーバブル・ハードディスク 本体はこの箱 1973年に初号機(2台)製作 ► ミニコン互換(マイクロコード) ► ポインティングデバイス ► ドットごとに制御可能な画面 ► 入れ替え可能な補助記憶装置 ► イーサネット(1974年~) こっちじゃないよ! 命令セット書き換えや拡張が可能 “ビルボ”と“ガンダルフ”
  17. 17. How to Invent the Future I [Kay 2017] より 現在を脱出する方法の一つは、かすかに光るアイデ アを持って、どうやってそこまで行くかを心配する必要 がないほど遠く(未来)にそれを持って行き、そしてただ それを持ち帰ることです。つまり、現在からイノベーショ ンを起こすのではなく、未来で「未来」を発明するので す。未来に出かけていって、「未来」を持ち帰るのです。 Altoは「タイム・マシン」?
  18. 18. Altoは「タイム・マシン」! 1973年から10~15年後の未来の 「パーソナルコンピューター」の スペックを想定し、それを 現在の価値で1700万円ほど かけて製作 最適化に煩わされずに 「未来のPC」像を創作できる!?
  19. 19. Altoは「タイム・マシン」! 「昼御飯に出てビールを飲みながら『これこれができたら すごいんじゃないか?』なんて話をしますよね。それから PARCに一戻って、1~2時間で、その『すごい』ことを やっちゃうんですよ。それからCSL(別のチーム)の仲 間に見せびらかそうとデモをしていくという…」 『未来をつくった人々』より Yesterday's Computer of Tomorrow: The Xerox Alto │Smalltalk-76 Demo youtu.be/NqKyHEJe9_w 最適化に煩わされずに 「未来のPC」像を創作できた!!
  20. 20. 『スティーブズ』「うめ」氏(小沢高広・妹尾朝子)・原作/松永肇一氏 ダン・インガルス氏がリバイバル版 Smalltalk-76/78 を使い、1979年のスティーブ・ジョブズ氏の有名な無茶 振り「テキストのスクロールを(行単位ではなく)もっとス ムーズにできないのか?」への対応を再現した映像 Alto System Project: Dan Ingalls demonstrates Smalltalk youtu.be/uknEhXyZgsg?t=3149
  21. 21. デモ Smalltalk Zoo → Smalltalk-78でも試せます!(Chrome推奨) smalltalkzoo.thechm.org
  22. 22. 最適化せずとも創作できた"未来のPC像"の一例 MacPaint (Macintosh '84) vs BitRectEditor (Smalltalk-76) youtu.be/fjtDKnboEM0 MacPaint, 1984年 5,822行(Pascal) +3,583行(アセンブリ言語) +17,101行(アセンブリ言語=QuickDraw) BitRectEditor, 1977年 ・1,201行(Smalltalk) +390行(マイクロコード=BitBLT) GUI初の「ラジオボタン」 (たった67行で実装!) (のちの)ファットビットも既に実現! スプレー様描画も可能! 単純な比較はできないが…
  23. 23. ただしAltoのスペックは初代Macintoshと同等か劣る程度 Xerox Alto Apple Macintosh 製造年 1973年 1984年 CPU 6 MHz 16-bit (4×74181 4-bit bitslice ALU) 8 MHz 16/32-bit MC68000 処理速度 0.3 MIPS 1 MIPS 画素数 606×808 ドット モノクロ(限定仕様でカラーも) 512×384 ドット モノクロ メモリ 128~512 KB (うち表示用 60 KB) 128/512 KB (うち表示用 21 KB) 外部記憶装置 2.8 MB, リムーバブルHD 400 KB, 3.5 inch FD 描画専用ハード なし(「あり」は誤解) なし LAN 3 Mbps Ethernet (1974年) シリアルポート経由 価格(2018年換算) 1700万円 80万円
  24. 24. Altoには異なるL&FのGUIアプリ群とGUI OSがあった Gypsy (エディタ) 初のcut/copy/paste Laurel (メール) Bravo (エディタ) 初のWYSIWYG Markup (ペイント系) Draw (ドロー系) Alto Trek Maze War Neptune (ファイラ) youtu.be/IUcwt0WbSaA youtu.be/Dhmz68CII9Y youtu.be/SdrpWjCP5A8 youtu.be/9yxwY2J-VIw Smalltalk Interlisp-D Cedar それぞれ特筆すべき先進性を 有するが、“マルチウインドウ” ではないGUIアプリ群 ネットワーク対戦ゲーム! これらは主に後継のDorado等で L&Fの異なる GUIベースOS様 ソフト群 ルック&フィール 要注意!
  25. 25. Xerox Alto 1973 Window-Icon-Menu-Pointer, WIMPなGUIの系譜 Apple Lisa 1983 Macintosh 1983 NeXTSTEP 1986- Microsoft Windows 1984- Mac OS X (macOS) 2000- iOS Xerox Star 1981 ただし Windows 95 の UI は Smalltalkでプロトタイピング Smalltalk GUI Cedar GUI
  26. 26. Windows(発表時) Star (アイコンベースファイラなど一部) Smalltalkと(一部)StarからLisa/Macへ & CedarからWinへ Smalltalk Cedar Macintosh Lisa
  27. 27. Windows(発表時) Star (アイコンベース ファイラなど一部) もしLisaやMacが…? Smalltalk Cedar Macintosh (Star発売前 Finder プロトタイプ) Lisa (ゼロックス訪問前 プロトタイプ) ファイル名のみで アイコンは無し マウスは位置指定のみ メニューは無し コマンドはFnキー入力
  28. 28. MSは、開発中だったMacをパクってWinをつくった?! マイクロソフト ジョブズ氏は いったい何を 盗んだ事に 激怒?? (映画とは異なり、伝えられている史実としては)1983年の Windows 発表の直後 バトル・オブ・シリコンバレー (字幕版)
  29. 29. 開発中だったMacをパクってWinをつくった…はデマ youtu.be/9qtd8Hc90Hw https://www.filfre.net/2018/06/doing-windows-part-2- from-interface-manager-to-windows/ スクロールバーは左 コマンドはプルダウンしない羅列 Cedar Windows(発表時) Winはこの時点ではまだMacのオリジナル要素はほぼ皆無 → 盗んだのは「GUIを使う」という点だけ! 実は… VisiCalc考案者、 ダン・ブリックリン撮影
  30. 30. Alto+Smalltalkの影響はNeXT(macOS, iOSの前身)にも toastytech.com/guis/ns08.html ルック&フィールへの直接的な影響としては… ・デスクトップメニュー ・カラムベースUI(ザナドゥ関係者の独自発案との説もあり) ・スクロールバーの左側配置 vimeo.com/31813340 スティーブ・ジョブズ氏的には… “Alto(デモで使われたのはDorado)を 見たときは、GUIに目を奪われて、ネット ワーク、オブジェクト指向を忘れてLisaや Macを作ってしまった。 NeXTにはそれら全てを取り入れた。 Excerpts from an Oral History Interview with Steve Jobs 意外なところで…
  31. 31. スティーブ・ジョブズ氏的には… “Alto(デモで使われたのはDorado)を 見たときは、GUIに目を奪われて、ネット ワーク、オブジェクト指向を忘れてLisaや Macを作ってしまった。 NeXTにはそれら全てを取り入れた。 ただし、アラン・ケイ氏的には…^^; Excerpts from an Oral History Interview with Steve Jobs “インタビューで彼は、我々が彼に3つのことを示した が、最初の「GUI」に目を奪われてしまったため、残り の「ネットワーク」も「本当のオブジェクト指向システム プログラミング」も見逃してしまったと語っています。 (このくだりで愉快なところは、スティーブが(彼の見 たSmalltalkの)GUIを絶賛した後、自分の言っ ていることに気づいてすぐに「しかし、それは欠陥が あり、不完全だった」などと続けたところです。これは、 たとえ自分が一番賢くない人物になってしまう部屋に いあわせる羽目になったとしても、変わらず『トップガ ン』であり続けようとする彼なりの工夫なのでしょう。) そして実際には、彼はGUIについてさえもいくつか の点を見逃していました。(例えば、複数の、そして 再起動後も状態を保持できる「デスクトップ」を持って いることで、仕事やプロジェクトを時間をかけて継続し ていくために、取り壊したり作り直したりする必要も、 また縦割りのアプリを使う必要もなく済ませられること など。) https://qr.ae/pv5deA 「スティーブ・ジョブズが訪れたゼロックスPARCは、どのようなところだったので しょうか。」へのアラン・ケイの回答より
  32. 32. 参考図書 ジョブズのゼロックス訪問劇を詳らかにするお薦めの本 ISBN-13: 978-4839902254 ~ために書かれた! ゼロックス・パロアルト研究所設立からジョブ ズ来訪までを、当時の状況、エピソード、主 にゼロックス側の当事者達への取材を通じて 詳細に記した書籍 よく目にする、ジョブズを含め、アップル関係 者の特にゼロックスの技術に関する発言やコ メントは、Apple社やMac愛が強すぎて必 然的に誤解やミスリードが多くなる傾向があ り、裏を取った方がよい。そういった意味で、 本書は比較的信頼できる。ただ… GUI史を紐解くにあたっては、映像資料が まったく添えられていないので読み手側でそれ を補わなければならないのが唯一残念なとこ ろ。(加えて、現在絶版で、入手が非常に 困難な点も…)
  33. 33. 参考映像 LisaやMacがSmalltalk発のGUIに何を足したか?を知る貴重な講演 Larry Tesler: Origins of Apple Human Interface Elements youtu.be/U74XuoYS8DY 故ラリー・テスラー氏は、ゼロックスとアップル、両社 の技術に精通していることに加え、(Lisa/Mac関 係者としては珍しく)中立的な発言が多く、特に GUIのオリジンやオリジナリティについて調べるときに とても参考になる。 Lisa試作機のマウス(2ボタン) ZXCV等へのコマンド割り振りの初期案
  34. 34. まとめ
  35. 35. まとめ …の前に、念のため副題回収 (^^; ~あるいは[アラン・ケイ]の理解を一歩進めるための “古Smalltalk学”のすゝめ~ アラン・ケイの創ってきた「PCの未来」や「オブジェクト指向」の理解に欠かせない 特に1970年代の古いSmalltalkについて疑問な点はお気軽に @sumim まで!
  36. 36. アラン・ケイ氏の偉業を継承するために必要なこと? 「天は人の上に人を造らず人の下に人を造らず」 よく知られる福沢諭吉が言葉だが 氏が『学問のすすめ』の冒頭で言いたかったのは、その続きの… 「現実には、賢い人・愚かな人、貧しい人・裕福な人、 社会的地位の高い人・低い人、がいる。」 「これらは、学問の力があるかないかによって生じた違 いに過ぎない。」 似たような誤解(?)がアラン・ケイの発言や成果の受け 取られ方にも散見される。
  37. 37. アラン・ケイ氏の偉業を継承するために必要なこと=浅い理解では不十分… ▼ダイナブック構想 子供が芝生で寝転がって使っていたキーボード付きのiPadモドキのイラストだっけ。 50年前に想像したのはすごいけど、想像だけなら誰でもできるよね? ▼Alto・暫定ダイナブック LisaやMacのご先祖様だよね。GUIとかすでにあったみたいだけど使い物にならないか ら自分たちが実用化したってジョブズが言ってた! NHKとかでGUI見たけどしょぼかった。 ▼Smaltalk 古いプログラミング言語でしょ? 言語処理系なのにGUI付きとかわけわかんない。そ もそもオブジェクト指向はSimulaの方が先だよね? Swift Playgroundsでおk。 ▼GUI 誰がやっても自然にそうなった結果でしょ? アラン・ケイ、関係あったっけ? WindowsがMacからパクって広めたんだよねー。PCはWIMPなGUI、スマホはタッチ UIで決まりでしょ。もうやることないよねー。 ▼「未来を予測する最善の方法は、それを発明することだ」 アラン・ケイはいいことを言った! アイデアがすべて。俺は未来を発明してイノベーショ ンを起こしてみせる! あれ?ドラッカーだっけ? どっちでもいいや。
  38. 38. アラン・ケイ氏の偉業を継承するために必要なこと=その先をよく読み解こう! ▼ダイナブック構想 ゴールを達成するための手順を教えることができ、どこへでも持って行ける“環境”を子 供達に提供するために今、私たちにできることは何だろうか? ▼Alto・暫定ダイナブック 10年後の一般的なPCの性能を念頭に、しかし、リロード可能なマイクロコードで構成 される効率的な仮想マシンを持ち、その上で極めて高度な言語の構築と、必要な最適 化を適宜行える「タイムマシン」。“ソフトウェアに対して本当に真剣な人は、独自のハードウェアを作るべき… ▼Smaltalk コードの複雑さや長大化、混沌を招く“代入”を排除する試みであるメッセージングによ るプログラミング実践の場。学んだり真似る“手本”ではなく、“次”を考えるたたき台。 ▼GUI メタファーは何をするものかを説明するときにはよく機能するが、それが何をなすべきかを 思索するときには喩えたものそれ自体の持つ制約を受けてしまいかえって邪魔になる。 必要なのは“イリュージョン”。このままだと退化。 「ユーザーインターフェイス:個人的見解」 [Kay 1989] ▼「未来を予測する最善の方法は、それを発明することだ」 ひらめきを得たら、それにまつわる指数関数的に有利な状況を生むムーアの法則のよう な傾向を探し、それが無いとおかしいと思える30年後の世界を想像しなさい。15年後 に引き返し、足りない15年分はお金を払って埋め、試行錯誤を通じ研究するのです。
  39. 39. How to Invent the Future I - CS183F (2017) より ウェイン・グレツキー … 史上最も優れたホッケー選手 “私はパックがあったところではなく、パックがこれからいくところに滑っていく”

×