未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

Emacsとわたし

Emacsというエディタがある。ハッカーが長年育ててきたエディタだ。わたしも日常的に使いはじめて10数年になる。

多機能、拡張可能なので、いろいろな便利なモードがあるが、正直全然使いこなせていない。機能の1%も使いこなせている感じがしない。

会社の机の上にあるGNU Emacsマニュアル(竹内、天海監訳)の初版発行は1988年2月である。20年前のマニュアル。

会社のブログに「勉強しなおす/ユメのチカラ」というのを書いた。
http://blog.miraclelinux.com/yume/2008/05/post-81b9.html

いくつになっても勉強だ。昔とった杵柄。錆びたナイフを研ぐ。

思いたったら吉日。もう一度Emacsを勉強しなおしてみようと思った。

DECにいたころはプロプライエタリな世界にどっぷりで当然エディタは自社製のJTPU (Japanese Text Processing Utility)という日本語化したTPUというものを使っていた。自社製なので開発者がすぐ側にいる。何かわからない事があると、すぐ聞ける。拡張可能エディタ(Pascal風の文法を持っていた)なので、ちょっとした機能は簡単に拡張できる。社内にはTPUハッカーが文字どおりはいてすてるほどいるから、社内を検索すれば簡単に便利な拡張を山ほど発見できる。フリーソフトウェアなどという概念はまだ一般的ではなかったが、TPUのスクリプトというかプログラムは社内のファイルサーバーのいたるところに置かれていたので、ちょっとコピーしてちょこちょこいじって利用するという事が日常茶飯事であった。

DECにはソフトウェアエンジニアだけではなくハードウェアエンジニアもごまんといる。ハードウェアエンジニアだってTPUのプログラムぐらいだったらちょこちょこいじれるからIC設計データのちょっとした加工だとかは朝飯前である。

TPUのエンジンを作っているプログラマはどう考えてもハッカーだ。利用者数も社内だけで数万人はいるし、ソフトウェアエンジニアだけでも数千人はいたから、TPUのプログラムはどんどん充実していった。DECのエンジニアリングコミュニティは社内バザールと言っても過言ではない。

デバッガ(VAX DEBUG)との連携もスムーズだ。プログラミング言語向けにLSE(Language Sensitive Editor)というのも実装されていた。LSEの機能はとても強力でプログラミング言語が出力したシンボル情報を元に変数の定義個所、参照個所、変更個所などをシームレスにナビゲートしてくれる。エディタ(emacs)とクロスリファレンスツール(cscopeやctags)を合体させたようなものだ。コード管理システム(CMS:gitやCVSみたいなもの)やモジュール管理システム(MMS:makeみたいなもの)等、いわゆるソフトウェア開発環境とがっつり連携がとられていた。

(社内)利用者にとってみればソースコードがあろうがなかろうが自社製品の場合、ちょっとした質問や要望が直接開発者のところにとどくので、全く使っていて不満はない。

ハッカーは社外ではなく社内にいた。Gordon Bell(PDP11などを作った人)やBill Strecker(VAXを作った人)やDave Cutler(VMSを作った人)は社内にいた。

そーゆー時代背景(80年代中頃から90年代初頭)の中、わたし自身がEmacsを使うインセンティブはまったくなかった。拡張可能エディタというのは社内のTPUでこれ以上ない精緻ものを持っていたし社内バザールはインターネットより活発だった。(1988年ころのARPANETのノード数は2万程度だったらしいが、DEC社内のノード数は数万をおそらく越えていただろう)

日本語版Emacs (nemacs)や、多言語版Emacs (Mule) などを積極的に電総研の半田らは作っていたが、恐竜の会社にいるわたしには正直その魅力を理解できなかった。

id:jj1bdxに強烈に揶揄されるのだけどVMS(VAXのOS)万歳DECNET(DEC社のネットワーク)万歳TPU万歳な人だったのである。

それが諸般の事情でDECを退職し、日本オラクルに入社し、ひょんなことからシリコンバレーに行くことになり、Unix (SunOS 4.1.3)だTCP/IPEmacsだの世界に無理矢理ほうりこまれて溺れそうになり、どうにかこうにかサバイブして、いい歳したおっさんになる。

プロプライエタリな世界から180度転向しフリーな世界にどっぷりつかっている。

UnixだってEmacsだって使いたくて使いはじめたわけではない。

DECという会社が未来永劫繁栄していて転職することもなかったら今だにVMSだし今だにDECNETで今だにTPUだったと思う。それが会社が左前になり転職を余儀なくされ自らの意志で転職し自らの意志でシリコンバレーに行き、それしか選択肢がなかったからSunOSEmacsを使いはじめた。

そーゆー思い出を一切合切ひっくるめてEmacsと自分は向いあっている。

シリコンバレーであっぷあっぷして溺れかかっていた頃に世話になったのがEmacsだ。ともかくエディタを使えなければ食っていけない。とりあえづのファイルを編集するという基本的な機能だけを覚えてどうにかこうにか来ている。だけどEmacsの特徴である拡張性などはまったく使いこなせていない。単なるエディタとしてファイルを編集するくらいにしか利用していない。

いつかちゃんとEmacsに向きあってちゃんと勉強したいと長年思っていた。

自分には向いていないと思ったことも少なくなかった。だけど、Emacsより手になじむエディタにも出逢わなかった。

勉強を始めるのに遅いも早いもない。思いたったら今。今からもう一度やりなおせばいいではないか。

機能がありすぎて山のようで、どっからはじめていいのか。途方にくれる。だけど、最初の一歩をとりあえづと思う。

Emacsの基本を勉強しなおそう市民連合発足である(笑)。入退会は自由。会費はEmacsを勉強する意志。