やさぐれ日記 (December, 2003)
2003/12/31(日)
2003/12/30(火)
-
午後から高田馬場にて忘年会ならぬ忘年麻雀。3半荘で-142と完膚なきまでに叩きのめされた
:(
-
夕食を食べた後、横浜へ移動。面子の一部が入れ替わり第二回戦。2半荘やって-60と再び惨敗…すごい一年の締めくくりになってしまった。
2003/12/28(日)
-
"Modern
Compiler Implementation in ML" 難所をかろうじて抜けた。現在101ページにて抽象構文(Abstract
Syntax)の説明を消化しつつ、構文木と格闘中。読了は4月中旬から6月中旬の間くらいになるか。
-
同書にて、LISPに関する興味深い一節があったので記しておく:
-
「(LISPにて導入された)抽象構文の仕組みは元来、ややこしいカッコだらけの記法(Lots
of Irritating Silly Parentheses)に代わる読みやすい文法が出てくるまでのつなぎとして登場したものであるが、(LISPの)プログラマーは抽象構文で直接プログラムを書き下すことにすぐに順応してしまったのである」(101ページ)
-
上記の文だが、Paul Grahamの「普通のやつらの上を行け
---Beating the Averages---」に書かれている言葉と、きれいに対応している。以下該当する部分:
-
「コンパイラの動作を理解していれば、Lispの構文は奇妙だと言っても Lispには構文が無いと言ってもたいした違いは無いということがわかるだろう。他の言語ならコンパイラが構文解析して内部に作られる構文木を、
Lispでは直接プログラムとして書き下すわけだ」
2003/12/21(日)
-
"Modern
Compiler Implementation in ML" 現在84ページ目あたり。言ったそばから難所にぶつかってしまった。練習問題が解けないとうだうだ悩んでいるくせに、それが楽しいというのだから、我ながら始末が悪いことこの上ない。
:)
-
ということで問題の一例:
-
aとbという二つの文字のみで構成される回文、つまり前から読んでも後ろから読んでも同じになる文字列を表現するような、LR(1)パーザ用の文法を作成せよ。なお、作成した文法にあいまいな規則が無いようにすること。
あいまいな部分がどこにあるかについては、yacc(正確にはML-Yacc)に通すと、警告やエラーになって表示されるのですぐに分かるのだが、どう直せば良いかは全く別の話なので苦労する。LR(1)パーザの気持ちを理解するにはまだまだ修行が必要らしい。
-
「攻殻機動隊 Stand Alone
Complex」(DVD)もついに最終巻。26話全体を通して破格とも言える完成度を保ちつづけたのは驚異であるとしか言いようがない。一見の価値あり。決して損はしない、というより見ないことこそが損である、と言ってしまいたいくらいの傑作。
2003/12/14(日)
2003/12/12(金)
-
PSXが明日発売される。家電がソフトウェア製品となりつつある状況に、ソニーがどこまで対応できるかを占う重要な製品として注目しているのだが、さて、どうなるだろうか。
-
僕が家電のソフトウェア化という現象を最初に感じたのは、今年の8月に東芝のHDD-DVDレコーダ(RD-X3)を購入した時だった。マニュアルは3冊合わせて270ページ(!)ほど。そしてその内容のほとんどはソフトウェアに関する説明に費やされていた。5年前に買った東芝のビデオデッキの取り扱い説明書は27ページだったことを考えると、急激な変化だ。
-
作る側の立場から見ると、従来のハードウェア中心の作り方ではまったく歯が立たない状況に来ているのではないかと思う。以後、ソフトウェアを作る仕組みがきちんと出来ていない組織では、ちゃんと動く製品を作ることもおぼつかない、などという現象が起きるかもしれない。PSXの仕様変更のニュースや、発売直前のインタビュー記事の細部を見ると、ソニーではそのような開発の仕組みがまだ成立していないものと推測される。つまり、ハードウェア製品を作っていた感覚の延長からまだ抜け出せていないのではないか、ということだ。
-
この推測が正しいかどうかについては、今後3ヶ月ほどの推移に注目してみた上で結論を出すことにしたい。具体的には、
-
出荷時のソフトウェアに関し、どれだけの数の不具合がユーザによって発見されるか。
-
「ファームウェアアップデートで対応すればよい」とひとことで言っても、それをサポートするためにはアップデートを提供する(サーバ)側がきちんとしていなければならない。ファームウェアアップデートがトラブル無しに実施できるようなインフラストラクチャがいつごろ成立するか。
-
上記ファームウェアアップデートが問題なく実施できたものとして、仕様変更によって制限された機能のうち、いつまでに、いくつの機能が制限解除されるか。また制限解除した機能に新たな不具合が作りこまれていないか。
といったあたり。特に上記2点目、最初のファームウェアアップデートのタイミングが最初の山場か。
2003/12/7(日)
-
「楽しい」と「楽しむ」という二つの言葉の間には微妙な違いがある。簡単に言うと、「楽しい」は受動的、「楽しむ」は能動的。
-
「楽しい」には、楽しいことがどこかに用意されていて、それを消費しているかのような響きがある。一方「楽しむ」というのは、ある物事について、楽しさを積極的に生み出すということであるように思える。以下、仕事を「楽しむ」人々の言葉:
-
『彼らは一生かけて仕事を楽しんでいる。必ずしも刻苦精励努力しているわけではない。好きで楽しんでいるからこそ、長続きし、上達する』(加藤寛一郎「生還への飛行」)
-
『「プロフェッサー・カナデ、あなたは楽しんでるね。自分は、いつも研究をいわば遊びとしてやってきたし、人も私のことをそういう。しかし、あなたには負けた。あなたはただただ楽しんでいるようだ」』(金出武雄「素人のように考え、玄人として実行する」)
-
俗に「趣味を仕事にしてはいけない」と言うが、結局のところ消費者的な態度のまま、それを仕事にすることが問題なのだと思う。楽しみを見出すことが悪いわけではない。
2003/12/4(木)
Hideo
Fukumori (fukumori at m.ieice.org)