アプリ版:「スタンプのみでお礼する」機能のリリースについて

CUIとGUIについてわかりやすく教えてください。違いも知りたいです。

A 回答 (7件)

IT・WEB業界で働いている方や、プログラミングを勉強中の方は、CUIというワードを聞いたことがあるかと思います。

ざっくり言うと画面いっぱいに文字が表示されているような画面のことです。

多くの開発者は、そんなCUIを使いこなして作業していますが、なぜあのような画面で作業する必要があるのでしょうか。今回は、その特徴を相反するGUIと比較しながら基本から解説していきたいと思います。

CUIとGUIの違いとは
そもそも、CUIとCUIはどちらもユーザーインターフェースの名称になります。それぞれの正式名称は、以下の通りです。

CUI:キャラクターユーザーインターフェース
GUI:グラフィカルユーザーインターフェース
キャラクターは、英語で文字。グラフィカルは英語で、画像や、図面などという意味です。では、共通しているユーザーインターフェースとは何でしょうか。インターフェースは、何かと何かの間に入る部分のことです。身近な物でいえば、PCの画面をTV画面に映し出すHDMIケーブルなんかもインターフェースに含まれますね。

ユーザーインターフェースは、ケーブルのような物理的なインターフェースというよりは、視覚的なコンピューターと人間を繋ぐものとしての意味合いになります。単純に操作感を表していると思っていただき、ほぼ間違いないでしょう。IT・WEB業界ではUIと呼ばれていますね。

CUI(Character-based User Interface)とは
テキストデータのみで表現されているUIのことです。macなら、ターミナルを立ち上げると表示されるこんな画面です。一般のユーザーは、通常使う機会は少ないと思うので、最初はとっつきにくいですよね。馴染みのない人には、その使い方もまったくわからないでしょう。

GUI(Graphical User Interface)とは
一方GUIとは,画像やアイコンなどで表現されているUIです。誰もが見てもわかりやすいアイコンで表示されていて、どこを押したら何のアプリが立ち上がるのか、感覚的にわかりやすいですね。世の中のWEBサービスや、アプリケーションの多くは使いやすいUIを追求していて、如何に直感的に使えるかどうかが、ひとつの指標にもなっています。

決定的な違いは操作感
UIというワードが双方に入っているCUIとGUIですが、その決定的な違いは、その操作感(UI)にあります。上記の説明でもわかる通り、CUIとGUIでは、使い心地がまったく異なります。

CUIでは、キーボードを入力して何かしらのコマンドを入力して動作をコンピューターに指示するという感じです。一方、GUIでは、表示されているボタンや、アイコンをマウスでクリックするだけで、あらかじめセットされたプログラムが作動するようなイメージです。

つまり、操作するのにキーボードでの入力が必要なものがCUI、マウスだけで操作できるものがGUIということです。

なぜ開発者やエンジニアは、CUIを好んで活用するのか
では、なぜ一般的に使いにくく、見た目もわかりにくいCUIというユーザーインターフェースが存在するのか。多くの開発者は、CUIを使いこなしますし、ディベロッパー用のWEBサービスなんかは、CUI仕様のものも多くあります。

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

処理の自動化がしやすい
すべてテキストなので容量が軽い
テキストデータなので、操作の記録を残しやすい
テキストデータなのでコピペして複数人で共有しやすい
以上のような理由から、多くの開発者に好まれるわけですね。

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

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

また、新しいテーマを開発するときや、既存のテーマのバグを修正する際など、複数の開発者で行うことがあります。基本的にGitで管理しているのですが、これもまたCUIツールです。複数の開発者で共有が必要な場合など、CUIの方が効率的で間違いが減るんですね。

これがGUIであれば「ある箇所を○○のように編集した」というような情報の共有の仕方になってしまい、共有する開発者の主観によって解釈がバラバラになり、間違いを産むことにも繋がりかねません。

すべての人がCUIだけを使うべきなのか?
ここで少し極端な話をしますが、それだけ効率的なら、すべての人がCUIを使いこなすべきなのでしょうか。答えはNoです。もちろん、開発段階においてCUIのツールを活用することは、効率的で作業ミスも減るでしょう。

しかし、画像編集や、動画編集などは現実的にGUIツールでないと不可能ですし、WEBブラウジングや、スマホでアプリを使う時には、GUIの方が使いやすいですよね。

ましてや、開発サイドにおいても、まだ不慣れな状態でCUIを使い始めるよりは、GUIの操作で何が起きているのかを視覚的に捉えてから、CUIツールに移行するような使い方もできます。先ほど紹介したGitも基本的にはCUIツールですが、SourcetreeなどのGitをGUIで使うためのツールもあるぐらいです。

まとめ
ユーザー視点での使い心地を考えて、より最適なUIを目指す場合は、GUIを意識する必要があることは言うまでもありません。一方で、複数人での開発やバグの修正には、共有しやすく人的ミスも減らせるCUIツールが適しているということです。どちらが優れているということはなく、それぞれの特色を理解した上で、適したシーンで活用することが大切ですね。

https://tcd-theme.com/2019/12/cui-gui.html
    • good
    • 1

CUI(読み方:シーユーアイ)とは、「Character User Interface」の略語であり、プログラムの操作画面の種類の一つです。

GUIに対しCUIは、画像やアイコンを使わず、文字だけで操作する表示システムのことです。代表的なCUIとして、Windowsに搭載されているコマンドプロンプトがあります。
GUI(読み方:ジーユーアイ、グイ)は、「Graphical User Interface」の略語であり、プログラムの操作画面の種類の一つです。GUIとは、テキストのほかに画像などが表示できるグラフィカルな表示システムのことです。代表的なGUIとして、WindowsやMACのPCの操作画面があります。
「CUIとGUIについて」の回答画像2
    • good
    • 1

CUIはコマンドプロンプト、GUIはフォーム。


ユーザーからの入力データを、どのような形で受け取るのか、の違い。

CUIは、基本的にキーボード入力しか受け付けてません。
    • good
    • 1

GUI-ユーザーフレンドリー


CUI-ユーザーフレンドリーでない
    • good
    • 0

余談ですが、英語ではGUIは



Graphical User Interface

の略。そしてCUIですが

「そんな単語はありません」。

CUIってのは基本、和製英語です。車のウィンカーと同じですね(ウィンカーは英語ではTurn Signal)
英語ではCLIと言います。

Command-Line Interface

と言うのが正しい英語です。読んで字のごとく、「コマンドラインを利用したインターフェース」です。
嘘だと思うのならWikipediaでCUIの項目に入ります。左からEnglishを探してそこをクリックする。「CUI」じゃなくってCommand-Line Interfaceと言うタイトルのページに飛ばされます。英語話者は誰もCUIなんて言ってない、って事です。

そもそもユーザーインターフェース(User Interface)ってのはコンピュータの歴史では、GUIと共に登場してきた。元々は恐らく、エルゴノミクス系の言葉なんでしょうけど。
エルゴノミクスは心理学の一分野で、端的に言うと

「道具をデザインする際にどうデザインすれば人間は使用ミスを犯しづらいか」

研究する学問です。当然、工学なんかにも関係ありますが、元々は心理学的な研究分野ですね。
そして、「使用ミスを犯しづらいデザイン」が転じて、

「使いやすいデザインとは何か」

になっていきます。この辺で出てきた概念が元々のユーザーインターフェイスです。
転じて、コンピュータのOS上で

「マウスとボタンクリックとアイコンとウィンドウを駆使したデザイン」

を「ユーザに使いやすい"絵を利用した"インターフェースを備えてる」と言う事でGraphical User Interfaceと呼んだのです。

反面、CLIは当然GUIより先にあったものです。この当時、コンピュータは専門家、ないしは好事家のモノでした。「一般の人たちの為の機械」なんかではなかった。
専門家が使う以上、専門家だけが使えればイイ。使いにくかろうが何だろうが構わないわけですよ、専門家なんだもの(それこそ余談ですが、今でも一部の専門家は「使いづらいモノを使いこなす」事に多大な情熱をかけたりします・・・不思議な事に)。
つまり、この時代だと、ユーザーインターフェースもクソもねぇんですよ。そんな概念は存在し得なかった。専門バカしかいなかったんだから。あ、いけね、つい本音が(ry

そういう経緯を考えてみると、何故に日本では

Character-based User Interface

なんつーアホな言い回しを考え出したのか・・・イマイチ分からんのですよねぇ。
直感的には、物凄く意味不明な言い回しで、不自然です。そもそも文字ベースの(Character-based)ってのが不自然で、どーせやるならテキストベースの(text-based)とか他にもやりようがあったんじゃねーの、とか。この辺の言葉選びのセンスの無さ、ってのが如何にも和製英語なんですよね(笑)。

写真: Apple IIの起動画面。
1977年に登場した米国Apple社のパソコン、AppleII では、電源を入れるとこのような黒い画面が立ち上がる。一番下に出てる(])のがコマンドプロンプトで、ここにコマンドを打って、Apple IIに様々な事をさせる。
つまり、これがCLI(Command-Line Interface)のパソコンであり、民生機では1984年のApple Macintoshの登場まで、これがフツーの環境であった。
余談だが、日本の民生機でGUIを(不完全ながら)初めて取り入れたのが1987年に登場したSHARPのX68000と言うパソコンで、これが登場するまでやはりCLIがフツーだった。日本で一番売れた国産独自PCはNECのPC-9801だろうが(多分)、これを使ってた人は皆CLIを使いこなしてた、と言う今じゃとても信じられない状況であった。
そして米国でも日本でもGUIを完全に定着させたのはご存知MicrosoftのWindows 95である。これの登場で「GUI専用パソコン」は滅びた、と言って過言ではない。
米国AppleのMacintoshは敗北し(今あるiMacとは何から何まで全然違った)、SHARPのX68000も消滅、そのうちSHARPはパソコン事業からも撤退するのである。
「CUIとGUIについて」の回答画像5
    • good
    • 0

蛇足かもしれないけど


CUI にはCLIとGUIもどきのCUIが有ります。

CLIはコマンドラインインターフェースで昔の
テレタイプやデータタイプライターを模した
ユーザーインターフェース。
Windowsのコマンドラインプロンプトで
動く多くのアプリが採用してます。

もうひとつの「GUIもどきのCUI」は
ターミナルのエスケープシーケンスや
罫線キャラクター等を駆使して
GUIに近いユーザインターフェースを実現した
ユーザインターフェース。

今ではWindowsではほぼ絶滅してますが、
エディタは昔はこのタイプが多かった。

これを簡単に開発するために
VB For DOS

TurboVision
が売られてました。
    • good
    • 0

もう一回書いておきますが、CUIなんて英単語はありません。


さもCUIがCLIの上位概念である、みたいな書き方は間違いです。

恐らく#6で書かれてるテキストエディタは端末上にプルダウンメニューなんかを備え付けてるエディタを指してると思いますが。
確かにありました。商用製品で言うと、昔、TurboPascalに付属してたテキストエディタがそういうタイプだったでしょう(皆がそれを見て羨ましがってたらしい)。
プルダウンメニュー、とか言っても別にマウスで開くわけでもなく、ファンクションキー使ったりして、ね。
そういうスタイルのテキストエディタがあった。ぶっちゃけ今でもある。

ただし、それは、GUIを模したCLI(GUI-Like)であって、GUIもどきのCUIではない。
従って、CUIにはCLIと・・・ってのは全然間違いで、単にCLIのソフトのデザインの中にGUIもどきのものがある、ってだけです。

もう一回言いますが、CUIと言う英単語はありません。CUIはCLIの上位概念、なんかでもありません。
CUIは単なる和製英語です。しかも、「CUIって何?」って聞かれておかしな(ホントおかしな)英語の説明をしなきゃならない、ある種最低最悪の類の和製英語、です。
(Winkerのように、英語話者が説明聞いて「日本人って発想が面白いのね」と言う類の和製英語じゃないのは確かです)

そもそも、テキストエディタは最初登場した時、ラインエディタしか無かったし、バッファに搭載されたテキストをリアルタイムに画面に表示する、なんつー機能さえ無かった。
スクリーンエディタが登場した時は衝撃的で、その技術を応用して「色々やってみよう」となったとしても不思議じゃないです。
もっとも最初の「現代的な」テキストエディタの一つがMITで開発されたTECOでしょう。恐らく。見たことねぇから知らんけど。
しかし話によると、1964年の登場以来、TECOはハッカーのおもちゃで、1970年代半ばには既にファンクションキーによるプルダウンメニューなんぞも備えてたらしい。最初のGUI機・・・ワークステーションって呼んでいいのかどうか分からんけど、XEROXのALTOの登場が1973年と言うから・・・どっちが先だったんでしょ。お互い影響を受けあったか、あるいは独自に発展して「たまたま」同じような様式に落ち着いたのか・・・。その辺は分からんですけどね。
(さらに余談だとALTOは商用販売・・・って程でもなく、XEROX社の社内以外にはたった500台程度大学に配られたか売られたかした機械でしかなかった)
いずれにせよ、84年のApple MacintoshがデビューしてGUIが「知られる」ようになる遥か以前にCLIのコンピュータのスクリーン上でのプルダウンメニュー実装は「既に完了してた」のです。パソコンじゃない、だけでね。
ALTOが全く関係ないと仮定すれば、GUIを模したわけではなく、CLIとして特殊な進化をしたテキストエディタがあった、ってだけですね。

写真: GUIっぽい外観を備えたターミナル上のテキストエディタの例。例えばファンクションキーF1〜F7を叩けばプルダウンメニューが開き、カーソルキーの上下で選択、リターンで実行、等と言うようにして使い、このテのインターフェースは既に1970年代半ば辺りには完成してたらしい。
こういうインターフェースが発達した背景は、要するにテキストエディタの「便利コマンド」が増えすぎたせいである。覚えておくには洒落にならん量になってきた、のだ。
そうなると、解決策としては二つの手しかなく

1. 何らかの「選択」「決定」だけで主なコマンドを簡単に実行出来るようにする。
2. ショートカットキーが物理的にたくさん付いているデカいキーボードを作ってみる。

のどっちか、をすれば良い。MITは二つともやってみた。
なお、後者も凄まじく、MITで当時使ってたキーボードは肥大化の一途を辿り、「特殊キー」で膨れ上がった、今の標準キーボードの1.5倍〜2倍もあるキーボードを作って使ってたりしてたのだ。
なお、TECOの後継がGNU Emacsで、「悪名高いキーバインド」で有名なのも、端折って言うと、機能がありすぎて、特大キーボードで最初は解決するように考えてたんだが、そんなメチャクチャなキーボードは当然普及しないわけで、急遽「フツーのキーボードで使えるように」キーバインドを作り続けた結果、あーなってしまった、と言うわけだ。
合掌。
「CUIとGUIについて」の回答画像7
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!