Hatena::ブログ(Diary)

日々、とんは語る。

この日記のはてなブックマーク数 はてなスターカウンター Peace この日記をあなたのはてなアンテナに追加する。 rss
お問い合わせ先 mailto

2017-09-25 秋の日

[改訂新版]Emacs実践入門を執筆しました。Add Starsugyan (green)sugyan

| 16:53 |

[改訂新版]Emacs実践入門

いよいよ夏が終り、本格的な秋の始まりを感じだしてきた今日この頃ですが、みなさんいかがお過しでしょうか?

気がつけば1年ほどブログを書いておりませんでしたが、この度、9月22日に僕の3冊目の自著となる[改訂新版]Emacs実践入門が発売されたので、久しぶりのブログ更新となります

昨年はAtom実践入門上梓しておりますので、これで自身初の2年連続出版となります。今回も色々と大変だったのですが、それ以上に今回もお世話になった技術評論社池田さんは、おそらく僕以上のご苦労があったのではないかと思いますので、改めてお礼申し上げます

なお、電子版をご希望の方は、PDF/EPUB形式Gihyo Digital Publishingから購入できます

Emacs実践入門の改訂約束された未来でした。

さて、昨年僕がAtom実践入門を出版したとき、多くの人から驚きの声を聞きました。そして、おそらく多くの人が、僕が再びEmacsの本を書いているとは思っていなかったのではないかと思います

実を申せば、Atom実践入門を執筆するときEmacs実践入門の改訂はすでに約束された未来だったのです。そして、AtomEmacsという順番はEmacsバージョンアップのタイミングによって、決められていたのです。

メジャーバージョン対応への思い。

Emacs実践入門の改訂を行ないましょうという企画が持ち上がったタイミングは、たしか2015年の初頭でした。その時のEmacsバージョン24.4で、25のリリースが近付いているという噂がありました(実際にその後リリースされたのは24.5で、25.1がリリースされたのは2016年7月でした。)。

以前、執筆したときはの対応バージョン23.4で、その後、わりとすぐに24.1がリリースされ、24の目玉機能であるELPAについて触れていたもの個人的メジャーバージョンが変わってしまい、書籍宿命はいえ、少しだけ悔しい気持ちがありました。

そのため、次は少しでも長い期間メジャーバージョン対応したいという思いがあり、まず、Atom実践入門を執筆し、その後、リリースされているであろう25に対応した形でEmacs実践入門を改訂したいと申し出ました(しかし、実際には執筆を開始したときにはまだリリースされていませんでした。)。

そして紆余曲折を経て、Emacs 25.1がリリースされ、万全の体制で25に対応した形で改訂を行なったのが本書になります

22年前の脆弱性により、発売直前にマイナーバージョンが上がる。

そんなこんなで執筆完了し、2017年4月リリースされた25.2でバージョンをフィックスし、校正などもすべて終えて印刷所への入稿が終った9月11日、その事件は起きました。なんと、143日で25.3がリリースされてしまったのです。しかも、その理由が22年からあった脆弱性が原因だという話です。

Emacs Release Date Diff

書籍あるある出来事とは言え、何とも神の悪戯のような出来事でしたが、気を取り直し、発売までにEmacs25.3でも本書の内容がすべて動作することを確認して、サポートページの補足情報での告知を行なってもらいました。

ちなみに、Emacs実践入門の初版が出たあとにリリースされた24.1も、リリースまで133日とかなり早く、Emacs実践入門を執筆すると、Emacsリリースされるというジンクスがあるのかもしれません。

Atomから得たフィードバックによる改訂への影響。

さて、書籍出版に関する裏話はこのくらいにして、次は改訂について僕がどのような考えをもって行なったのかを具体的に語ってみたいと思います

本書の改訂にあたって2つのエディタを本格的に学ぶことで得た知見は,本書の改訂にも存分に活かされていますと触れていますが、具体的には『7.5 プロジェクトベース編集──projectile』の追加が最も大きな点です。

Atomプロジェクトリポジトリと置き換えても構いません)という概念があり、プロジェクト毎にウィンドウ作成してコード編集するスタイルを推奨しています。かたや、Emacsひとつウィンドウですべてのファイルを開いて編集を行いますAtomを本格的に使ってみるまでは、これはあくまスタイルであり、それぞれ善し悪しがあると考えていました。

しかし実際に、Atomを使ってみると、現代における開発環境の上では、プロジェクトベース管理の方がより大きなメリットがあることに気付かされたのです。

具体的なメリットは、本書でも述べていますが、フレームワーク一般化による同一ファイル名の増加により、絞り込みが機能低下を起してしまったことが、その最たるものでしょう。

その他、大きな変更。

上記以外の初版からの大きな変更は次の通りです。

特に[改訂新版]Emacs実践入門を読んだにも書かれている通り、package.elの全面書き換えは非常に効果が大きく、基本的解説を追加している(目次の項目は増えた)にも関わらず、総ページ数が減少したという事実は、原稿を書いているときには気がつかず、本になってページ数が確定して初めて気がつきました。

プログラミングでいうところの、リファクタリングがすすんだ結果、コード行数が減少したと考えれば、素晴しいことです。

また、サポートページでダウンロードできるサンプルコードも、そのまま追加すると、拡張自動的インストールされるようになり、簡単に設定を試すことができるようになったことも大きいです。

Emacs実践入門 出版記念イベント開催決定。

10月28日Pixivさんに会場をお借りして、Emacs実践入門 出版記念イベントを開催します。

残念ながら、ありがたいことに、すでに参加枠が埋まってしまっているようですが、もしかすると増枠の可能性もあるかもしれませんので、興味がある方はぜひお申し込みください。僭越ながらサインします(Atom実践入門でも良いですw)。

参加者のみなさまは、当日はどうぞ宜しくお願い致します。

おわりに。

初版であるEmacs実践入門』から早5年、AtomやVSCなどの新しいエディタ誕生するなど、思いの外、大きな変化があったエディタ界隈ですが、元祖OSSであるEmacsも負けじと進化を続けておりますので、もしEmacsに興味を持たれた方は、ぜひ本書を手にとってみてください。

トラックバック - http://d.hatena.ne.jp/tomoya/20170925/1506326018
<< 2017/09 >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30