[改訂新版]Emacs実践入門──思考を直感的にコード化し、開発を加速する
改訂にあたって
2012年にEmacs実践入門が出版されてから早5年,Emacsは誕生から40年を迎え,バージョンも25.2になりました。そして,筆者がEmacsに出会ってからも10年が経過したようです。
その間,Emacsにはパッケージ管理が標準で搭載されたり,Lexical Binding(注1)が導入されたりと,着実に進化してきました。また,メンテナーが交代したのも大きな出来事のひとつです。
また公式ではありませんが,EmacsをRustで書き直したRemacsや,コミュニティによって拡張されたSpacemacsなどの新たな取り組みも行われており,Emacsを中心としたコミュニティは,まだまだ衰えずに成長を続けています。
そのほか,エディタの世界にも大きな動きがありました。2015年にはGitHubが開発したAtom(注2)がリリースされ,またAtomのベースに使われているフレームワークを利用してMicrosoftがVisual Studio Code(注3)をリリースするなど,すでに完成されたと思われていたエディタの世界も,まだまだ発展途上であることがうかがえます。
さて,このようにエディタの世界が目まぐるしく変化する中,筆者はEmacs以外のエディタを使ってみようとAtomを試してみました(注4)。Emacs以外のエディタを本格的に利用するのはこれが初めてだったのですが,Web技術を利用したAtomはEmacsとは違ったおもしろさがあり,Emacsをバリバリ拡張して利用していた筆者にとっても新たな可能性を学ぶ良いきっかけとなりました。また,Atomを拡張するうえで,慣れ親しんでいたEmacsが提供するAPIの完成度の高さもあらためて知ることができました。そして,2つのエディタを本格的に学ぶことで得た知見は,本書の改訂にも存分に活かされています。
このように,初版が出版されてから約5年,公私ともにさまざまな変化がありましたが,Emacsは今も現役のソフトウェアとして開発が行われ,世界中の開発者に愛されています。そのおかげもあり,こうして改訂版を出させていただける運びとなったことはたいへん光栄です。
Emacs同様に,本書も開発者に長く愛される書籍となり,多くの方の助けになれば最高に幸せです。
謝辞
最後になりますが,たびたび相談させていただいたEmacs JPのSlackメンバーの皆様,いつも私を応援して励ましてくれた愛する映子,内容はわからないけれど出版を楽しみにしてくれている両親,今回も心強くサポートしてくれた技術評論社編集部の池田様,そして本書を手にとってくださったあなたに感謝します。
2017年8月 大竹 智也
- 注1)
- Emacs Lispは長くDynamic Bindingでしたが,24からLexical Bindingが導入されました。日本語ではレキシカルスコープあるいは静的スコープとも呼ばれ,変数の扱いが異なります。詳しくはEmacsWikiの「Dynamic Binding Vs Lexical Binding」を参照してください。
- 注2)
- 主にJavaScriptによって開発されています。
- 注3)
- 開発環境Visual Studioとはまったく別のテキストエディタです。
- 注4)
- 『Atom実践入門』という書籍も執筆しました。