1.2. ユーザーインタフェース#
ユーザーがコンピューターを操作するための画面や方法をユーザーインターフェース(user interface; UI)と呼びます。ユーザーインターフェースには主に 2 つの種類があり、ひとつはグラフィカルユーザインターフェース(graphical user interface; GUI)、もうひとつはキャラクタユーザインターフェース(character user interface; CUI)です。CUI はコマンドラインインターフェース (command line interface; CLI) とも呼ばれています。
GUI は、画面上に表示されるアイコンやボタンをマウスやタッチパネルで操作する方式で、直感的に使いやすく、スマートフォン、パソコン、券売機など、日常的に広く利用されています。ただし、大量のデータを扱う作業には不向きなこともあります。
たとえば、農産物の作付面積[1]や収穫量が記録された次のような CSV ファイルが複数あり、それらの中から「キャベツ」の収穫量だけを集計する作業を考えてみましょう。
2020,北海道,キャベツ,作付面積,1110
2020,北海道,キャベツ,収穫量,59100
2020,青森県,キャベツ,作付面積,440
2020,青森県,キャベツ,収穫量,17400
2020,岩手県,キャベツ,作付面積,830
2020,岩手県,キャベツ,収穫量,31600
2020,宮城県,キャベツ,作付面積,325
2020,宮城県,キャベツ,収穫量,6580
:
2020,北海道,ハクサイ,作付面積,603
2020,北海道,ハクサイ,収穫量,25800
2020,青森県,ハクサイ,作付面積,229
2020,青森県,ハクサイ,収穫量,5510
2020,岩手県,ハクサイ,作付面積,300
2020,岩手県,ハクサイ,収穫量,7410
2020,宮城県,ハクサイ,作付面積,416
2020,宮城県,ハクサイ,収穫量,9410
:
マウス操作やタッチ操作が中心となる GUI で集計作業を行う場合、各ファイルをひとつずつ開いて、必要な行をコピーし、それを別の集計用ファイルにペーストする必要があります。ファイルが数個ならまだしも、数百件もあればまさに気が遠くなる作業です。作業を進めているうちに日が暮れ、気づけば夕飯のキャベツをリアルに千切りしているかもしれません。でも CUI なら大丈夫。キーボードで命令を数行打ち込むだけで、同じ作業を一瞬で終えることができます。包丁を握る時間も省けて、指先も安全です。
CUI は、Linux や macOS などの OS でよく使われている、キーボードから命令を入力して操作するインターフェースです。たとえば、次のような命令で、複数の CSV ファイルから「キャベツ」の収穫量だけを抜き出して、ひとつのファイルにまとめることができます。
for f in `ls *.csv`; do
cat ${f} | grep "キャベツ" | grep "収穫量" >> キャベツ-収穫量.csv
done
CUI を使えば、「キャベツ、出てこいや!」という呪文を書くだけで、収穫量の一覧がずらっと現れます。まさにトラクター級の効率です。さらに、キャベツ
の部分をハクサイ
やニンジン
に変えるだけで、別の作物の集計も即座に行えます。大規模なデータを扱う現場では実に CUI の方が適していることが多いのです。