Lightweight Language Lovers

JavaからRubyへ

図書館で何気なく『JavaからRubyへ ―マネージャのための実践移行ガイド』という本を見かけました。
途中、カヤックの話題が何回か出てくるので「もしかして」と思っていたらやはり、
このサイトでも何度か触れた『軽快なJava』と同じ作者ではありませんか。

『軽快なJava』は、
EJBに代表される「甘やかされた肥満児になってしまったJava」に、
DI、アスペクト思考などの新しい考え方、Spring、Hibernate等の新世代のフレームワークという
「新鮮な酸素」を供給することによって「健康を取り戻す」という内容でした。
本書からは、筆者のJavaに対する情熱、思い入れのようなものが感じられました。
筆者は Javaの教育コース・コンサルティングに携わっているだけでなく、Javaに関する書籍も何冊か執筆しています。

それが、この『JavaからRubyへ』ではRubyに恋しているかのような変わりようです。

本書はサブタイトルに「マネージャのための」とあるように、Java と Rubyの文法を比較して
「Rubyだとこんなに簡潔に書くことができます。だからRubyに移行すべき」
といった類の内容ではありません。
正確には「Ruby on Rails vs Java」というべき本で、
「DBをバックエンドにもつWebアプリ」という特定の一分野 - しかしそれは一分野でも膨大な市場を持つ -
において、Rubyが発揮する圧倒的な生産性に着目しています。
「士気が高く、スキルも才能もある」オフショア企業のプログラマに対して優位に立つためには、
顧客との意志疎通の迅速化と生産性をもたらす新興テクノロジを採用することが一つの戦略であることを述べています。

私は Pythonと Rubyはどちらもオブジェクト指向言語でどちらも生産性が高く、
表現方法などがちょっと違うだけだと思っていました。

筆者は、あるプログラミング言語がメインストリームの言語に踊り出るためには「爆発」が必要であり、
これが無いとキャズムの壁を乗り越えられず、「駅に停車したままの錆びついた列車」になってしまうというのです。 Ruby on Railsはまさしく「爆発」であると指摘しています。

であれば、理由は Railsかとも思いますが、- Joshua Habenmanへのインタビュー -
「Pythonで書いていたスクリプトをRubyで書き直しました。それ以来、Pythonは書いていません」
という記述があります。

この他にも、ビジョナリーと呼ばれる人達が次々にJavaを去って、Rubyに移行しているというのです。

しかし、極端に生産性の高い言語は、その生産性の高さをもたらす理由のためにかえってよくない 結果になる恐れがあるとも書かれています。 実際、メインフレームでは4GLと呼ばれた高い生産性をもたらす第4世代言語がいくつかありましたが、 結局はマイグレーションの際のお荷物になってしまったものです。最後まで生き残ったのは原始的なCOBOLでした。

これまで Pythonの視覚的に美しいソース、「乾電池同梱の製品」としてパッケージに入っていた素晴らしいIDLEとライブラリに目を奪われて、Rubyはなんとなく食わず嫌いできたのですが、少し触ってみたいと思っています。


CategoryRuby