飽きっぽい私が20年以上使い続けてきたものとは?
✍🏼

私はいわゆる付属の高校に通っていたのですが、夏休みの間に大学の学生がプログラミングを教えてくれる一週間くらいの講座があり、その名も確か「プログラミング教室」だったと思います。教えてくれる言語は様々で、CBASICはもちろん、Pascal, LISP, Prolog, Forthなどがあったと思いますが、FORTRANCOBOLがあったかどうかは定かでありません。私は3年間毎年受講していたと思うのですが、最初の年にPrologを教えてもらった以外、他の年のことはなぜか思い出せません。

この15歳の夏、Prologを教えてくれたのは大学院生のお姉さんで、他にPrologなんていうマイナーな言語を希望した人がいなかったので、一対一の贅沢な講座となりました。このとき使用していたマシンはHP 9000 Series 300というUNIXワークステーションで、その上で動いていてPrologの実行環境としても使ったのが、その後永きに渡って愛用することになるテキストエディタEmacsとの出会いでした。Emacsは単なるエディタではなく環境だ、などという人もかつていたくらい、Emacs Lispという言語で機能を拡張することができ、テキストの編集だけでなくメールの送受信やウェブブラウザなどとしても使うことができるので、やりたいことは大抵できてしまいます。しかし、GNU Emacsは現在でも開発が続いていて毎年新しいバージョンがリリースされてはいますが、最初のバージョンがリリースされたのが1985年ということでさすがに設計の古臭さは隠せず、あまり人に勧められるようなものではなくなってきました。

私もこれまでに何度も新しいエディタに乗り換えようと思っていたものの、なかなか決定版と思えるものがなく、体に染み付いたEmacsの使い勝手に勝るものが見つからずズルズルと使い続けて20年以上になってしまったのでした。しかしようやく、これならと思えるものが見つかったのですが、それがMicrosoftが開発しているVisual Studio Code (VS Code)です。Microsoftの製品ですが、Mac OS用やLinux用も開発されており、また”Visual Studio”という名前は付いていますがWindowsの開発環境であるVisual Studioとの直接の関係はありません。

VS Codeは「Node.jsを使ったBlinkで描画されるElectronフレームワークを使用」と、わからない人にはさっぱりだと思いますが、要するに最新のウェブ開発系の技術を使用した今どきのエディタであるということです。私自身は組み込み系のソフトウェアエンジニアなので疎い分野ですが、最新技術の恩恵は受けても良いでしょう。このVS Codeも最初はなかなかしっくり来なかったのですが、それが大きく変わったのはお気に入りのフォントを見つけて使い始めたことで、それがIosevkaというものです。

このフォントの魅力の一つはリガチャが使えるということです。普通はリガチャと言うと”fi”をくっつけて”i”の点を省略したり、”AE”をくっつけて一つの文字にしたりというようなもののことですが、このIosevkaはプログラミング用のフォントということで”->”を”→”に置き換えたり、”!=”を”≠”に置き換えたりすることができるのです。実用的な意味はほとんどなく、表示するアプリケーションが対応している必要もありますが、VS Codeではちゃんとリガチャを表示してくれ、これでなんとなく気分が変わります。

また、ThinからHeavyまで9種類のウェイトが用意されていたり、記号や0, a, iなどの文字のスタイルの組み合わせで12種類のバリアントが用意されていて、好みに合わせて使うことができます。私は0に斜線が入るのとアスタリスク(*)が上付きでない方が好きなのでSS04というバリアントを選んで使っていますが、他にもいろいろな文字で微妙な違いがあるので、こだわる人はGithubで公開されているソースから自分で生成した方がいいかもしれません。

なお、ASCII文字部分にIosevkaを使ってNoto Sansと組み合わせて一つのフォントセットにした更紗ゴシックというものも公開されているので、英字と日本語文字などで複数のフォントを個別に指定できないアプリケーションの場合にはこれを利用するとよいのではないでしょうか。VS Codeではウェブブラウザと同じように複数のフォントを指定することができるので、フォントの設定は非常に簡単です。フォント周りは昔からEmacsの鬼門と言えるところだったので、それが拍子抜けするくらい容易だというだけでVS Codeが素晴らしいものに見えてしまいます。

ということで、このVS CodeとIosevkaの組み合わせがとても気に入ってしまい、たとえ仕事でもコードを書くのがとても楽しくなりました。ここ10年くらいは自分でコードを書かないようにしてきたという面もあったのですが、今の新しい環境が楽しすぎて書かずにはいられませんでした。まあそんなことばかりも言っていられないのでほどほどにしておきたいと思います。しかしここまでVS Codeの何がそんなに良いのかということをほとんど書いていませんが、それは今さら私がここで語るまでもないと思うので、ただ「今どきだ」と言うに留めておきます。