give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【鋭意制作中】Rubyの入門本「プロを目指す人のためのRuby入門」を執筆しています

はじめに

先日の関西Ruby会議2017でもアナウンスしたとおり、現在「プロを目指す人のためのRuby入門」というRubyの入門本を執筆しています。

上のスライドにも書いてあるとおり、発売予定は2017年11月なのでもう少し先です。
書籍タイトルや発売日は現時点の予定であり、多少変わる可能性もありますが、とりあえずこんな予定で企画が進んでいます。
発売元の出版社は技術評論社さんです。

このエントリでは、「プロを目指す人のためのRuby入門」の概要や執筆状況についてお知らせします。

ruby

どんな本なの?

ひとことで言えば「Rubyの言語仕様やRubyの使い方を教える入門本」です・・・となるのですが、それだけだと巷にあふれる入門本とあまり変わらないですよね。
ですので、本書の特徴やセールスポイントをもう少し詳しく説明しましょう。

入門本なのでRubyの言語仕様やRubyの使い方を教えるのは当然なのですが、それに加えて本書では「開発の現場で役立つ知識」を提供することを心がけています。

その一環として、たとえば各章に用意した例題の回答例でテスト駆動開発(TDD)を採用したり、Rubyにおけるデバッグ技法をまるまる1章使って説明したりしています。
おそらくこういった構成のRubyの入門本はこれまでなかったはずです。(伊藤さん調べ)

その他にも「開発の現場でRubyを使うなら、ここは確実に押さえておくべき!」「これはみんな絶対一度はハマるところだから気を付けて!!」といった内容は、特に力を入れて解説しています。

そして、書籍全体を通じて、どの内容も「伊藤さんクオリティ」で解説してあります。
「伊藤さんクオリティ」って何やねん?って感じですが、要するに僕がブログやQiitaで技術記事を書くときと同様に、丁寧でわかりやすい解説を心がけている、ということです。
つまり、この本は「Rubyに関する伊藤さんの新作技術記事がいっぱい詰まった本」と考えてもらっても構いません!

想定する読者はどんな人?

本書は次のような読者を想定しています。

  • 他の言語でのプログラミング経験はあるが、Rubyはまったく初めての人
  • Railsチュートリアル等のオンライン教材でプログラミングを始めて、現在は「なんとなく」Rubyを使えているが、自信をもって「Rubyのことなら何でも聞いて!」とは言えない人

つまり、「プログラミングの経験は多少あるが、Rubyの理解はまだまだ」という人が対象になります。

本書はこういった人たちに向けて、本格的なRubyの開発の現場でコードの読み書きをするために必要な知識を提供します。
本書を読んでその内容を理解すれば、「今まで呪文のようにしか見えなかった不思議な構文」や「実はあまりよくわからないまま、見よう見まねで書いていたあのコード」が自信をもって読み書きできるようになるはずです。

独学でRubyを勉強している方はもちろんのこと、ある程度の規模の会社でも「社内のRuby初心者をまともに使えるRuby開発者に育て上げたい!」というときの教育資料として活用していただけるんじゃないかと考えています。

なお、「読者はプログラミングの経験が多少ある」という想定で書いているので、「プログラミングのプの字もわからない」という人は、先にプログラミングのイロハを学んでから本書を読むことをオススメします。

Railsアプリの開発でも役に立つの?

YesかNoで答えるなら、間違いなくYesです!

ただし、本書はモデルのバリデーションやERBを使ったビューの書き方といった、Railsに特化した内容は出てきません。本書で対象としているのは特定のフレームワークに依存しない、ピュアなRubyプログラムです。

ですが、Railsも当然Rubyで作られていますし、みなさんがRailsでWebアプリケーションを作成するときに使用するのもRubyです。Rubyの文法や言語機能を知っていて損になることはまったくないですし、むしろ、RailsプログラマであればRubyそのものについても、きちんと理解しておくべきです。

とはいえ、本書はRailsをまったく無視しているわけではありません。本書で学んだRubyに関する知識を活かしつつ、次のステップとして「プロのRails開発者」になるためには何を学べばいいのか、といった点についても簡単に説明しています。

対象となるRubyのバージョンは?

対象となるRubyのバージョンはRuby 2.4です。

まったく同じバージョンを使える場合は問題ありませんが、状況によっては多少バージョンが前後することがあるかもしれません。
Ruby 2.2や2.3など、少し前のバージョンで動きが異なる場合は、適宜注釈を入れています。

また、この先Ruby 2.4よりも新しいバージョンで本書の内容と異なる部分が出てきた場合は、本書のサポートページにて変更点をお知らせする予定です。

電子書籍版も発売するの?

はい、紙の本だけでなく、電子書籍版も発売する予定です。
ただし、紙の本よりも若干発売日は後ろにずれるかもしれません。

現在の進捗は?

冒頭で書いたとおり、本書は2017年11月に発売される予定です。
このエントリを書いているのが2017年5月末なので、発売はまだ半年ぐらい先です。

えらい先の話をしてるな~と思われる方もおられるかもしれませんが(少なくとも僕はそう思っていますw)、実は2週間ぐらい前に原稿はひととおり完成しています。

じゃあこれから何をするの?というと、原稿(すなわち、ただのテキストデータ)を「本らしい見栄え」にするためのレイアウト作業やゲラ(試し刷り)の校正、表紙デザイン等の作業を進めていきます。

商業出版(つまり紙の本を出版)するのは今回が初めてなのですが、編集者の方と一緒に作業を進めながら「書店に並ぶ本はこれだけの手間ひまをかけて出版されるのか~」と今まで知らなかった舞台裏を見て少し驚いています。

本来であれば、2017年11月発売なのでRuby 2.5のサポートも視野に入れたいところなのですが(注:Rubyは毎年12月にバージョンアップします)、このようにスケジュール的な都合があるため、Ruby 2.4止まりになっています。
ですが前述のとおり、Ruby 2.5以降で本書の記述と差異が出た場合はサポートページでお知らせしていきます!

まとめ

というわけでこのエントリでは、現在制作中の技術書「プロを目指す人のためのRuby入門」についてお知らせしました。
自分の名前で技術書を出版するのはかねてからの目標のひとつだったので、自分でも発売が待ち遠しいです。

今後も折に触れて制作状況をお知らせしたりするので、興味がある方は「読者になる」ボタンをクリックしてこのブログを購読してもらえると嬉しいです。
本書が発売された際は(といっても半年先ですが)、ぜひお近くの書店で本書を手にとってみてください!
みなさん、よろしくお願いします🙏

あわせて読みたい

これまでブログやQiita記事で多くの技術記事を書いてきた経験が、本書の執筆にも役立っています。

「Everyday Railsのアップデートはまだですか?」という質問をときどき受けるのですが、こちらも現在英語版のアップデート途中です。
時期はまだハッキリしていませんが、Rails 5や最新のRSpecに対応させていく予定はちゃんとありますので、もうしばらくお待ちください!