Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2005-01-24)
[go: Go Back, main page]

«前の日記(2005-01-23) 最新 次の日記(2005-01-25)» 編集

Matzにっき

<< 2005/01/ 1 1. 新年会
2 1. 松江
3 1. 年始
4 1. Adding Optional Static Typing to Python
5 1. Python Is Not Java
2. 米子
6 1. Playing with Ruby
2. The Evolution of an Extension Language: A History of Lua
3. MS、ソフトのコンパイル・編集に関する特許を取得
7 1. Optional Static Typing -- Stop the Flames!
2. Typing Ruby - Ruby言語型チェックプログラム
3. 会議
4. “特許テロ”と戦う手段
5. PHPが「2004年のプログラミング言語」に〜TIOBE Index
8 1. The Guido van Robot Programming Language
2. A New Linux Business Model
3. Alan Ver0.08
9 1. 岡山
10 1. The design of the Inferno virtual machine
2. DSL Design Considerations
3. Free Money for Rubyists!
4. YARV: Yet Another RubyVM 0.1.0
11 1. IBM、500件の特許をオープンソースに「寄贈」
12 1. Sun CEOが語る「Javaをオープンソース化しない理由」
2. PostgreSQLをメインストリームに推すPervasive
3. 新年会
13 1. 私はなぜXMLを愛していないか 〜 言語屋の視点から
2. Looking for Japanese allies
14 1. 知識共有を基盤とした高度造船CIMの開発研究
2. Famous and not so famous programming quotes
3. Python in What's Ruby
4. 10代男の子の『なりたい職業』第1位は、プログラマー
15 1. マイクロソフト平野氏「特許は新製品を生み出すドライビングフォースとして無視できない」
16 1. 出雲
2. 誕生日
17 1. ミクロマンマニアックス
2. Linux Magazine 3月号
18 1. Matz's diary:マイクロソフトは、オープンソースソフト陣営にどこまで接近できるのか
19 1. ビジター(訪問者)
2. 『C++の設計と進化』
20 1. Python Optional Typechecking Redux
2. 人材不足と慢性的残業の悪循環を断ち切る : Hotwired
3. Ta-da list
21 1. OOPSLA 2004 Proceedings
22 1. 今日のハック
2. 水鳥ウォッチング
23 1. 松江
24 1. 文法の意味
2. Transmeta、経営再建へ - 知財と技術ライセンス重視へ
3. 知っておきたかったこと --- What You'll Wish You'd Known
4. [ANN] Ruby 2.0!
5. Ruby-on-Rails Effect
25 1. 見直しがすすむGPL
26 1. 米サン、基本ソフト特許1600件を無償公開
2. accident attempt
27 1. Developers Summit 2005
28 1. 三ヶ月目
2. Ten Things Every Java Programmer Should Know About Ruby
3. OOP Is Much Better in Theory Than in Practice
4. ふたば祭
29 1. 『ハッカーと画家』
30 1. 松江
31 1. 「本当にオープン?」、米Sunの特許無償提供に民間団体が異議
2. FSFは将来のGPLに対してフリーハンドか
>>
Dr.Web 予測するアンチウイルス 持ち込み PC 対策でお悩みの方にオススメです。
ウイルス・スパイウェア検査・駆除 用ツール Dr.WEB CureIt! を無償配布中!

2005-01-24 [長年日記]

_ [Ruby]文法の意味

先日の「Python Optional Typechecking Redux」で、

特に良くないと思うのは、「新文法」の持つ「意味」が、 __typecheck__()関数の定義によってさまざまに変化することだ。

と書いたら、「丁稚な日々」で

Rubyのfor文におけるeachメソッドの立場と、GuidoたんのこのOptional Typechecking機構における__typecheck__メソッドの立場って、あんまり変わらないような気がするんですが、どうなんでしょう?

  1. 同じ。Rubyのfor文はよろしくない例である。
  2. 違う。これとあれとは別の次元の話である。
  3. その他。

どれなのかしらん。

と突っ込まれていた。正解は2番。

for文におけるeach(caseにおける === でもいいけど)は、 eachは「各要素に対して繰り返す」という共通の「意味」を持つことが、 仕様と実装(既存のクラスのeachはすべてそうなっているという意味で)で示されている。 多態というのは「実装は違うが意味は同じ」であるからこそ成立する概念だ。

一方の、__typecheck__()だが、こちらはまず第一に多態ではない。 「オブジェクトに適した動作」を選択する「オブジェクト」がないのだから。 また、「モジュールごとに適した型チェック」なるものも存在しない。 「モジュール作者が望んだ型チェック」ではあるだろうが。

また、もっと悪いことに「型チェックする」という「大まかな意図」こそ指定されているが、 それが意味するものが、

  • isinstanceof()のチェックなのか
  • signature conformanceのチェックなのか
  • object adaptationなのか
  • そもそもなんにもチェックしないのか(これも合法)

であるかは、決められておらず、逆に「好きなのを選んで」と任せてしまっている。 これでは共通の「意味」があるとは認められないだろう。

_ [知財]Transmeta、経営再建へ - 知財と技術ライセンス重視へ

企業業績の知財原則

「業績が傾くと、企業は途端に知財とライセンシングに熱心になる」

_ 知っておきたかったこと --- What You'll Wish You'd Known

Paul Grahamの新作。川合さんによる訳。

共感を持った言葉:

実際のところ、もし16歳のシェークスピアやアインシュタインが君と同級生だったとしたら、たぶん彼らは才能を現しているだろうけれど、それ以外は君の他の友達とさほど変わらないはずだとぼくは思う。

こう考えるのは、おっかないことだ。彼らがぼくらと同じなんだとしたら、彼らはすごいことを成し遂げるためにものすごい努力をしたってことになる。そう思うのはこわいから、ぼくらは天才というものを信じたがるんだ。ぼくらが怠けている言い訳ができるからね。もし彼らが、魔法のシェークスピア属性やアインシュタイン属性のせいで素晴らしいことを成し遂げたんだとすれば、ぼくらが同じくらいすごいことをできなくてもぼくらのせいじゃないことになる。

そうなんだよ。「彼らは違う」というのは簡単だけど、実際はそんなに違わない。

今、ぼくは素晴らしい仕事をした人を何人も知っているけれど、みんな同じなんだ。自分を律するということをほとんどしない。延ばせることはぐずぐず先に延ばすし、興味のないことをやらせようとしても全くの無駄だ。そのうちの一人ときたら、自分の結婚式に出席してくれた人へのお礼の手紙をまだ半分しか出してない。結婚して4年経つのに。もう一人は、メールボックスに26000通のメールをため込んでる。

あはは。私もよく妻から「あなたって全然自制心がないのね」って言われてる。

自律心が全くのゼロだったら困るよ。走りに行こうかなと思うくらいの自律心は必要だ。ぼくも時々、走るのが面倒だなあと思うけれど、一度走り出せばあとは楽しめる。そして何日か走らないと具合が悪くなる。

そうか、「走りに行こうかなと思うくらいの自律心は必要」なのか。 体重も増加傾向だし、走ろうかなあ。

しかし、川合さんは、ばりばりプログラムも書くし、翻訳もうまいし、すごいなあ。 梅田さんも注目している。

_ [Ruby][ANN] Ruby 2.0!

[ruby-talk:127803]

「知られざる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ちゃん」はマズいだろう、いくらなんでも。

_ [Ruby] Ruby-on-Rails Effect

ことの発端は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を記録した

予想以上のインパクトだ。

本日のツッコミ(全4件) [ツッコミを入れる]
_ yyamano (2005-01-25 02:41)

こまかい事ですが、CD Babyは音楽配布サイトではなく、independentなCDを扱うオンラインショップです。

_ AC (2005-01-25 13:57)

1.オブジェクトの有無と多態は関係ありません。多態はOOより古い概念です。
2. eachや===も、単に約束に過ぎず、どう使われるかわからない(プログラマの自由)という点では__typecheck__と同じでは。「意味」は単なる慣習であって、言語に「意味」を強制する仕組みは何もないでしょう。どちらもad hoc polymorphism。

_ まつもと (2005-01-25 14:08)

多態がOOPよりも古い概念であることには同意しますが、それでもなおオブジェクト(OOP的な意味ではなく、Lisp的な意味での)がなければ多態はありえないのではないでしょうか。
__typecheck__の方では、モジュールをオブジェクトとみなすことができないことはありませんが、自然ではないと思います。

「どちらも約束に過ぎず、ad hoc polymorphism」という指摘にも同意しますが、__typecheck__が「意味と呼ぶには具体性が足りなすぎる」ことが違いを生んでいると思います。

_ rnd (2005-01-26 11:55)

子供の命名ネタでは、
「ヤフーと名づけられた赤ちゃん」はでっちあげ記事だった
http://www.excite.co.jp/News/odd/00081106602965.html
とかいう二重にわけの分からないニュースも。

この人、解雇されちゃってるし。

お名前:
E-mail:
コメント:
本日のリンク元
検索

«前の日記(2005-01-23) 最新 次の日記(2005-01-25)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.