give IT a try

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

毎年の恒例行事?Ruby 2.6の新機能まとめ記事を書きました

はじめに

Qiitaに「サンプルコードでわかる!Ruby 2.6の主な新機能と変更点」という記事を書きました。

qiita.com

毎年Rubyは12月25日にアップデートされるので、僕が新機能のまとめ記事を書くのも毎年の恒例行事となりつつあります。
Ruby 2.3、2.4、2.5と書いてきたので、今年で4年目ですね。

毎年まとめ記事を書く理由

もともとは単純に僕が、

新しいRubyでどんな新機能が追加されたのかチェックしたい
 ↓
リリースノートやNEWSページを見て調べないといけない
 ↓
説明やissueを読むだけではピンと来ないので、自分でコードを書いて確認する
 ↓
これってもしかすると、日本全国で同じようなことをやってる人がたくさんいそうだから、僕が記事を書いてまとめればみんなの時間が浮くのでは?

・・・という発想で書き始め、これを毎年続けています。

加えて、チェリー本を「死んだ本」にしたくない、という目的もある

今年も基本的に動機は同じなのですが、去年からは僕が執筆した書籍「プロを目指す人のためのRuby入門」(通称チェリー本)からの変更点を確認する目的が加わっています。

「プロを目指す人のためのRuby入門」はRuby 2.4の仕様に沿って執筆されています。
ですが、そのまま放っておくとRuby側だけがどんどん進化して本の内容が古くなってしまいます。

技術書の場合「内容が古くて使えない」というのは致命的な問題です。
僕は紙の本といえども「死んだ本」にはしたくありません!
というわけで、「プロを目指す人のためのRuby入門」ではRubyがバージョンアップするたびに変更点をチェックして、書籍の内容と大きく変わる部分は本書のサポートページで説明を入れるようにしています。

f:id:JunichiIto:20181210212823p:plain
f:id:JunichiIto:20181210220409p:plain

こういった目的もあって、僕は毎年Rubyの新機能や構文の変更点を細かくチェックするようにしています。
(ちなみに、Ruby 2.6向けのサポートページのアップデートは後日行う予定です)

執筆裏話:新機能のまとめ記事が公開されるまで

Qiitaの記事を見てもらうとわかると思いますが、この記事はかなりのボリュームがあります。
当然のことながら、執筆の時間も結構かかります。

今回はだいたいこんなペースで執筆していました。

  • 12/1、12/2の土日で、コードを書きつつ、新機能の内容をチェック
  • 12/8、12/9の土日で、本文を執筆&仕上げ

合計すると、まるまる4日ぐらいかけてますね。

「コードを書きつつ、新機能の内容をチェック」と簡単に書いていますが、実際は「これはいったいどこがどう変わったのか、さっぱりわからん💧」という変更点もたくさんあったりして、毎年この作業に結構骨が折れます。(ウソ情報やいい加減な話も書けないですしね)

後半戦の本文の執筆では自分自身がわかりにくかったポイント等をできるだけかみ砕き、読者のみなさんがスムーズに理解できるように(つまり、僕みたいに苦労しないように)サンプルコードや説明の仕方をあれこれ推敲します。
文章を書くのは好きなので嫌いな作業ではないのですが、これはこれでとても時間がかかりです。

こんなふうにあれこれ試行錯誤したりしながら、新機能のまとめ記事は毎年みなさんのもとに届けられております🎁

まとめ

というわけでこのエントリでは、Qiitaで公開した「サンプルコードでわかる!Ruby 2.6の主な新機能と変更点」という記事を紹介してみました。

日々Rubyを開発してくれているMatzさんやコミッタのみなさんに感謝しつつ、みなさんが本記事を読んでRuby 2.6をどんどん活用してくれることを願います。
みなさんぜひ読んでねー❤️

qiita.com