GUIが発達してきてずいぶんな時間が過ぎた。思えばWindows95で右クリックのコンテキストメニューができたことはそれなりのきっかけにはなったのかな、と。
コマンドラインの世界はそこそこ発達はしたものの、それほどの変化はないように思う。補完とかヒストリとかzsh等の奇妙な便利さが整備されたのは認めるけど、やっぱり処理内容のあとにファイル名を書く。昔はGUIでもその順番だったが、今となってはWindowsユーザは対象のファイルやディレクトリを指定するよりも先に処理内容を指示することはなく、コマンドライン流の指定順序は駆逐されてしまった。
そのような移行を踏まえて、GUIから始まっている人はファイルを選択してから処理を選ぶ、というのが自然に感じるはずだ。処理対象→処理内容、の順番で指定する。これっていわゆるオブジェクト指向なんだけど(?)それは置いといて。
だから、例えばファイルの削除だと、
prompt# rm ファイル名
と「rm」を先に打つよりも、
prompt# ファイル名 処理[ls/cat/rm/ln/exec]? rm
あるいは、
prompt# ファイル名 rm
とファイル名を先に指定するほうが自然に感じるのかもしれないなぁ(私はそうは感じないけど)。で、これって最初のダミーのコマンドを作れば簡単にできるよな、と思った。
prompt# dummy-command ファイル名 rm
最後の引数をコマンド名と解釈すればいいだけだから、シェルのレベルでも対応できる。
果たしてこれは革新と言えるだろうか?(反語?)
(追記) 2005-01-24 09:56
PC Watchの山田祥平のRe:config.sys(impress.co.jp)に、コマンドの順番について触れている文章がありました。同じように思っている人もいるんだなぁと、少しホッとしました。