プログラミング初心者は大概、コマンドプロンプトを使用したCUIプログラムを作って学習している(私は割といきなりGUIから始めた部分が大きかった)が、今日では一般ユーザーが使うようなアプリは大抵GUIで作られており、従来のプログラミングに加えて、GUIプログラミングの学習も求められる一方、それを前提にしたプログラミング学習は資料はそこそこあるとはいえ、なかなか敷居が高いと考えている。
基本的にCUIプログラムとGUIプログラムでは、あることをしたい時にその「あること」が同じであっても、それをするためにどうするかが異なっている。CUIではユーザーがコマンドを入力すれば処理をする一方、GUIでは特定のボタンなどを押された時に処理をするというのは言うまでもないが、情報を受け取ったらどう表示するかでも大幅に異なる。CUIなら基本的にコマンドラインに出力すればいいが、GUIではそれをどこに表示するのかを定義し、なおかつ配置を決めた上でそこに出力しなければならない。
基本的にはCUIと比較して、GUIでは画面表示や処理を始めるタイミングなどの面で比較にならないほど考慮しなければならないことが多く、なおかつ(例外はあるものの)コード量も増大するため、CUIからGUIへ移行するのに障害になっているといえる。
とはいえ、今日ではコードを書かずにデザインできる環境も増えており、それを利用すれば(特殊なことをしなければ)大抵はコードも減らせるし、面倒さも軽減できるだろう。そうすればとっつきやすくなるだろう。
プログラミングを学習するにあたって、GUIは是非とも習得したいものである。とりわけスマートフォンアプリでは必須なのでなおさらである。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。