Hatena::ブログ(Diary)

Smalltalkのtは小文字です

id:sumim:about

Smalltalk を本格的に勉強する気はないけれど、うんちく程度に知っておきたいなら→Smalltalkをちょっとかじってみたい人のための、チュートリアルまとめ - Qiita

オブジェクト指向の“モヤッと”の正体を知りたくなったらこちらの記事が役に立つかも→id:sumim:20080415:p1 とか id:sumim:20040525:p1


 | 

2004-05-08

[] SUNTORY SATURDAY WAITING BAR AVANTI

(アーカイブされるまでのリンクはこちら) NEC の PC-8001 発表から 25 周年ということで、米マイクロソフト副社長の古川亨、コンピュータ・ジャーナリストの林信行、Yahoo! JAPAN の小野澤忠仁のお三方の話に、いつものように聞き耳を立てている。

本編でもちらっと出ていたが、ほんの十数年前までは、我々日本人がパソコンや PC と言えば NEC の PC-9800 シリーズを指していた。個人的には Windows 3.x あたりからの Windows の急激な進化を目の当たりにして、“業界のネック”(業界を代表する…という意味と同時に、市場独占により進歩を妨げているという皮肉を込めて仲間内では NEC をこう呼んでいた)の牙城はいずれ崩壊し、今のようになる予感はあった。しかし、本当にそうなるかと問われると言葉に詰まるくらい NEC は実際、勢いを持ってもいた。

また、個人的にはまだ Smalltalk システムを、ちょっと変わった、しかし、単なる言語、開発環境としか知らなかったあの頃は、バカみたいに Mac 万歳!、Apple は先進的!で済まされていた時分でもあり、当時の言動を思い起こすたびに今では冷や汗をかく(^_^;)。(まあ、今にして思えば、つい昨日まで CUI な Apple II が主力製品だった会社が、どうして段階を踏まずに GUI な Lisa なんかをあの完成度で仕立て上げることができたのか?という大いなる疑問はもっていたので、もう少し突き詰めて「かならずネタ元があるはず!」と批判的な姿勢があれば…と残念ではある)

本編はありきたりの昔ばなしが、すこしリスナーを意識してかみ砕いて語られるだけだったが、そんな中でも、PC-8001 のプロトタイプは真っ赤だったという話はおもしろかった。結果的には、古川さんのサジェスチョンを受け入れるかたちで例の地味なツートーンに落ち着いたわけだが、予定通りなら我々はシャア専用仕様の PC-8001 を早々と拝めたということになる。残念(^_^;)。もっとも、「機動戦士ガンダム」の放映開始は同年の4月と若干先行していたとはいえ、PC-8001 の製品発表に至る開発期間を加味すれば、赤だったのは同作品とは無関係のはず。一応、為念。 あと、当時の自分たちの使い方(BASIC もやったが、多くはマシン語の打ち込みだった)からすると、16 進キーボードのほうが使い勝手はよかったかも…。古川さんは余計なことをしてくれたものである(笑)。

ちょっと残念だったのは今のパソコン像に至る過程に関する言及で、見方によっては現状をはるかに凌駕したものが、すでに 60 年代終わりから 70 年代はじめ頃には MEMEX や NLS、Sketchpad、暫定 Dynabook (Smalltalk を GUI ベース OS として動作する ALTO)など によってかなり具体的に語られていたり現実に存在していたということに触れられていなかったこと。古川さんあたりからインターネットの黎明期の話の流れに前後して言及があったりすると Windows が単なる Mac の真似ではなく、しかし、もちろん Lisa/Mac をひっくるめて、こうした先達の夢や暫定解をちびちびと小出しにして(あるいはひどく矮小化したかたちで)後追いしているにすぎないということを臭わすことができておもしろかったんじゃないかなと思う。別のところでちょっと触れられていたけれど、コンピュータ革命なんて終わるどころか、まだ始まってすらいない…ってはなしと絡めてもグッドだったかも…。

もっともこういう話は、文章や音声で見聞きしてもピンと来るわけないので、もし触れられたとしても分かる人にしか分からない内輪受けネタにしかならない。そういう意味ではラジオや印刷物というメディアは実に無力で、実物、それがかなわなくても、せめて映像として残されたものを実際に見てみないことには、ね。

前者の Sketchpad なんか見ていると Lisa/MacDraw から(ベジェ曲線を扱うことができる機能追加を除けば)30 年来ほとんど“進化”のないドロー系ツールの現状が嘆かわしく思えてくる。同種のツールは今あるものよりもっと“賢く”進化、もとい、追従する余地があったはずだ。(これは SELF や Squeak の Morphic についても言えるけど…(^_^;))。

さらに後者の ALTO で動作する Smalltalk システムにおけるオペレーションの様子を撮った映像のほうは、私のように古からの“忠実”な Mac フリークにはもっと衝撃的で、まず初っ端の映像で「これが ALTO? Mac のプロトタイプじゃないの?」と我が目を疑い、続いて、「ALTO の GUI はもっとしょぼく Lisa/Mac はそれを凌駕すべく作られた…はずでは?」あるいは人によっては「FUJI XEROX のショールームで触れた Star とぜんぜん違うじゃん!」「Smalltalk って言語じゃないの?」といったそれまで見聞きした“常識”が音を立てて崩れるのを感じ、ついにはそれまで信じてきた Apple の先進性(なんたらテノロジーのたぐい)の多くは実は幻影に過ぎず、うまく同社(あるいはジョブズ)のプロパガンダにのせられていただけ…と知って愕然とすること請け合いだったりする。

Win のこと、さんざん笑ってきたけど、なんだよ…、Mac だってただの Smalltalk システムのサル真似じゃん… _| ̄|○ と(笑)。

[] Lisa GUI Prototypes

AVANTI の参考リンク先にある Lisa 開発版のスナップショット集。上と絡めてちょっと気になるのは、NeXT のブラウザ風アプリの画面をして、Mac OS XGUI の片鱗が当時からあったかのような印象を与えてしまうコメント。もちろん言うまでもなく、これは Smalltalk システムに標準のツールの一つであるブラウザ(名前もそのまま)のパクリ(とういかおそらく作者本人が絡んでいるので応用?)であり、NeXT のそれも同じ。けっして、Lisa のプロトタイプ時代に何らかの理由でお蔵入りになったものが NeXT で復活し…云々というたぐいのものではない。単に両者が時と場所を違えても Smalltalk システムというアイデアの供給元は相変わらず共有していた、というだけの話である。これは Win の右クリックメニューの存在(Mac にないものをどうしてパクれたか…という“謎”)にも通じる。

Smalltalk をちょっとかじったことがあり、しかしそれを単にプログラミング言語、あるいはその処理系や開発環境としてだけとらえている人の中には、Smalltalk のシステムブラウザはクラスライブラリのビューワ兼エディタであり、NeXT のそれとは異質である…(よって NeXT のそれは新しい発想)という反論を呈する向きもあるやもしれない。が、「Smalltak イコール、プログラミング言語」という Smalltalk-80 以降、不幸にもひどく矮小化したかたちで世の中に定着してしまった“常識”をなんとか払拭したうえで、そもそもオブジェクトのみで構成される Smalltalk システムで Finder のようなアプリは必要とされなかった(逆に、ファイルシステムに強く依存した Mac において、Finder がたいへん重要な役割を演じ得た)ことに考えが至る程度に「Smalltalk が何者か?」ということを知っていれば、Smalltalk におけるブラウザの位置づけが、NeXT のブラウザのそれとさして変わりないものであることは容易に想像がつくはずで、この手の反論は当を得ていないという意見に賛同いただけるに違いない。もっと踏み込むことで、Smalltalk システムの Lisa/Mac のみならず NeXT/OS X への影響の大きさを改めて知ろうと思う心の余裕を持てるようになれば、それまで霞のように漠然としか知ることができなかった、かの「暫定 Dynabook 環境」を具体的に、かつ身近なものとして Mac の中に見いだせるようにもなるはず。で、先の OS 9 の死により“パロアルト系 OS”(?!)はついに終焉を迎えた…などというトンチンカンなことには少なくとも決してならずにすんだりもする。(実は、仕組みから言えば、Mac OS より OS X のほうがはるかに Smalltalk システムに近く、それゆえユーザーは Smalltalk システムで期待されるのと同種の恩恵に与ることができている…のである)。

他方で、Objective-C や Project Builder にまではこの手の影響が完全には及びきらなかったことから、Macintosh System や Mac OS 時代の「使うは天国、作るは地獄」の払拭に成功したと大々的に宣伝される NeXT/OS X においてすら、なお、ジョブズをして、エンドユーザーと開発者を差別し、あるいはエンドユーザーとしての開発者を軽視する傾向(もしくは開発作業に対する無知、無関心)が見て取れて、これもまた興味深いと言える。

ひるがえって、こうして Mac が GUI ベース OS としての Smalltalk システムから何をどのように流用したかという写像のようなものを考えるたびに、とことんまで開発者とエンドユーザーに区別を設けようとしない Smalltalk システムの性格を改めて実感させられる。開発者、そして近年 Squeak において奇しくも生じ得たエンドユーザー(非 Smalltalk プログラマ)のいずれからも、かたちは違えてもよく指摘される Smalltalk システムの初手のとっつきのにくさにおいて、Mac や HyperCard、Newton の醸し出す「初心者への優しさ」に欠けている事実が浮き彫りにされ、これもまた「では、Apple のオリジナリティとはなんだったのか?」というテーマにおいて、たいへん興味深い。

nobinobi 2004/05/09 02:42 sumimさんは鷲見正人さんだったんですね(笑)。確かにこうして振り返るとSmalltalkの影響は偉大ですよね。ただ、そのSmalltalkの前にはエンゲルバートの伝説のデモやNSLもあったわけで、もうここいらへんはローレンス・レッシグ氏がいうところのコモンズになっているような気も少しします。今度のアトキンソン来日とかって鷲見さんはいらっしゃれませんよね(その前後に東京で用事とかないですよね!?)。それこそLisaの開発中の画面とかも見せて話してくれるそうです。

sumimsumim 2004/05/09 02:55 え、そういう内容なんですか…。う〜む、行きたい…。こういうとき札幌暮らしってのは恨めしく思いますね(^_^;)。たいていは悦に入っているのですが(笑)。

nobinobi 2004/05/09 04:02 東京にいらっしゃるときは、ぜひお声をかけてください。私の方でも時間をつくりますので、ぜひ一緒に食事でも行きましょう。アトキンソンの話の内容はその時にでも...(笑)

sumimsumim 2004/05/09 04:13 ええ。是非。よろしくお願いします。楽しみです。

sumimsumim 2004/05/09 04:13 なるほど、すでにコモンズだったという部分ももちろんありますが、それにしても Lisa/Mac のウインドウシステムは何脈絡もなくいきなりディテールまで完成しすぎです(笑)。これは、何かのマネだとされることの多い Windows と比べても明らかに突然すぎますし、試行錯誤の過程が見えてきません。その点 Smalltalk システムは、http: //www.iam.unibe.ch/~ducasse/FreeBooks/SmalltalkHistoryHOPL.pdf の挿絵の変遷からも見てとれるように、GUI ウィジェットの実装やデザインの紆余曲折に関してはなるほどなと思わせる、そこに至る“筋道”があるように私には見えるのですが、いかがでしょう。もうひとつ、Smalltalk システムを学んでみて分かったおもしろいことに、ジョブズのワンボタン賛美と3ボタンマウス批判があります。あれって、昔はよくワークステーションを意識して云々と記述されていましたが、よく考えると当時はワークステーションなんか STAR くらいしかなかったわけで、その STAR にしたって2ボタンなのに、なぜ?と思っていたら、察するにあれは Smalltalk システムの悪口を言っていたんですね(^_^;)。それに気づいて、Lisa/Mac において、タイトルバードラッグによるウインドウ移動や、クローズボックスの設置、メニューバーなどがどうしていきなり現れ得たかっていうそれまでの疑問がすっかり氷解しました。ワンボタンと決めてしまった Lisa/Mac のマウスでは切り捨てざるをえなかった、Smalltalk システムの黄ボタン(中ボタン=操作対象オブジェクトに対する操作のためのメニューをポップアップ)、青ボタン(右ボタン=操作対象オブジェクトを含むウインドウに対する操作のためのメニューをポップアップ)を専用の GUI ウィジェットに分散して分担させた結果(いうなれば、苦肉の策)だったんだろう…と。こうした結論は Apple がゼロから作ったものとして想定した場合も、 STAR や ALTO の他のソフトの UI をいくら調べたとしても、到達するのは容易なことではないと思います。でも Lisa/Mac のウインドウシステムが Smalltalk システムのそれから派生したものだと考えると、いろいろなことがとてもうまく説明できるのです。PARC の Smalltalk チームからもずいぶんと人材流入があったそうですから、当たり前と言えば当たり前なんですが、そうしたことがすべて Apple のオリジナルであるかのように手放しで賞賛されたり、あるいはそうでなければ、ある種のコモンズだとだけ書いてお終いというのは、ちょっと違うような気もするわけです。

thoruthoru 2004/05/09 16:51 nobiさんってのびさん?ビルさんとは水曜日にあってきましたよん。ほんとに素晴らしい人でした。技術的には門外漢なのでよく分からないのですがHyperCardのペイントツールがなんんであんなにつかいやすいのかなんとなくわかったような気がしました。来週の講演には僕も行くのでnobiさんにもあえるかな?またまた掟破りのコメントの使い方をしてすみません。<sumimさん

thoruthoru 2004/05/09 16:57 sumimさんは東京にこられるのかな?もしこられるならおあいできるのになあ・・・

sumimsumim 2004/05/09 21:57 thoru さん、ごきげんよう。是非、いちどお食事でもごいっしょしたいですね。うまくゆけば、6 月の末頃に東京で一泊できるかもしれません。nobi さんは、すでに見ておられないかもしれないので、上のリンクか、下のリファラを辿って nobi さんのところで直接コメントを残されたほうが確実かもしれません。

thoruthoru 2004/05/10 00:08 ありがとうございます。こちらにこられる際はぜひお知らせくださいませ。

nobinobi 2004/05/10 01:38 MacがSmalltalkやALTOから大きな影響を受けていることは誰も否定しないと思いますよ。Macの開発チームがALTOを見たのは、公式に見学に言ったときだけではないでしょう

nobinobi 2004/05/10 01:50 上の奴、すみません。間違ってreturnキーを押してしまいました。今日は1日出かけていたので夜中までメールチェックもろくにしませんでした。さて上の続きですが、「Macの開発チームがALTOを見たのは公式の見学1回だけではないでしょう。何年か前だったかジョアンナ・ホフマン自身、「ALTOで使われているあのフォントが必要だ」とPARCに務めている友達に頼んでフォントを参考にさせてもらったとか、そういったエピソードを暴露しています。実際、Macの開発にはアップルがPARCから引き抜いた(あるいは自らアップルにやってきた)人達も大勢関わっています。ただだからといってアップルが100%、PARCの真似をしたかというとそうではなくって、彼らは彼らなりの改善を多く試みていた、これもまたこれで事実だと思います。もっとも、私はMacの開発に関わっていたわけではないし、ここはやはり実際に関わっていたビル・アトキンソン氏のような人物の話や資料を頼りにする他はない気がします。そうしう、sumimさんの推理が当たっていることを証明するおもしろい情報を見つけました。こちらのURLで http://www.mackido.com/Interface/ui_history.html ジョブズが見たのはALTOではなく、Smalltalk開発環境だったと書いてあります。これからこの訪問について触れるときはちょっと注意が必要ですね。

sumimsumim 2004/05/10 03:57 ん〜、微妙に食い違っているみたいですね(^_^;)。ジョブズ達が見たのは Smalltalk を GUI ベース OS として動かしている ALTO だったので、ALTO を見たということについては間違いではないのです(これは nobi さんのエントリーへのコメントでご紹介した本にも書いてあります)。ただ、私がことあるごとに、彼らが見たのが Smalltalk システムであったことを強調したがるのは、Smalltalk は OS であり、世に言われるように単なるプログラミング言語や開発環境といった狭い範疇のものではない、ということを言いたいがためです。なかなか伝わりにくいものですね…。 ちなみに念のため、本当の“ALTO OS”と呼ばれるもにには Unix のシェルのようなもの(Alto Executive)で運用されていた、という話は nobi さんはすでにご存じですか?

 | 
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 10 | 12 |
2013 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 | 12 |
2014 | 01 | 02 | 05 | 07 | 08 | 09 | 10 | 11 |
2015 | 04 | 07 | 08 | 11 | 12 |
2016 | 02 | 03 | 06 | 07 | 08 |
2017 | 04 | 05 | 06 |

最近のコメント

1. 06/28 sumim
2. 06/28 squeaker
3. 06/28 sumim
4. 06/28 squeaker
5. 06/25 sumim

最近のトラックバック

1. 05/25 プラグインレスでSVGを表示する「SIE」開発ブログ - メッセージをや...
2. 01/30 no_orz_no_life - Erlangとジャンケン
3. 12/31 檜山正幸のキマイラ飼育記 - J言語、だってぇー?
4. 09/04 Twitter / @atsushifx
5. 07/06 みねこあ - オブジェクト指向 と FizzBuzz

この日記のはてなブックマーク数
1743576