2008年1月9日水曜日

最近の言語

Ruby は何年も前に買った本を発掘したので、たぶん2000年前後に勉強した
はず、でもほとんど記憶にない。でも、最近の Rails, JRuby, Goldspike
のブームで面白さを再発見。やっぱり、strict type checking の言語は
肩が凝るのだろうか... 従来の言語にない言語要素も新鮮だ。
ただ、実際の手持ちのアプリケーションの移植先と
して考えた場合、Ruby/JRuby には残念な点もある。ひとつはエラー自身や、
問題箇所の特定が面倒なこと。このあたりは Java/C++ の方がずっと
わかりやすい。もうひとつ、C++ でメモリマップ経由で様々なデータを
アクセスしていたコードを Ruby で記述しようとすると結構面倒(な気がした)。
ターゲットに想定しているシステムは残念ながらネイティブな ruby が
ない(オープンソースにとても弱い OS なのでビルドするのも面倒)
困ったものなので JRuby だよりになるのだが、どうも細かい点で
動作が不安になる。Rails のそっけないエラーから根本原因を調べて
行くのはとても面倒だ...

Rails は簡単なダイナミックサイトにはもってこいだ。最初のうちは
簡潔で、独特の記述方法にとまどったが、よくみれば Ruby のコードだ。
ただ、active* など一連のものは Ruby のモジュールで、その詳細、
慣例などは結構慣れを必要とするようだが、何かポイントだけ切り出した
よい本はないものだろうか...

Goldspike も動いたときは感動したものの、war ファイルのあまりの大きさと
結局 JRuby + Rails + App をラップしているだけと気づくと何かさめて
しまった。

括弧を省いた記述ができたり、わかっている人にはわかる簡潔な書き方が
色々とあるところは気に入った。

Scala は正直とっつきにくい。なぜなら関数型言語の経験値が低いから。
ただ、java との親和性は比較的たかく、お互いをコンポーネントとみなせる
位の粒度で組むのであれば問題ない。ただし、java/Scala 間でクラスや
インターフェイスを使った継承を持ち込むとすこし大変。推測で色々と
試すと動いたりもしたが、果たして正しいのかどうかが難しい。
Scala のエレガントな記述を使いこなすだけのベースがないのが残念な
ところ。色々と用意された簡潔な記述方法はすばらしい。

Python ... いまさらだが、昔、少しやってやめてしまっていた。
ただし、機能は一通りあるわけだし、あとはどれだけ興味が維持できるかが
ポイント。なんというか、少しあくとすぐにかけなくなる(すぐに文法を
忘れてしまう...)。 Jython で java のクラスライブラリを使えるところはよい。

Groovy も昔、入門だけしてご無沙汰でした。でも、改めていろんな
入門ページをみて、Grails を試して、正直、気に入った。

0 件のコメント: