Java2Ruby本

読んだ。なかなか熱い本だった。Rubyより、というよりはJavaをほとんど知らない自分にとっては自分のRubyに対して感じているRubyの良さが率直に書いてあって読んでいて気持ちよかった。

例えば、Javaの現在の開発ではオープンソースの様々なツールやフレームワークを駆使するのが一般的であるのに、大学の授業ではJavaを教える割にはそこら辺に対して教えることもなければ、ポインタすら示さなかったりする。確かにSwingを使えば楽にGUIアプリが作れて手っ取り早いかもしれないが、Webベースのアプリを作る方がさらに手っとり早いし、実用的だと思う。おまけにJavaを教えられた生徒のほとんどは、最初にクラスを作らなければいけないことに戸惑って、プログラミングに苦手意識を持ってこの分野から遠のいていった。ということで大学にいたときはRuby教えれば良いのにと本当に思っていたりした。*1

JavaとLLという構図だとLLの良さが分かるようになっていたが、LLの中でもなぜRubyというところがもうちょっとしっかり読めればなお良かった。例えば、PerlにはCPANがあって移行してすぐにでも豊富なライraブラリを使うことができるし、PythonRubyよりも先発だけにRubyよりも有名なプロダクトは多いし、パフォーマンスも若干良かったりすることが多い。さらにはGoogleが使っている言語だけに、今後更なる期待ができそうと言った特徴がある中で、なぜRubyじゃなければいけないのかというところは少し弱かった気がする。個人的にはif文でdef文を分岐できたり、すべての式が値を持っていたり、値はすべてオブジェクトだったり、for文とかwhile文を使い分けなくてもeachだけでループを回せることなどが、ごく自然にできることがRubyの良さだと思う。標準のAPIも多すぎるというわけでもなくメソッド名も考えられているのですぐに使い方を覚えることができる。標準のAPIが使いづらいと感じたら使いやすくするためのメソッドを追加したりすることもできる。といったあたりのバランスの絶妙さ加減が自分にとってはRubyを使う理由なのかなと思う。(会社ではPerlだけど)

こういった読み物的なものは「人月の神話」以外には読んだことなかったので色々と刺激になりました。

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド

*1:Rubyをやったからといってついて来れたとは限らないけど、irbを交えながらやれば少しはついて来れる人が多いのではないかと思う