うわ

発端はhttp://www.nurs.or.jp/~sug/soft/java/humor2.htmを読みまして、いやー、Javaと比べるならEiffelのほうが近いだろー、と、「オブジェクト指向言語のはなし」ISBN:4894711885を読んだ記憶を掘り起こし、クラスとソースファイルが対応したり、参照ベースのオブジェクトだったり、列挙型がなにか誤魔化されてるような気がしたりするところとかネイティブ版もGC有りとか(値キャストやダウンキャストではなくてバイナリイメージの)キャストが使えないとか、そんなことを思い出しつつ。
ちなみに私は以前、この本に感化されてEiffelStudioやSmallEiffel(現SmartEiffel)を入れてみたことがありますが、コンパイルC言語を経由する仕様の壁にビルドが通らずあっさり挫折してました。*1
ところがです。久しぶりにEiffelStudio見に行ったらです。
http://www.eiffel.com/products/studio/screenshots.html
すげ…。
なんか知りませんがやたら滅多豪華になってませんか…。
これがどの言語よりも真っ先に.NET対応を謳った効果なのか!?(←邪推)
ついでに検索に引っかかったEiffelの組み込み並列処理機能。
http://kapibara.hp.infoseek.co.jp/eiffel/scoop.htm
Javaと同じでオブジェクトが単位なのですが、同時ロックって、すげ…。
ついでに対応プラットフォームを表にしてみたり。

EiffelStudio各種ネイティブ(C経由)、.NET CLI
VisualEiffel各種ネイティブ(直接)
SmartEiffel各種ネイティブ(C経由)、JVM

EiffelStudioが、無償版は作成したプログラムの起動時にスプラッシュスクリーンが出るぐらいで、VisualEiffel共々、入力支援付きのIDE込みで無償というのも、すげ…。*2あとJVM向けがSmartEiffelしか無かったのはちょっと意外でした。*3
Eiffel、実は、Pascal系構文の言語では、かなり恵まれてるのではないでしょうか…。*4
…しかし、それでも、別段Eiffelを使いたいと思わないのは何故だろう?

*1:EiffelStudioのWindows版はBorlandの無償版bcc32を使うのですが、私は自前で別のパスにインストールしていて以下略。SmallEiffelは忘れたがHello Worldぐらは通った記憶があるようなないような。

*2:なおAdaの無償のIDEはどれも単なるテキストエディタのほうがマシに思える出来です…。

*3:逆にJVM向けAdaは、JGNATを筆頭に、ざっと検索しただけでObjectAdaSCORE…本当にAdaのほうがJavaに近いのか?

*4:でもObjectPascalのほうが上だよなー。DelphiだけじゃなくChromeとかLazarusとかもあるし。ただJVM向けのコンパイラは(Borlandが作ってたらしいですけれども)存在しませんが…。追記しておけばWirth博士のComponentPascalなるものはJVM向けコンパイルができる様子。ちなみにObjectPascalとは全然別物。ComponentPascalはOberonの後継で、このOberon、Modula派生なのですが、Wirth博士何を思ったか列挙型、部分範囲型を含む順序型まわりが完全に切り捨てられてます。いやま、これらはEiffelにも無いですが、しかし…。