教育テレビ
京都賞20周年記念ということでNHK教育テレビで放映された「これからの科学、これからの社会 京都賞歴代受賞者からのメッセージ」なる番組をNHKの人から送ってもらったDVDですこしだけみました(もう一度見ます)。
Alanも見たそうです。彼がオルガンを弾いている場面から始まったとときに、バックグラウンドで流れている曲は彼のオルガンでは弾けない曲だったり、HPのパソコンで仕事しているように見える場面でいったい何をしゃべっていたかとか、子どもたちがCF-R3を使っているAlanのところに集まっているのは、別にSqueak eToysを見せていたわけではなく、ただ「ちっちゃいコンピュータだね」と言って子どもが集まっていただけだったとか、まあそういうものです。
私もちょっとだけ映ってました。確かに。
Smalltalkにはif文がない
すみさん経由で見たhttp://www.programmers-paradise.com/tdiary/?date=20050223#p02。
if文がない、というのはそんなに驚くほどのことではない、とも思ったりはしていたこともありました。学部生のころSchemeを習っていたときに、
(if cond (f) (g))
と書く代わりに
(if cond (lambda () (f)) (lambda () (g)))
みたいに書くことになっていたら、「ifはspecial-form」みたいな特別扱いをしなくても良くなるのに、と思ったことがあります。その後HOPLを読むと、某「パソコンの父」がPARCに行く前にそういうような言語をデザインした、というような話(だったとおもう)を読んで、まあそうだろうな、と思ったことがあった気がします。
もちろんいちいちifのたびにlambdaとかいう長いキーワードを書きたくはないわけですが、Smalltalkでは四角い括弧を使うことによってその問題を回避しているわけですね。
言語において構文と意味論は手に手をとって一つの世界を形作るので、要素還元主義的に考えてもあんまり良いことはないという例ではないかな、と思ったりはしています。
速度に関しては、ifのinline化をやめても、きっと全体としてはそれほどの速度低下はないのだろうと思います(というか、いろんな意味で事実に反するときに「当然」とはあまり書いてほしくないなあ)。whileTrue:やto:do:のインライン化をやめたらきっと(いろんな段階で)死ぬと思いますが(笑)。