中城 元臣
 コーディング時間の半分をテスト作成に費やさな
ければならなかった
 Railsによって得られた生産性の向上は、テスト作
成の作業に失われてしまいました
 大規模開発に向かない
 IDEの恩恵が少ない
 開発環境に制限がある(Windowsでjemがうごか
ないとか・・・)
 実行するまでエラーがわからない
etc…..
 Rubyをちょーdisります
 引用元:
http://blog.amhp.jp/alpha/2010/05/rubysca
la15.php
 規模が大きくなっていくと、必然的に保守(や安全
性のケア)の割合が増していく。
 一方、Scalaは引数に型を記述した。
 さっきのコードだとoptionが
HashWithIndifferenceAccesで渡せないよ~。
 >duck しちゃいなYO!
 後は全ての options を使ってるコードに埋めて行
けば我々の勝利だ!(キリッ
 一方、Scala は構造化typeを定義した
 一方、Scala は裏でパーサが頑張った
 どうしても謎のエラーが出るんですけど。。。。。
 一方、Scala は変数に型を用いた
 さらに、一度だけ代入可能な変数も用意した
 さらにさらに、Scalaは、自動で型推論も用意し
た
 使うかどうかわからないけど、作るのに時間がか
かる変数があるんですよ。lambda にすると call
が面倒だし、メソッド化するには大げさだし。
うーん、まぁ、初期化時に作っちゃいますね。
 一方Scalaは、遅延評価可能な変数を用意した
 中置演算子式でいい具合に解釈してくれる
 9. Java並に速くて全てがobjectである
 10. ボクシング
 11. XMLリテラル
 12. for文のパターンガード
 Scala は、ワイルドカード(_)を導入した
 Ruby の case when のパターンマッチ力は異常で、
簡潔かつ強力なRubyコードを象徴する例だと思
う。例えば、unixtime を可愛い表示にする場合
 しかし、sec に負値が入ってくると。。。。
 一方 Scala は、case文にもパターンガードを入れ
た
 Scalaは、2.8でサポートした
ほらScalaやりたくなったで
しょ?

Rubyからscalaに変えるべき15の理由