1970年台後半、8 bit CPUとBASICインタプリタを搭載したコンピュータが登場し始める。米国ではホームコンピュータなどという呼び方もあった。日本国内では、これ以前に登場したボードコンピュータの頃から“My Computer”、"Micro Computer"の意味で「マイコン」という呼び名が使われた。
このマイコン、最初は米国製品のPET、TRS-80、Apple IIのいわゆるホームコンピュータ御三家に続き、日本のメーカーも参入し始めた。国内の場合、CPUにZ-80、Microsoft BASICという組み合わせが多かった。
こうしたマイコンは、例外もあるが電源を入れるとすぐにROM内のBASICが起動する。BASICには、ダイレクトモードと呼ばれる機能があり、行番号を付けないで入力したBASIC言語の行は、その場で評価が行われた。ただし、演算結果を表示させるには、PRINT文と計算式などの組み合わせを入力する必要がある。PRINTステートメントを簡単に入力するため、省略形として“?”が採用された。
プログラムの入力は、行頭に行番号を付けることでダイレクトモードとは区別された。プログラムのロード、セーブ、プログラムの出力(LIST)、実行(RUN)などのコマンドはダイレクトモードでコマンドで行うことが前提だった。いまでいうCLIがダイレクトモードだった。
国産のマイコンのダイレクトモードでは、カーソルキーなどを使って、過去に入力したBASICステートメントを書き換えリターンキーを押すと、再度評価が行われた。また、一回実行した行の頭に行番号を付けるとプログラムとして入力することもできた。逆に表示させたプログラムリストから行番号を消して、ダイレクトモードで実行させることもでき、行番号を書き換えることで、内容が同じで異なる行番号を持つ行を入力することもできた。プログラムを途中で止め、ダイレクトモードに戻り、変数の値を見ることもできた。
マイコンのダイレクトモードは、テキストエディタ(ビジュアル・エディタ)が組み込まれていた。しかし、画面外にスクロールしてしまった過去の入力、出力を保持するバッファがなく、画面に表示されているものしか編集、再実行できない。ステートメントの出力が長かったときには入力したステートメントが消えてしまう。
こうした画面編集機能は、1977年に出荷されたコモドールのPET 2001のBASICが最初に実装していたと記憶する。TRS-80やApple IIも同年に発売されているが、発売開始時にTRS-80に搭載されたLevel 1 BASIC、Apple IIのINT BASICには画面編集の機能はなかった。PET 2001のBASICはMicrosoft製で、のちにTRS-80、Apple IIもMicrosoftのBASICを採用することになる。
その後登場した16 bit CPUマシンでは、MS-DOSが採用されたが、MS-DOSのコマンドライン・インタプリタであるcommand.comは、前回の入力を編集するテンプレートという機能があっただけだ。
テンプレート機能は、ビジュアル編集ではなく、前回の入力から1文字コピー、1文字スキップといった機能などを使って、前回の入力行をコピーしながら、行を入力していくことで修正を行うことができた。しかし、ダイレクトモードに慣れていた筆者からみると明らかな「退化」だった。基本的な考え方が、テレタイプ端末(機械プリンタを利用した端末装置)時代のものだったからだ。
1980年台に入って、筆者はBSD UNIXでcshを使うことになった。このとき、履歴機能で過去に実行したコマンドラインの一部を取り出す、修正を行うなどの高度な「履歴展開」機能を見ることになったが、機械式プリンタを表示装置に使うテレタイプ端末を前提にした機能だった。
のちに入力行の編集については、KornShell(1983年公開)で、ビジュアル編集が可能になるが、編集行はヒストリ機能で呼び出す必要がある。この頃になると、端末はCRTを使った「グラスターミナル」が主流になったからだ。
Windowsでは、コンソール機能が強化され、さまざまな機能が可能になったが、GUIの陰に隠れてコンソール・アプリケーションは簡易なものしか作られていない。結局、Windowsターミナルで、Linux/Unixと同じく仮想端末とエスケープシーケンスによる制御を導入した。
また、PowerShellも、bashのreadline機能を参考にしたPSReaedline(2013年開発開始)を導入し、bashのような入力編集環境を構築する方向に向かう。斯くしてマイコンのダイレクトモードが持っていたビジュアル編集/再実行機能は、歴史の谷間に消えていった。
今回のタイトルネタは、特撮ドラマ「ウルトラQ」のエピソード「宇宙指令 M774」から。「コマンド ⇒ 指令」からのつながりで選んだ。地球征服のためキール星人が送り込んだ怪獣ボスタング。単純な怪獣による地球侵略話しではなく、最後に「ひと捻り」ある。