ひがやすを技術ブログ

電通国際情報サービスのプログラマ

僕がRubyをやめたわけ

私は気が付いてしまいました。Ruby の動的型付けは多くのエラーを引きおこすことに。そして、安心してデプロイするためには 95% ものテストカバレッジを達成しなければいけないことに。95% のテストカバレッジを得ることの代償として、私の書いたコードは(テストコードも含めて) Java で書いたものと同等のサイズにまでふくれあがってしまいました。その上、Rails では動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました。高いテストカバレッジを確保しているにも関わらずです。これらの問題にくわえて、MRI(Matz Ruby Implementation: まつもとゆきひろ氏による Rubyの実装)は速度が遅く、言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。

liftを開発した人へのインタビューなんだけど、ちょっとひどい気がするなぁ。動的型付言語は、静的型付言語に比べて、コンパイル時にチェックしてくれない分、テストは重要視する必要があるけど、カバレッジそのものは、動的だろうが静的だろうがそれほどは関係ない気がする。書いたロジックをきちんとテストしてれば、動的型付けに関する部分も同時にテストされるような気がするんだけど。
この辺は、動的型付言語を使っている人の実感をきいてみたいですね。
「Railsでは動的なコードの変更が可能なため」は、「Rubyでは動的なコードの変更が可能なため」のまちがいだよね。たいした話じゃないけど。
それより、「動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました」ってのも疑問。確かに、動的にコードを変更してる部分もあると思うけど、それって、初期処理で書き換えているだけじゃないの。どんなトラブルが続出したのか聞いてみたい。
「言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。」むむ、ノーコメント。
いずれにせよ、「テストをきちんと書いたのにトラブル続出」というのは、考えづらいと思います。
はっきりいえるのは、自分のスキルのなさを言語のせいにする人にろくなやつはいないということです。
追記:タイトルの僕はDavid Pollak氏のことです。