JavaからPythonへ

……と、違った。JavaからRubyへ。*1

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

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

id:Voluntas氏からお勧めを受けたので読んでみました。
まだ、半分くらいなんだけど、こりゃ面白い。
Pythonな人が読むとちょっとむず痒い気がする。(気がした)


で、思うのだけれど「Rubyへ移行した成功パターン」を書き連ね、
常に皆「Java」を知っている状態で描かれています。
ちょっと思うんだけどそこから逸脱した「Rubyだけしか知らないプログラマ」って危なくない?
JavaRubyJavaRubyは良いと思うんだけど。
あと、ちょっと失敗パターンがないのは気になる。
まぁ、そういうのは密やかに消えていくし、賞賛パターンで見せてもしょうがないことだけど。


で、この本のメインは「場合によっては」いかにJavaは(生産性が)うんこで、Rubyは(生産性が)優れているか、ということ。(と読み取れる箇所がある)


まぁ、この本で挙げられている事例が伝えるべき主目的は「JavaからRubyへ」、
なので当たり前なんだけれど、
確かにJavaは「足を打ち抜かないための言語で、静的な意味での様々なチェックはプログラマを束縛することもある」。


でも、これは「足を打ち抜くようなコードを書く」プログラマが増えた事に起因していると言っても良い。
なぜならJavaC++を元に「足を打ち抜かない為に作られた」から。


C++は足下を打ち抜くにはあまりにも適切に作られていたし、
ベターCであることを余儀なくされたから。
だから、JavaC++に求められていた事を満たしつつSimpleなC++であろうとした。(と僕は思うが)


なので、C++は「プログラマを信じる」。Javaは「プログラマを信じない」。
で、Rubyは……「プログラマを信じる」派閥じゃないかな。


が、紆余曲折ありJavaC++とは違う文化を手に入れたし、
これはこれでとても「素晴らしい」事。


で、様々な現状を踏まえ本文ではJRubyが絶賛(というか期待)されているけれど、
そういう意味で、Java>Ruby
JavaRuby実装を作ることに意味はあるけど、
RubyJava実装を作ることに意味はないからね。(あくまでその意味で)

ということで、
この本はJavaが最適でないとき*2Ruby(ないしはPython/Perl/PHP)を選びたい人にとっての本じゃないかな……という気がする。
話題のRubyに焦点を当ててはいるけれど、RubyRailsバズワードになっている感もあるので、
このRails絶賛という意見にはちょっと疑問視もある。


まぁ、とはいえ、足を打ち抜くプログラマが大量にいるのなら、
Rubyを選択すべきではない、と思う。
足を打ち抜くプログラマが下に複数いるならやっぱりJavaが安全。
(書いたコードにレビューや危惧をしなければならないので、効率含める)


足を打ち抜くことなく、一般的に「まともである」というコードが書けるのであればRuby、という気はしてしまうな。
Rubyは選民だと思う、僕は、ね。


また、まだ読み途中で考えが変わるかもしれないけれどもね。
ちょっと、酔った勢いで所感を書いてみる。

*1:グレンリベットを半分空けながら書く僕は阿呆

*2:小規模開発とか、時間がないとか、色々