やさぐれ日記 (October, 2003)
2003/10/23(木)
-
"Smalltalk-80:
Bits of History, Words of Advice"(Glenn
Krasner(ed.))を読み始める。Smalltalk-80実行環境の実装にかかわった人々の論文をまとめた一冊。
-
最初の論文 "The Smalltalk-80 System Release Process"(Adele Goldberg)では、Smalltalk-80の他社アーキテクチャへの実装のプロセスが説明されている。以下ダイジェスト:
-
1980年頃、Xeroxは6つの会社に対し「Smalltalkをおたくの持つハードウェアに載せてみないか?」と打診し、Apple
Computer, DEC, Hewlett-Packard, Tektronixの4社がこれに応じた(ちなみに打診したけど応じなかった会社を勝手に推理すると、IBMと…あと一つはどこだろう?)
-
打診に応じた4社に対してはSmalltalk仮想マシンの仕様が提供された。各社はこれに従い、自社の持つハードウェアのアーキテクチャに合わせ、仮想マシンの製作を開始した。
-
4社に提供された仮想マシンの仕様は、最終的には書籍"Smalltalk-80: The Language
and its Implementation"(通称Blue Book)の26-30章にまとめられた。現在、これらの章はWeb上で公開されている。仮想マシンの詳細な動作は、Smalltalkを使って説明されていたが、各社が実装するときにはPascal,C,アセンブリ言語などが実際には使用された(Smalltalk環境がないところから新しくつくることを考えればまぁ当然と言える)
-
正しく動作する仮想マシンさえ作成できれば、Smalltalk-80の本体に当たるバイトコードイメージ(仮想イメージ。Javaに例えればシステムクラスファイル群を一つのファイルにまとめたもの)をロードすることにより、理屈上はウィンドウシステム付きの完全なSmalltalk環境を各社のハードウェア上ですぐに再現できるはずである。
しかし実際の作業では、XeroxはSmalltalk-80のフルセットを含む仮想イメージを最初から提供する代わりに、Smalltalkのサブセットからフルセットへ進む複数の仮想イメージを段階的に提供し、各社はこれを使って仮想マシンの出来を詰めてゆくというアプローチが採用された(ここらへん、最近流行の反復型開発の香りがする):
-
最初の仮想イメージは1981年2月17日に提供された。仮想イメージのサイズは164キロバイトであった。
-
2本目の仮想イメージは同年7月24日に提供された。仮想イメージのサイズは約295キロバイトであった。
-
3本目の仮想イメージは同年11月18日に提供された。仮想イメージのサイズは約489キロバイトであった。
-
4本目の仮想イメージは1982年3月に提供された。仮想イメージのサイズは約505キロバイトであった。この仮想イメージは各社が作成した3本目の仮想イメージ用の仮想マシンでそのまま実行できることが確認された。
-
感想:「なぜSmalltalkは普及しなかったのか?」という僕の疑問に対し、「Smalltalkを普及させようとする試みは(一応は)行われていたのだ」という、部分的な答(?)を示してくれた文章というべきか。
しかしながら仮想マシンの仕様は一般公開されていた一方で、Smalltalkの本体である仮想イメージ(バイトコード)と、そのソースファイルは厳格なライセンス下に置かれていた(契約された会社のハードウェアと一緒でなければ配布できない)のが、広く普及するにあたっての足かせの一つとなったような気もする。
-
とは言っても1980年当時の状況を思うと、厳格な配布制限をかけるという判断が全面的に誤っていた、と言い切ることも出来ない。なにせオープンソースなんて言葉はおろか、GPLさえ登場していない時代であるし…学術利用である限りソースコードの配布、改変が(ある程度自由に)できるという、UNIXのライセンス形態こそが当時としては例外的だったのかも知れない、などなど。
-
う〜ん、まだ考察が浅いせいか、全然まとまる気配がない。この件については引き続き考えることとしたい。
2003/10/22(水)
2003/10/14(火)
2003/10/6(月)
-
NTTのある研究所ではYahooのホームページへのアクセスを禁止することにしたようだ。NTTの提供する類似のサービス(goo?)と競合するから、という話のようだが、本当のところの理由はよく分からない。ただ、なんともクダラライことをするものだと驚き、あきれ、また悲しむ。
2003/10/5(日)
-
自宅のケーブルテレビ経由のインターネット接続回線が、10Mbpsから30Mbps(いずれも下り)に増速された。ケーブルテレビを導入した3年前(128Kbps)との速度比はなんと230倍以上。気が遠くなるような数字だ…。
-
いくつかの速度測定サイト(その1,その2,その3)で計測したところ、実測値で18Mbps前後という結果となった。増速前で6Mbpsくらいだったから、きっちり3倍。かなり優秀と言えそうだ。
2003/10/4(土)
-
"ASN.1 Complete"(John
Larmouth)を読み始める。軽くユーモアのきいた文体が楽しい。
-
しばらく前のことだが、東大の萩谷先生のエッセイ置き場を発見した。さすが日本有数の戯文書きの名に違わず、シビれる言葉があちこちに見られる。そのうちのいくつかを紹介しておこう:
-
「世界最初の計算機であるENIACのプログラムというのは、今も残っているのだろうか。
また、世界最初のFORTRANコンパイラのプログラムは、まだ手に入るのだろうか。
これらは、明らかに、作品としても、歴史的な文献としても、
大きな価値があるものである。
そこで、有償・無償にかかわらず、
世界のソフトウェアを収集して研究するような機関が必要ではないだろうか、といつも思うのである。」
(ソフトウェア原論序説)
-
「しかし、はっきりいって、Knuthは、コンピュータ・サイエンティストとしてはセンス・ゼロ、
要するに馬鹿である。それは、あのTeXという処理系を見ればわかる。いったい、世の中に、
毎日TeXで泣かされ続けている人は何人いるのだろうか。あんなふざけた処理系で、これほど
多くの人に使われているものは他にはない。あんなもの、学生が演習で作ってきたら、不可に
なるに決っている。とにかく機能だけを追及した処理系である。使い難い処理系がどれほど世
の中の人的なリソースを無駄にするかということが、丸で分かっていないのである。将来、
TeXは、現在のFORTRANのような存在になって、世の中に害毒を流し続けるであろう。」
(H君への手紙:
天才)
-
Knuth大先生がかわいそうになるくらいの勢いであるが、:)
これも1989年から1990年頃の文章であることに注意。早い時期からTeXを使い込んでいた萩谷先生だからこそ、あの当時にここまで踏み込んだ発言ができたのではないか、と推測される(それにしてもすごいな…)。ちなみに「ソフトウェア原論序説」では、TeXは「芸術作品としてのソフトウェア」の代表として取り上げられている。
-
なお、今年、高林さんにより書かれた文章「バッドノウハウと「奥が深い症候群」」でも、使いにくいプログラムの筆頭に、TeXの名前が挙げられている。萩谷先生の「将来、TeXは、現在のFORTRANのような存在になって、世の中に害毒を流し続けるであろう。」という予言は当たったと言えるのかも知れない。
Hideo
Fukumori (fukumori at m.ieice.org)