_ [言語] 思考実験 - immutableな言語 しかし、改めて考えてみると Erlangってば、参照透過性はないし、 静的型はないし、関数型言語である必要はないのではないか。 Erlangを真に特徴づけているのは、 immutableな値

アクターモデル ではないだろうか。他のものは目立つけど実はそれほど重要じゃない。 アクターモデルがあるから、並列プログラミングが簡潔に記述でき、 値がimmutableであるから、「オブジェクトの状態」で悩むことがない。 オブジェクトのアイデンティティが重視されないから、 メモリ空間を超えて値を伝搬しても影響がない。 おまけに(GCの)実装としてはライトバリアが要らなかったり、 循環参照がないことも保証されるから、リファレンスカウントでも十分だったりするのもありがたい。 としたら、たとえばRubyとそっくりな外観で 値がすべてimmutableな言語があったとしたら、どうだろう。 関数型というパラダイムの代わりにオブジェクト指向というパラダイムを提供する Erlang的な言語。 文字列や配列についてはさほど問題はないだろう。 Pythonをはじめ文字列がimmutableな言語は珍しくないし、 配列も(一部の「容器」として使っている場合以外は)大丈夫。 問題になりそうなのは、 ハッシュやオブジェクトである。 これらが状態を持たない、というのはかなりプログラミングスタイルに変革を要求しそう。 そもそも書けるんだろうか。 入出力とかはLazyなSequenceとして扱うんだろうか。

_ [Ruby] Obie Fernandez: Big Name Companies Using Ruby on Rails Ruby on Railsを使っている有名企業。 amazon.com

BBC

CapGemini

BPN

Cisco

C|Net

EA (Electronic Arts)

IBM

JP Morgan

NASA

Oakley

Oracle

Siemens

ThoughtWorks

Yahoo! あまり公表はされてないが筆者(Obie Fernandez)の知ってるのでは、他に John Deere

New York Times

NBC

Barclays

LA Times

Chicago Tribune

Orbitz

Google

Turner Media

Limewire もある。