Archive for 10月 28th, 2016

CUIとGUIの違いについて

金曜日, 10月 28th, 2016

こんにちは、naoyaです。

これから6ヶ月間、1月に1回、プログラムに関する記事を投稿す
ることになりました。

第1回のお題は「CUIとGUIの違いについて」。まずは、CUIとGUI
について、自分で調べた限りですが、まとめてみようと思います。
(ほとんど参考にしたもののままではありますが)

・そもそもUIとは何か
CUIもGUIも、「UI」という文字が使われています。UIとは、
User Interfaceの略語で、機械とその利用者がやり取りをするた
めのインタフェースになります。入力としてユーザーがシステム
を操作する手段を提供し、出力として、ユーザーが捜査した結果、
システムが生成したものを提示する手段を提供します。

・CUIとは
Character User Interfaceの略語で、文字(Character)を使っ
てコンピュータとやりとりを行う方式です。UNIXやLinux等のOS、
Windowsのコマンドプロンプト等で利用されます。文字を使うの
で、キーボードが主に入力機器として使用されます。
CommandLine User Interfaceとも言われます(その場合、CLIと略
される場合もあります)。
グラフィックなどを使用しないため、コンピューターリソース
を節約できます。そのため、ハードウェアの性能が比較的低いマ
シンでも動作させる事ができます。

・GUIとは
Graphical User Interfaceの略語で、コンピューターグラフィ
ックスとポインティングデバイスを用いて、直感的な動作を提供
する方式。WindowsやMac OS等で利用されます。
コンピュータの画面上にウィンドウ、ボタン、アイコンといっ
たグラフィックが表示され、それらの中から、目的の動作を表す
グラフィックをマウスなどのポインティングデバイスで選択し、
リアクションを発生させる仕組みを持ちます。
複数のアプリケーションを使う場合、基本的にウィンドウの切
り替えで済む場合が多い。
マウスではなく、タッチパネルが使われるものもGUIと呼ばれ
ます。

概要としてはこんな感じかと思われます。では、次にそれぞれの
長所と短所についてまとめてみようと思います。

・CUI
・長所
入力機器がキーボードだけなので、タイピングが早くなれば、
作業スピードをいくらでも上げられる。また、扱う情報が文字
だけなので、性能の低いマシンでも比較的早く動作できる。
プログラムの流用性が高く、同じ系列のOSならばほぼ動く。
複雑な処理を比較的簡単に行える。
・短所
扱える情報が文字だけであり、決まった文字やコマンドを入
力して動作するので、視覚で情報を認識しづらく、コマンドを
覚えなければ動かすことも出来ないので、初心者には扱いづら
い。

・GUI
・長所
文字だけでなく画像も表示でき、操作対象が明確で、比較的、
操作が簡単であるため、初心者でも扱いやすい。
複数のアプリケーションを使う時に、多くの場合、ウィンド
ウの切り替えで済む場合が多い。
・短所
どんなに操作に慣れても一定以上に作業スピードが上がらな
い(マウス等を使うため)。
CPUパワーやメモリ、大量のリソースを使うため、コストが
かかる。
GUIツールやライブラリの存在により、脆弱性のリスクが若
干高い。

長所と短所をまとめて、個人的な印象ではありますが、CUIは扱
いづらいけど速い、使いこなせればもっと速い。GUIは誰でも使え
るけど少し遅い、どんなに頑張っても(CUIに比べると)遅い。とい
う風に感じました。
しかし、使いやすさによる恩恵が大きいのか、街中で最近よく見
るUIはほとんどがGUIだと思います。というか、私は街中でCUIを見
たことは無いような気がします。

では、CUIは一体どこで使われているのか?
CUIは、動作が軽く、文字以外の余計なものが無い、ということ
で、主にシステム開発やシステムトラブル対応、ネットワーク管理
や開発の世界などで、よく使われているそうです。なので、日常で
生活をしていて目にする機会はほとんど無いと思います。
逆に、システム開発等に関わっているのであれば、CUIを使う局
面が出てくると思うので、CUIを扱えるようになった方が良いんじ
ゃないかなと思います。

いかがでしょうか。自分が調べた限りのものと、それに対する自
分の考えで書いているので、間違いだったり、もっとこういう側面
があるよ。的なことだったりがあると思います。その場合、コメン
ト等で教えてくださるとうれしいです。

次回(第二回)は構造化について、書いていこうと思います。

参考URL:
http://www.pc-master.jp/words/cui-gui.html
http://www.cc.kyoto-su.ac.jp/~hirai/text/cui.html
http://www.not-enough.org/abe/manual/comm/gui-cui.html
https://project-flora.net/2015/11/02/gui%E3%81%A8cli%E3%81%AE%E5%88%A9%E7%82%B9%E6%AC%A0%E7%82%B9/
http://plaza.rakuten.co.jp/bluearth/diary/201002210000/