Personal tools
You are here: Home ブログ 井上 「オブジェクト指向言語のはなし」を読みました。プログラミング言語Eiffel
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

「オブジェクト指向言語のはなし」を読みました。プログラミング言語Eiffel


「オブジェクト指向言語のはなし」を読みました。

読み始めればそれなりに面白くてページが進むのですが、その後のどうしても読みたいと思わせる吸引力が弱く、数週間の間隔が空いてまた読む、という具合で結局数ヵ月かかってしまいました。

原題は「Objects Unencapsulated: Java,Eiffel,and C++??」です。 邦題にひねりが無いです。アンカプセル化の皮肉を生かすと、「オブジェクト指向、カプセルの中を暴く」ぐらいの邦題をつけてほしいところです。

原題の最後のクエスチョンふたつはなんでしょう。JavaとC++それぞれに対するクエスチョンでしょうか。

公平なフリをしながら、Eiffelを持ち上げてJavaとC++をこきおろす楽しい本です。どちらかと言うとC++の方がこきおろされているので、C++ファンで、かつマゾ体質の人にはこたえられない内容になっています。

Eiffelが今や大人気のプログラミング言語になっているかと言うと、あまりそんな気配はありません(ぼくが知らないだけかもしれませんが)。理由の一端はかいま見ることができます。ひとことで言うと、教条的な態度です。

例えば、典型的なのが「4.5 ローカルなエンティティ宣言」や「12.1 コメント」の節です。「ローカルなエンティティ宣言」とは、次のような、CではできなくてC++で可能な、変数を使用する場所で定義できる機能のことです。

statement;

int foo; ...この定義
statement;

無ければ無いでいいと思っていますが(あった方が便利ですが)、「Eiffelで書けばルーチンが充分に短くなるので、こんな機能は不要だ」という言い方はどうかと思います。同じ理由で、Eiffelのルーチンは短いはずなので、/* ... */のように終端のあるコメントも不要だと言います。

System Message: WARNING/2 (<string>, line 23); backlink

Inline emphasis start-string without end-string.

教条的な態度は個人的には嫌いではないですが、こういうことを言っていると流行らないだろうな、とも思います。

Eiffelの興味深い点1。

Javaでは書けない次の記述がEiffelでは書けるようです(たぶん)。少し前にJavaでも書きたいと思ったことがありました。結局、設計の見直しで書く必要が無くなったので、必須なのかは分かりません。

void methodFoo(List<Base> list);
に対して、
Baseの派生型Derivedの
List<Derived> dlist;
を引数に渡せる
methodFoo(dlist);

Eiffelの興味深い点2。

377ページに次の記述があります。

「(Eiffelでは)オブジェクトは、1つのスレッドにしか属しません」

字義通り解釈すると、かなり大胆な割り切りに感じます。不便そうに感じるのは人間が古いのでしょうか。

Eiffelの興味深い点3。

OCamlの成績が良い、と聞いていたdebian.orgでのベンチマークですが、Eiffel(SmartEiffel)も結構良い成績です。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/eiffel-eiffel/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.