『たのしい開発 スタートアップRuby』――なぜRubyistたちはあれほど楽しそうなのか
たのしい開発 スタートアップRuby 大場寧子、大場光一郎、五十嵐邦明、櫻井達生(著) 技術評論社 2012年7月 ISBN-10: 4774151661 ISBN-13: 978-4774151663 2604 円(税込) |
■なぜRubyistに惹かれたのか
Rubyへの心変わりは誰の影響だっただろうか。
業務と関係なければ、勉強しなくていいと思っていたはずだった。アジャイル系コミュニティに参加したしばらくあと、地域Rubyコミュニティに迷い込み、いつしか彼らと楽しくお酒を飲むようになっていた。
アジャイル系コミュニティの人々が仕事について・技術について話している姿は楽しそうだった。
彼らはRubyistでもあった。彼らの姿に惹かれ、僕もRubyを学び始めた。
そうして門を叩いた地域Rubyコミュニティの人々も、アジャイル系コミュニティと同様に、技術について話している姿は輝いていた。
そして、他の言語コミュニティとは、暖かさが違っていた。その暖かさに触れ、僕も彼らの仲間になりたいと思うようになった。
なぜ僕は彼らに惹かれたのか。本書の中にその答えはあった。
■Ruby入門書というよりは、Rubyist入門書
本書は、それまでのRuby入門書、いや、言語全般の入門書とは趣が異なっているRuby入門書というよりも、「Rubyist入門書」といった方が正しいだろう。
本書の構成は次のように成り立っている。
- Chapter1 「たのしい開発」を求めて
- Chapter2 Rubyの基礎知識
- Chapter3 Rubyを使ってみよう
- Chapter4 Ruby on Railsとは
- Chapter5 Railsを触ってみよう
- Chapter6 Rubyの文化
- Chapter7 自動化されたテスト
- Chapter8 アジャイル開発とRuby
- Chapter9 Rubyのコミュニティ
- Chapter10 とある企業のRuby導入事例
- Chapter11 「たのしい開発」の答え
言語仕様についてではなく、Ruby on Railsや自動テスト、アジャイル開発やコミュニティについてなど、Rubyを取り巻く世界全体について書かれている。そしてRubyの文化は、これらの要素が合わさることでできている。
■Rubyの自由さ
そもそもRuby自体が、自由度の高い言語である。Rubyは自分のやりたいことを直感的に表現できる言語であると、著者らは述べている。
さらに、Ruby on Railsが進化の速いフレームワークであり、アプリケーションの自動テストを作っておかなければ、バージョンを上げることもままならないと述べている。そうした背景があり、RubyやRailsによるアプリケーション開発では、自動テストを作ることが当たり前となった。
つまり、Railsを取り巻く世界では、自動テストの文化も発展していく。RSpecやCucumberなどはその典型であろう。その思想はいまや他の言語にも伝わりつつある。
また、そうした自動テストツールにアプリケーションが支えられることで、要件が変わったりすることにも柔軟に対応できるようになった。
結果として、Railsが
プロセスやツールよりも、人と人の対話を
包括的なドキュメントよりも、動くソフトウェアを
契約交渉よりも、顧客との協調を
計画に従うことよりも、変化への対応を
という、アジャイルマニフェストに従うことが容易になり、Rubyの自由さをより体現している。
■Rubyが楽しい理由
このようなRubyの自由さ、プログラマを大切にする価値観の構成要素はこうして生まれていく。
その結果、新しい技術に挑戦するプログラマにとっても、世界を変えようとするベンチャー企業にとっても、お客様に対する価値を最大化したいと願う受託開発プログラマにとっても、Rubyの開発そのものが楽しくなっていったのだろう。
さらに、そうした開発を楽しむ人々がコミュニティに集って情報交換をしたり一緒に学んだりするのだ。コミュニティが楽しいに決まっている。企業もコミュニティを支援することで、その企業には優秀なエンジニアも集まってくるようになる。すると、その企業も盛り上がっていく。
この流れはこれからも続いていくのだろう。だから著者たちは本書のカバーでこう宣言しているのだろう。「これからRubyはもっと楽しくなる」と。
■楽しい開発を目指そう
では、どうすれば楽しい開発への一歩を踏み出せるのだろうか?
著者らはこう述べている。
やりたいこと、やりたくないこと、自分がどうしたいのか、どうしたらうれしいのか。それらに素直に目を向け、受け入れることが「楽しい開発」につながります。
まずは著者らの言うとおり、そうした自分の想いを見つめ受け入れる。その上でRubyを学びたいとなれば、本書を皮切りにRubyについて1つずつ学んでいけばよいのではないだろうか。
残念ながら、本書だけでRubyを使ったアプリケーションを作れるようにはならない。それは、本書であまりに広範な話題を扱った結果であり、文化を伝えるためには必要なことだったのだと思う。その代わり、本書の巻末で著者らはRubyを学ぶ道筋を示している。その道をたどっていけばよい。
楽しい開発を目指そう。
(『What a wonderful world』コラムニスト たのっち)