ソフトウェア(UNIX)

私とUNIXとの付き合いはかなり古く、1995年の春まで遡る。当時私が通っていたところの師匠が、Cマガジンに付いていたのだったかのUNIX(正しくはLinuxだったと思う)のことを教えてくれたのだった。それより前にSunOS(こっちはちゃんとUNIXだね)をほんの少しだけ触ったことがあったけれど、ほとんど良さは理解できなかった。

職場にあった機械にLinuxをインストールしてみようと試みたけれど、そのときは挫折したのだった。で、その年の12月に、FreeBSD(こっちもちゃんとUNIXだね)のCD-ROMが付いた入門書を職場近くの本屋で発見。その場で買って、会社のPC-98にインストールしてみた。

それから20年以上、私はUNIXのユーザーをやっていることになる。現在はmacOSを触ることが多くて、その次はRaspberry Pi OSかな。FreeBSDは、このサイトが動いているサーバのOSとして使っている。

なぜUNIXなのか

根源的な問いだが、それは私にとって使いやすいからだ。なぜ使いやすいのか、それは、UNIXシステムが持つ文字ベースのインターフェースが使いやすいと思っているからだ。

現代のユーザーインターフェースは、画面上に表示された大量の選択肢から一つあるいは複数を選ぶようになっていて、それの連続を行うことでコンピュータを使う。人は完全な形で覚えることはとても難しいけれど、選択肢を与えてもらうと思い出せるのだそうだ。適切な選択肢をコンピュータが与え続けてくれれば、生産効率は上がるだろう。

ところが、私にとっては与えられた選択肢を確認することがかなりのコストになる。ならば完全かそれに近いことを覚える方が生産性が上がる。また、基本的に見えることを前提として設計されているインターフェースであるというのが問題だ。もちろん今時のWindowsやmacOSには、アクセシビリティ機能ってのがあって、マウスを使わなくてもいろんなことができるようにはなっているが、そのプロセスはマウスを使っているときとはかなり違う。

ファイルをコピーするという簡単なお仕事を考えてみよう。きっとWindowsのスクリーンリーダーユーザーならば、

  • フォルダ間を移動して目的のファイルを探し出す。キーを押す度に大量の音声メッセージを聞くことになる。
  • 見つけたら、コンテキストメニューなりメニューバーから「コピー」を探し出して実行する。このときもキーを押す度に大量のメッセージを聞くことになる。
  • またまたフォルダ間を移動してコピー先のフォルダを探し出す。
  • またまたコンテキストメニューなりメニューバーから「貼り付け」を実行する。

となる。「矢印キーとタブキーしか使っちゃいけませんよ」という制限をかけると、その作業効率は極端に悪くなる。だから、ショートカットキーがあったり、ファイル名やフォルダ名を日本語にしたくなかったり、ちっちゃな工夫をそれぞれやっていることだろう。

さて、文字ベースのインターフェースならば、どうなるか。コマンドを受け付けてくれる状態にしといて、

  • cp コピーしたいファイル コピー先フォルダ

と入力してエンターキーを押すだけだ。これも「コマンド名やファイル名の補完はできませんよ」と制限をかければかなりいやだ。そもそもフォルダの名前なんか完全に覚えてられるものじゃない。だから、曖昧な記憶からでもファイル名を入力できるよういろいろちっちゃな工夫をしているわけだ。

ということで、私にとっては、選ぶインターフェースより命令するインターフェースの方が良い、と言うことになる。このページを書いているのだってそうで、見出しを付けたくなったときには、見出し行の最初に特殊なマークを入れておくのだ。画面上のどこかにあるだろう「見出しにするアイコン」を実行することはしない。アイコンを探し出すので一苦労する加太ら。

前置きが長くなった。ということで、私はしばらくの間UNIX的なインターフェースを持つものを使い続けるのだろう。

UNIXで使っているソフトたち

Emacs

テキスト文書を作成する「エディタ」である。ほとんどの作業をこのEmacsで行う。拡張機能としてメールの読み書きができるので、メールもEmacsを使って処理する。

開発

C, C++の開発はUNIXで行っている。もちろんWindows用のものを開発するときにはそうはいかないのだけれど、機種に依存しない部分はEmacsで良い。Emacsにいろんな拡張機能を突っ込んでいる。

  • company-mode
  • irony-mode
  • flycheck
  • yasnippet

などこれで、記憶力の悪い私でもなが~いC++の関数が入力できるってもんだ。

ラジオを聴くことくらい

ってことでインターネットラジオを聴くことはUNIXでやっている。放送局名を指定して聴けるコマンドってのを置いておけばかなり楽ができる。

これ、あんまり良いのがなくって、現在自作中。元々はインターネットラジオを聴く機械がほしかったのだ。ラジオを聴くのにコンピュータは大げさだと思ってるので、昔のラジオみたいな顔をしたインターネットラジオ専用機がほしいのだ。ま、その副産物として現在文字だけで操作できるラジオプログラムが動いている。Windowsでは動かないんだろうな。。。

まとめ

改めて振り返ってみると、私がやっていることはなにかを書くことと音楽を聴くことくらいだな。