【書籍紹介】たのしい開発 スタートアップRuby
技術評論社から『たのしい開発 スタートアップRuby』(大場寧子監修/大場光一郎/五十嵐邦明/櫻井達生)を献本いただいたので、ご紹介します。
まず、まるまる技術評論社の書籍紹介ページにある概要から引用します。
本書はRubyでたのしい開発を続ける4人の筆者による,新しいRubyの入門書です。Rubyは,コミュニティとコミュニティの根底にある文化の中で常に成長を続ける言語です。Rubyのポテンシャルを最大限に引き出すには,Rubyの文化を理解し積極的に関わっていく姿勢が不可欠です。本書はRubyの言語としての基本に加え,Rubyの世界にもっと深く踏み込んでいくための方法を紹介します。 本書でたのしい開発への入り口を見つけてください。
章立ては、以下の通りです。
Chapter1 「たのしい開発」を求めて Chapter2 Rubyの基礎知識 Chapter3 Rubyを使ってみよう Chapter4 Ruby on Railsとは Chapter5 Railsを触ってみよう Chapter6 Rubyの文化 Chapter7 自動化されたテスト Chapter8 アジャイル開発とRuby Chapter9 Rubyのコミュニティ Chapter10 とある企業のRuby導入事例 Chapter11 「たのしい開発」の答え Appendix RubyとRailsをもっと知りたい方へ
1、2章ずつを割いて取り上げているRuby/Rails/自動テスト/アジャイルといったトピックは、それぞれが1冊の入門書として取り上げて良いようなテーマでしょう。本書は、そうした個別の入門書数冊分の、それぞれ第1章と第2章をうまく抜き出してまとめ上げたような雰囲気があります。「Rubyで(たのしく)開発」とRubyistが言うとき、それは言語処理系のRubyのことだけを指しているのではなく、文化や習慣、開発ツールに込められた主義や思想、コミュニティの性質まで指しているのだ、という認識が、この一風変わった入門書の根底にあるのでしょう。
オブジェクト指向もMVCもDRYもCoCもアジャイルも自動テストも、個別に見れば、どれもRubyやRailsの専売特許というわけではありません。ですから、こうしたことが当然という開発現場にいる人には、「なぜRubyの人たちは、やたらと“たのしい”という言葉を使うのだろうか?」という答えは分からないかもしれません。本書には、その答えがさまざまなアングルから個人的な体験談を交えてまとめられています。
例えば、Chapter1の「「たのしい開発」を求めて」は、駆け出しだったプログラマの著者(執筆担当は櫻井氏でしょうか)が感じた矛盾の吐露から始まります。著者は、いわゆる上流工程、下流工程の分業から生じる多くの矛盾から、「納得出来ない非効率」を、もどかしく感じていたといいます。開発現場の士気が下がる中で不安を抱えた著者は現状改善に動きますが、うまくいきません。そうした頃に出会った「アジャイル開発」「ペアプロ」といった言葉が頭の片隅に残り、やがて著者はそうした「どこか遠い外国の話」のように感じられたことを実践している会社に転職します。そこで発見したのは、ペアプロの楽しさや、フラットでオープンなRubyのコミュニティだった、といいます。また、Chapter11では「「たのしい開発」の答え」として、道具、人、環境の3つの柱によって支えられる「文化」として、Rubyを取り巻く環境のキーワードを解説しています。例えば、Ruby界隈では「名前重要」ということが繰り返し言われます。クラス名、変数名、メソッド名について、「正しい名前」を付けるために延々と議論をするという文化が、Ruby界にはあります。それが何故なのか、具体例とともに書かれています。Chapter10の「とある企業のRuby導入事例」は、あるとき「Rubyは素晴らしい」と思った外資系コンサルティングファームの会社員が、いかに障壁を乗り越えてRubyを会社的に採用していったかという体験談が、失敗した取り組みも含めて生々しく語られています。
コテコテの技術書でもスピリチュアルな信仰告白の書でもない絶妙なバランスのRuby/Railsの入門書として、これまでRubyを遠巻きに眺めていた人が手にとると、いろいろと刺激や発見があるかもしれません。