⌨️

【完全版】CUI(CLI)とGUI

2021/06/06に公開

はじめに

この記事では、CUI(CLI)とGUIについて解説していきたいと思います!

CUIとGUIは、プログラミングやITについて調べたり勉強したりしてみると、必ずと言っていいほど出てくる重要なワードです。

これらのワードの意味を理解しているか否かで、プログラミングやITへの理解の質も大きく変わってきます。

是非、この記事を読んで、CUIとGUIを何も知らない人に説明できるぐらいに理解していきましょう!

CUI(CLI)とGUI

そもそも、CUI(CLI)とGUIって何の略なのか?

CUI(CLI)とGUIはどちらもインターフェースの略称になります。
それぞれの正式名称は、こんな感じです。

CUI:キャラクターユーザーインターフェース
CLI: コマンドラインインターフェース
GUI:グラフィカルユーザーインターフェース

CUIとCLIは同じ意味です!これから先は、CUIで統一していきます


キャラクター


キャラクターというのは、文字のことです。
つまり、キャラクターユーザーインターフェースとは、文字のインターフェースということです。


グラフィカル


グラフィカルというのは、画像や、視覚的なという意味です。
つまり、グラフィカルユーザーインターフェースとは、画像などの視覚的要素を用いたインターフェースということです。


インターフェース

では、キャラクターとグラフィックについて理解したところで、ユーザーインターフェースとは何でしょうか?
インターフェースとは、何かと何かの間に入る部分のことです。
例えば、コンピューターとプリンターを接続する時、USBケーブルをつなげることがあるかと思います。この時、USBケーブルがコンピューターとプリンターのインターフェースです。

そして、ユーザーインターフェースとは、ケーブルのような物理的なものしての意味よりも、コンピューターと人間を繋ぐ視覚的なものとしての意味の方が強いです
IT・WEB業界ではUIと呼ばれることが多いです。UIはユーザーインターフェースの略です。

CUI(CLI)とは

CUIとは、ターミナルの画面のように、テキストデータのみで表現されているUIのことです。文字しかないので、マウスやドラッグアンドドロップなどが使えません。クリックもありません。
昔のパソコンはみんなこの画面でした。

<初期のアップルコンピュータ Apple1>

どうでしょう? 直感的にはわかりにくいですね。このころのパソコンは、電子工学や工作が得意な人しか使えませんでした。一般の人には難しすぎたということです。

GUIとは

CUIでは、一般の人には操作が難しすぎるため、全然売れません。そこで開発されたのが、GUIです。
名前にグラフィックが入っていることからもわかるように、GUIとは今のパソコンの画面のような画像やアイコンなどで表現されているUIです。クリックやドラッグアンドドロップなどの操作が組み込まれ、どこを押したら何のアプリが立ち上がるのか、感覚的にわかりやすいです。これなら、一般の人でも操作できそうですよね

<今のパソコン macbook air>

なぜCUIが今も残っているのか

これほど直感的で使いやすいインターフェース、GUIが登場したのに、なぜ今のパソコンにもターミナルなどのCUIが残っているのでしょうか?

それは、エンジニアなどのある程度パソコンに慣れている人達にとっては、GUIよりもCUIのほうが扱いやすいからです。

その理由としては、以下のようなCUIのメリットが要因になっています。

  1. 処理の自動化がしやすい
  2. すべてテキストなので容量が軽い
  3. テキストデータなので、操作の記録を残しやすい
  4. テキストデータなのでコピペして複数人で共有しやすい

以上のような理由から、多くの開発者に好まれるわけですね。

例えば、WEBサービスの開発などを感覚的なGUIで作業していては、記録として残すことはおろか、次の機会の為にその処理を自動化することもできません。

一方、CUIであれば、どんな複雑な操作をしていたとしても、テキストデータで記録されているのでそのままコピペしたり、一部だけの処理を変更したりして検証しやすいわけです。

また、webなどの開発に使う多くのツールが、CUIでしか使えないというのも、理由の一つかもしれません。
macでは、CUIで操作するツールをインストールするのに、Homebrewというパッケージ管理システムを利用します
※Homebrewについて気になる方は、こちらの記事を是非参照してみてください!
https://zenn.dev/sawao/articles/e7e90d43f2c7f9

極端な例を上げると、現在個人や日常生活で使われているmacやwindowsなどのパソコンは、GUI操作が基本ですが、サーバーなどに使われる多くのパソコンにはLinuxというosが搭載されていて、一部を除いてほとんどCUIでしか操作することができません。

<サーバー>

終わりに

これで、CUIとGUIについての説明は終わりましたが、いかがでしたでしょうか?
この記事を読んで少しでも理解を深めていただければ幸いです!

Discussion