先日の「Python Optional Typechecking Redux」で、
特に良くないと思うのは、「新文法」の持つ「意味」が、 __typecheck__()関数の定義によってさまざまに変化することだ。
と書いたら、「丁稚な日々」で
Rubyのfor文におけるeachメソッドの立場と、GuidoたんのこのOptional Typechecking機構における__typecheck__メソッドの立場って、あんまり変わらないような気がするんですが、どうなんでしょう?
- 同じ。Rubyのfor文はよろしくない例である。
- 違う。これとあれとは別の次元の話である。
- その他。
どれなのかしらん。
と突っ込まれていた。正解は2番。
for文におけるeach(caseにおける === でもいいけど)は、 eachは「各要素に対して繰り返す」という共通の「意味」を持つことが、 仕様と実装(既存のクラスのeachはすべてそうなっているという意味で)で示されている。 多態というのは「実装は違うが意味は同じ」であるからこそ成立する概念だ。
一方の、__typecheck__()だが、こちらはまず第一に多態ではない。 「オブジェクトに適した動作」を選択する「オブジェクト」がないのだから。 また、「モジュールごとに適した型チェック」なるものも存在しない。 「モジュール作者が望んだ型チェック」ではあるだろうが。
また、もっと悪いことに「型チェックする」という「大まかな意図」こそ指定されているが、 それが意味するものが、
であるかは、決められておらず、逆に「好きなのを選んで」と任せてしまっている。 これでは共通の「意味」があるとは認められないだろう。
Paul Grahamの新作。川合さんによる訳。
共感を持った言葉:
実際のところ、もし16歳のシェークスピアやアインシュタインが君と同級生だったとしたら、たぶん彼らは才能を現しているだろうけれど、それ以外は君の他の友達とさほど変わらないはずだとぼくは思う。
こう考えるのは、おっかないことだ。彼らがぼくらと同じなんだとしたら、彼らはすごいことを成し遂げるためにものすごい努力をしたってことになる。そう思うのはこわいから、ぼくらは天才というものを信じたがるんだ。ぼくらが怠けている言い訳ができるからね。もし彼らが、魔法のシェークスピア属性やアインシュタイン属性のせいで素晴らしいことを成し遂げたんだとすれば、ぼくらが同じくらいすごいことをできなくてもぼくらのせいじゃないことになる。
そうなんだよ。「彼らは違う」というのは簡単だけど、実際はそんなに違わない。
今、ぼくは素晴らしい仕事をした人を何人も知っているけれど、みんな同じなんだ。自分を律するということをほとんどしない。延ばせることはぐずぐず先に延ばすし、興味のないことをやらせようとしても全くの無駄だ。そのうちの一人ときたら、自分の結婚式に出席してくれた人へのお礼の手紙をまだ半分しか出してない。結婚して4年経つのに。もう一人は、メールボックスに26000通のメールをため込んでる。
あはは。私もよく妻から「あなたって全然自制心がないのね」って言われてる。
自律心が全くのゼロだったら困るよ。走りに行こうかなと思うくらいの自律心は必要だ。ぼくも時々、走るのが面倒だなあと思うけれど、一度走り出せばあとは楽しめる。そして何日か走らないと具合が悪くなる。
そうか、「走りに行こうかなと思うくらいの自律心は必要」なのか。 体重も増加傾向だし、走ろうかなあ。
しかし、川合さんは、ばりばりプログラムも書くし、翻訳もうまいし、すごいなあ。 梅田さんも注目している。
「知られざるRuby 2.0のリリース」という話ではなくて、 Chris Pineのところに二番目の娘(Rubyちゃん)が産まれたという話。
ちなみに、Chris Pineの長男は「Cくん」だそうだ。
一昨年のOSCONに会った時、「娘が産まれたらRubyって名前にする」って言ってたけど、 本気だったらしい。
一番おかしかったフォローアップは
Congratulations to both of you!
The post was really neat and funny... thank goodness you don't program in PYTHON! ;-)
であった([ruby-talk:127818])。やっぱ、リアルで「Pythonちゃん」はマズいだろう、いくらなんでも。
ことの発端はO'Reilly ONLampのCurt Hibbsの記事であった。主にWindowsユーザを対象にRuby on RailsをMySQLのインストールからはじめて丁寧に解説する記事。
これが本家スラッシュドットに取り上げられた。
さらに、PHPとMySQLで実装されていた音楽配布サイトCD Babyが、 Ruby on RailsとPostgreSQLで再実装することを決定するニュースが。
その結果、RailsのRubyGemのダウンロードが1月21日の一日だけで935を記録。 同日、One-Click Installerのダウンロードも1499を記録した。
予想以上のインパクトだ。