Windows OSのエクスプローラーやOS XのFinder(ファインダ)など、コンピューター上でファイルやフォルダーを扱う際に欠かせないのが、ファイラー=ファイルマネージャーの存在。今後、コンピューターの使用スタイルが多様化することで、ファイルやフォルダーを意識する必要がなくなる可能性はありますが、温故知新の意味を込めて、古今東西の古いファイラーや最新OSのファイラーまで広く紹介します。今回は「Norton Commander」を取り上げましょう。

ファイラー=ファイルマネージャー?

現代のようにGUI(グラフィカルユーザーインターフェース)が主流になる以前は、CUI(キャラクターユーザーインターフェース)を用いるOSが一般的でした。コマンドラインから特定のコマンドを駆使し、ファイルを操作するCUIスタイルは、一定以上のスキルを要します。例えばMS-DOSでファイルを閲覧するには「type foo.txt | more」と実行し、ファイルをコピーするには「copy foo.txt bar.txt」と実行するなど、英単語を踏まえた操作を求められました。これが当時のコンピューターがなかなか浸透しなかった要因の一つです。

誰しもがコンピューターを直感的に使用するためには、ファイルやフォルダーという存在が可視化されなければなりません。そのような概念に基づいて生まれたのがファイラーという存在。一般的なファイラーはファイルやフォルダーを対象に、コピーや移動、名前変更といった操作をメニューや割り当てられたキーを押して実行します。GUI環境におけるファイラーも同等ですが、マウスやタッチパッドといった操作デバイスが併用できますので、より直感的な操作が可能になりました。

つまり「ファイラー」と、現在のOSやアプリケーションが備える「ファイルマネージャー」は同義であり、そこに大きな差はありません。だが、OS内で用いられることで、後者の呼称が一般的となりました。しかし、本稿では往年のアプリケーションに敬意を込めて前者の呼称を用いています。あらかじめご了承ください。なお、ファイラーにはファイルやフォルダーだけではなく、FTPなどネットワークプロトコルをサポートするものもありました。ちょうどWindows OSのエクスプローラーは、以前からSMB(Server Message Block)をサポートしています。このように、ファイラーという存在は、CUIスタイルを採用した往年のコンピューターを使いやすくし、現在では意識せずとも使用される存在なのです。

まずはファイラーの歴史をさかのぼってみましょう。厳密には1974年にStan Kugell(スタン・クーゲル)氏がプログラムを書き、Emacsに組み込まれた「dired」が最初のファイラーと言われていますが、特定のアプリケーション上ではなく、OSから直接起動という条件を付加しますと、1984年にAlbert Nurick(アルバート・ ニューリック)氏とBrittain Fraley(ブリテン・フレイリー)氏が開発した「PathMinder(パスマインダー)」が元祖となります(図01~02)。

図01 Emacs上で動作する「dired」。ディレクトリを編集するための機能として生まれました

図02 1984年生まれの「PathMinder」。各コンピューター業界の賞を受けました

テキストベースで構成され、さまざまなファイルを直感的に操作できる環境は、多くの称賛を集めました。ご覧のとおりMS-DOS用アプリケーションとしてリリースされましたが、後の1990年にはCP/Mへ移植されるなど、多くの愛用者がいたそうです。1985年にはExecutive SystemsのXtreeが登場し、そして翌年の1986年には、Peter Norton Computing(ピーターノートンコンピューティング)が開発した「Norton Commander(ノートンコマンダー)」がリリースされました(図03)。

図03 DOS上に常駐し、ファイル操作を行う「Norton Commander」

以前からコンピューターをお使いであれば、Peter Norton氏の名前に聞き覚えがある方もおられるでしょう。同氏はもともと米国出身のプログラマーで、大学卒業後に自身の名を冠にした同社を設立。当初はメインフレーム系のソフトウェアを開発していましたが、1981年に発売されたパーソナルコンピューター「IBM PC」を機に、さまざまなDOSベースのユーティリティソフトを開発しました。これが「Norton Utilities」(ノートンユーティリティーズ)の始まりです。

同社は米コンピューター市場の拡大に併せるように成長し、1988年には1500万ドルもの売り上げに達しました。1990年にはSymantec(シマンテック)に買収され、同社の一ブランドとして、1990年代のコンピューター上で多くのアプリケーションが動作していたことを覚えてる方もおられるのでは。今回はNorton氏の立身出世中に誕生したファイラー「Norton Commander」を取り上げます。

多くのユーザーに愛された初期の「Norton Commander」

前述のとおりNorton Commanderのファーストリリースは1986年。バージョン1.0が誕生しました。先ほどはPeter Norton Computingの作成したソフトウェアと述べましたが、正確を期すると同社のJohn Socha(ジョン・ソチャ)氏の手によって開発されたものです。Socha氏がCornell(コーネル)大学の大学院生だった頃に、基礎となるコードを書き始めました。この頃は「VDOS」と呼ばれていましたが、同氏がPeter Norton Computingに参加してから、Norton Commanderという名で発表されています。

Socha氏は、同社に在籍していた頃に「Peter Norton's Assembly language book for the IBM PC」という著書を上梓するなど、有名プログラマの一人に数えられる存在でした。Symantecによる買収後に自身の会社となるSocha Computingを起業しました。同社はMicrosoft Plus! for Windows 95やWindows 98のスクリーンセーバーの開発に携わりましたが、奇しくもMicrosoftの共同創業者であるPaul Allen(ポール・アレン)の会社Asymetrix(アシンメトリックス)に買収され、その後の2010年からは、Microsoftに在籍しています。ご興味をお持ちの方はmsdn.comにある同士のブログをご覧ください(図04)。

図04 John Socha氏が開発に携わった「Microsoft Plus! for Windows 95」

最初のバージョン1.0は本体である「NC.EXE」のファイルサイズは約66キロバイトをシンプルなものでしたが、「NC.EXT」というファイルに拡張子と対になるコマンドやキーワードを記述し、ファイルを選択して[Enter]キーを押すことで、特定の動作を実行することが可能でした。このロジックはちょうどWindows OSにおける"関連付け"と同じです。1986年といえば米国でWindows 1.02や1.03がリリースされていた頃。このこと踏まえますと、Norton Commanderの先進性が理解できるのではないでしょうか(図05~06)。

図05 最初の「Norton Commander」となるバージョン1.0。画面からもわかるようにシンプルな構成でした

図06 「NC.EXT」ファイルに対応する拡張子とコマンドを記述することで、関連付けを実現していました

最初のバージョンアップは1988年に行われました。Norton Commander 2.0は、前バージョンをベースに改良を加え、前年に販売されていた「Norton Utilities for DOS 4.0」から、いくつかのコマンドを取り込み、更なる強化がなされています。当時はファイラーと称される「ほぼ完璧なDOSシェル」という評価を与えられていました。

バージョン2.0には、ツールバーの追加や特定形式ファイルのビューア、ツリー機能などいくつかの機能が加わっています。特にツールバーはショートカットキーで呼び出していた各機能をメニューから選択できるようになり、"操作方法を学ばずとも、直感的に操作できる"というファイラーの存在意義を強化しました。なお、Norton Utilitiesシリーズを使ったことがある方ならご存じのとおり、ディレクトリ(フォルダー)のツリー構造を事前にバイナリとして保存し、ディレクトリの表示スピードを高速化させる仕組みは、当時のコンピューターとしては有益です。ちょうど、Windows Vista以降に標準搭載したインデックス情報は、ファイル名やファイルの内容も取得していますが、基本的なコンセプトは同等と言えるでしょう(図07~08)。

図07 サブメニューを備えるツールバーが新たに加わった「Norton Commander 2.0」

図08 バージョン2.0からは、ツリー構造を取得して素早くディレクトリ間を移動する「NCD」が新たに備わっています

そして翌年の1989年には中興の祖と呼ばれ、前述したSocha氏が手がける最後のバージョンとなるNorton Commander 3.0がリリースされました。以前のバージョンと異なり、多くのソフトウェア開発者が携わり、ヘルプメッセージを確認するとSocha氏を含め、六人以上の開発者名が確認できます。ファイルビューアに関してはSocha氏を中心にチームを組んだと記述されていますので、より多くのスタッフが関わったのでしょう。

バージョン3.0は、従来のビューアに加えてエディターも追加。シリアルポート経由でコンピューター間のファイル交換など、魅力的な機能をいくつか備えています。機能性の向上と安定性を維持することで、より多くのユーザーが愛用するようになり、世界各国で機能を追加するパッチが生まれるようになったのも本バージョンから。IBM/MS-DOSが主流だった時代だからこそ、より多くのヒューマンリソースが集まったのでしょう(図09~10)。

図09 もっとも多くのユーザーが愛用としたと言われる「Norton Commander 3.0」

図10 この頃からコマンドラインのメールクライアントなど、ネットワーク環境を意識したツールも加わりました

このバージョンでファイラーが必要とする機能の大半を備え、Norton Commanderの地位は揺るぎないものとなりました。ちなみに国内へ目を向けてみると、当時は故・出射厚氏が国産ファイラーとして有名な「FD」をNECの「PC-9800シリーズ」向けに開発を始めた頃。"たられば話"ではありませんが、当時Peter Norton Computingがワールドワイドに展開し、同コンピューター向けに移植を行っていれば、国内のDOS事情も大きく異なっていたかもしれません。