CLIの利点って何だろうか?新人に聞かれて説明に困らないUNIX/Linuxエンジニアになるために…

結論から言うと以下の3つの理由が上げられるんではないかと思います…

  • ファイル操作の効率化
  • プログラマブルな実行が可能
  • インターフェースの原理

コンピュータに対する命令(コマンド)の発行を、グラフィカル・ユーザ・インターフェース(GUI)のボタンを押すのと、キャラクタ・ユーザ・インターフェース(CUI)のコマンドを叩くのと、いったい全体どちらが面倒なのだろうか?

…より便利なのはどちらか?という問いでもいいが、あえて片方を低めるため(性格が悪くてすみません)に、面倒な方がどちらか考えて欲しい。両方にメリットとデメリットがあるという優等生的な回答は今回はパスで!

もしかしたら、GUIの方が早くて便利だ!と主張する人がいるかもしれない。特に新人さん。でも、GUI派はそんなことはない!とムキになってはいけないと経験的に思う。

本当によくできているGUIのアプリは、それはそれで便利なものだったりする場合もあるから、頭ごなしにGUIをバカにはできない。

それでもCUIが利用シーンとしてけして無くならないのは、やはりCUIが便利なシーンがあるからだ。また、CUIそのものは簡便である以前に、GUIの裏側にあるものだから無くなることはないと言っても良い。

その辺の事情を差っ引いてもCUIが便利な点を上げるとすると…「ファイル操作の効率化」がはかれるってことがまず上げられるだろう。まとめてファイルを移動する場合にワイルドカードで指定すれば、マウスではできない操作が可能だ…まあ、この辺を解決するファイル操作アプリもあるかもしれないが「プログラマブルな実行が可能」なのは、GUI操作でスクリプトを生成するなんてことはないだろうからCUIの最大のメリットだと言える。CUIと少し離れた話題に聞こえるかもしれないが、コマンドをいくつか組み合わせて、それが1発で実行できるのはGUIにはない利点だと思う。面倒なマウス作業が、ワンライナーで解決する小気味よさを味わわせてあげれば、GUI最高とはけして言えなくなるはずだ…。

最後にコンピュータの命令がCUIが基本であることは、プログラミングがソースコードという文字情報の集合で行うことの何よりの証拠である。もしかしたらGUIでプログラミングが行われる時代がくるかもしれない。もしくはAIが人の意図を解釈して自動的に命令セットを組み合わせて問題解決してくれるのかもしれない。ただし、そうであっても符号化して機械語に落とし込む以上、命令とはやはり文字である。つまり、CUIは「インターフェースの原理」であり、その部分はそうそう変わらないんだと思います。

参考サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です