ラベル 動的言語 の投稿を表示しています。 すべての投稿を表示
ラベル 動的言語 の投稿を表示しています。 すべての投稿を表示

2010年6月6日日曜日

ScalaはHaskellっぽいJava


Scala ってどうもとっつきづらくて、サンプルソースを見ていて「この記号ってどういう意味よ?」って考え込んでしまう。Java っぽいけど Java とは別の思考が必要なのだ。

ふと思ったことは、「Scala って Haskell っぽい Java」なんだってこと。ネットを見ていいて、Scala に熱狂的な人を見かけるんだけど、そういう人って Haskell を触ってそれを気に入っていた人なのかなって思う。Haskell を実務で必要とする機会は皆無なのだけど、それが JVM 上で動くとなると、Scala に熱狂してしまうんだと思う。

確かに、Scala の Actor は魅力的で、Twitter が採用したのは納得できる。Twitter のようにメッセージ処理が主要な機能のシステムには良いが、小・中規模のWebアプリケーションにはActorのようなメッセージ処理は必要無い。

Scala は実務で採用しても開発メンバーの生産性が向上するまで数ヶ月はかかるはずだ。動的言語としては既に Ruby, Python, Groovy があるし、習熟度による生産性の問題を考えれば、そちらの方が良いと思う。

でも、Haskell 大好きな人たちからは、Scala はあまり好意的でも無いようだ。

「Haskell 大好きっ子から見ると Scala は気持ち悪いことこのうえない言語である」
http://madscientist.jp/~ikegami/diary/20080512.html

2010年5月27日木曜日

Java のスクリプト言語サポート

今更ながら、まとめ。

Java(JVM上)でスクリプト言語が動くのは Java SE 6 以降。

ただし、
・Ruby や Python は Java SE 6 以前から動作可能であった。
・Scala はコンパイルしてバイトコードにしてから実行するので、スクリプト言語サポートの機能を利用しているわけではない。
・JDKに組み込まれていて、すぐ使えるのは JavaScript(Rhino)だけ。

確認してみたら、Javaで動作するスクリプト言語って、かなり前からあったんだな。


安藤幸央のランダウン これは使える!Java風スクリプト
http://www.atmarkit.co.jp/fjava/column/andoh/andoh10.html

2010年2月20日土曜日

柔らかい言語

「動的言語」って良く使うけど、変数の動的型付けや、スクリプト言語であるか無いかで分類していいのだろうか。Mac, iPhone の Objective-C はガチなC言語がベースでコンパイル言語だけど、なんだか「柔らかい」。
反面、PHPは「動的言語」だけど、「固くて」肩がこって仕方ない。

プログラミングしていて感覚的には、

「柔らかい言語」 --- Ruby, JavaScript, Groovy, Perl, Objective-C
「固い言語」       --- C/C++, Java, PHP

って分けかたもいいのではないかな。