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にっき(2006-06-24)
[go: Go Back, main page]

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

Matzにっき

<< 2006/06/ 1 1. Bitwise Magazine :: Ruby programming tutorial
2. Bitwise Magazine :: Ruby Programming
3. mandatory arguments after splat
2 1. 平成17年度情報化月間 第26回 U20プログラミングコンテスト
2. ZDNet.com オープンソースブログ:成功するオープンソースビジネスモデル7選
3. Ruby のブロックってオブジェクトじゃないよね。これって“驚き最小の法則”に反しない?
3 1. SANYO もちつきベーカリー
2. 引っ越し
3. バプテスマ会
4. 『ふつうのHaskellプログラミング
4 1. 第一安息日
5 1. マルチメディア通信と分散処理研究会 第127回 研究報告会
2. 東大での話
6 1. ベンチャーファンド
7 1. カバン
2. 地方銀行と海外通貨
3. 寄付
8 1. Alan Kayといっしょ
2. 秋葉原
3. オープンソースマガジン8月号
9 1. Interop
2. オープンソースマガジン8月号
3. 日本Rubyカンファレンス前夜祭
10 1. 巨大パッチ
2. 日本Rubyカンファレンス、発表、パネル
3. 日経Linux8月号
11 1. ファイアサイド
12 1. 原稿の苦しみ
2. スライド準備
3. 「趣味の言語からビジネスの言語へ」---日本初のRuby大規模イベント開催
13 1. 東大講演
2. 羽田まで
3. 「補償金もDRMも必要ない」--音楽家 平沢進氏の提言
14 1. 歯医者
2. 原稿完成
3. 「Linuxにもっと日本からのコードを増やすには?」
15 1. Pickaxe監修
2. Unicode対応
3. ":"とblock by indentation
16 1. 「地方自治体に金はない、残されているのは時間だけ」--長崎県
2. ECナビ、自社の研究組織「ECナビラボ」で、学生のインターンシッププログラムを開始
3. 「Google独占にはさせない」--国産検索エンジン開発へ、産学官が一致団結
17 1. 片づけ
2. タレントショー
3. ミュシャ
4. Little Book of Ruby
18 1. 日曜
2. 米子
3. 父の日
19 1. デバッグ
20 1. HT
2. エラトステネス
21 1. Rails講習会定員一杯
2. 「美しいコードを書けるからRubyを選んだ」---Ruby on Rails作者 David Heinemeier Hansson氏
3. Gardens Point Ruby.NET Compiler
22 1. Unicode
2. auto conversion
23 1. 商談
2. そば屋
3. 夫婦でペアプロ
4. RubyConf presentaion
24 1. 親子活動
2. Mixinと多重継承
3. 1.8.5 preview1
25 1. 日曜日
2. 異文化交流
3. ステーク連絡
26 1. Emacs過剰適応
2. スライド作成
27 1. Web 2.0の挑戦者:ニッチ商品も見つかる?リアルメディアの交換サイトlendmonkey - CNET Japan
28 1. 生まれた時からプログラマ☆興味と感性で世界を驚かす/Tech総研
2. Judy Arrays
29 1. 「オープンソースはボランティアではない」--サンのオープンソース責任者が講演 - CNET Japan
2. わからないこと
30 1. キルギス講演
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2006-06-24 [長年日記]

_ 親子活動

息子の小学校で親子活動。

中国電力から講師を招いて電気について学ぶコーナーと。 親子で体を動かすコーナーとがある。

電気のコーナーでは、静電気を使って電気を体験したり、 自転車に自動車用ダイナモとDC/ACコンバーターをつないで電化製品を動かしてみせたり してた。男の子はおおむね大喜び。

体を動かすコーナーでは一方が紙飛行機を投げ、もう一方が虫取り網でキャッチするという遊びや、紙飛行機を投げながら走るリレーなどが行われる。

結構楽しかった。

_ [OOP] Mixinと多重継承

Javassist*1の千葉先生からメールをいただく。

Ruby は動的に型づけされる言語なので、 サブタイプ関係をつくることにほとんど意味はありません(変数に型が ないわけですから)。したがってクラス継承の役目も実装を再利用する ことです。だとすると、そもそも Ruby において class の継承と module の利用の間に違いはあるのでしょうか? Module にはインスタンスを作れないなどの制約があるのは承知してい ますが、そういう制約を取り除いてしまっても、まだ違いはあるので しょうか。なんとなく、クラスをやめて全部 module にしてもい いのでは、と思ってしまいました。

それに対しての私の返答は以下の通り。

全部moduleにするとなると、

本当に全部moduleにするならば、classが存在しない以上、インス タンスを作れないという制約を取り除く必要があります。というこ とは、それは単なる多重継承でしょう。

一方、継承を取り除いてインスタンスを作るという機能だけを持つ classと、機能を集約するmoduleをもつという方式も考えられます。 それはそれで面白いと思うのですが、それだとSmalltalk以来積み 上げてきた「継承」という「考える道具」が使えなくなるので、う れしくない側面があります。Rubyは保守的な選択をしました。

*1  ところではるかな昔、DeJavaという名称は不許可だったのにJavassistはOKっていうのはSunの方針が変わったんだろうねえ。かわいそうなDeJava

_ [Ruby] 1.8.5 preview1

とうとう出す。まだ積み残した問題がいくつか残ってるんだけど。

<URL:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-preview1.tar.gz>

本日のツッコミ(全1件) [ツッコミを入れる]
_ あきひろ (2006-06-27 09:09)

スゴイ懐かしい響きです>DeJava。昔触ったような記憶が。

お名前:
E-mail:
コメント:

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

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