« AIRを入れてみた。 | トップページ | アピールはしてもいいと思うんだけどね。 »

GUIでGUIGUI。

おっさんでも解るPython、略しておっPyは、一部で盛り上がりを…見せておりませんが。(笑)

これは、GUIを主体に初学者に対して、プログラミングの敷居を下げるために書いてるものです。
なので、別にPythonじゃなくてもいいんじゃ、とかいうところもあるのですが、ワタクシの使ってるのが最近Pythonなので、Pythonを選択しているだけで、言語入門的な側面はあまり持ってません。
で、先日tminさんを実験台(笑)に、解り難かったところ、追記した方がよい部分、サンプルコードの間違いなどを修正したんですが。

まあ、それは余談というか、つかみの話で。

最近のひとはGUIプログラミングをしたがる、とかGUIに興味がないとか、まあ、様々な意見があるようで。
まあ、そもそもLinuxの場合には、端末が多機能なので、CLIで困らないことも多いんですが、これがWindowsとなると寂しい限りで、お世辞にも「シェル」と呼べるほどの機能は…、ってのが現実です。
なので、必然的にGUIプログラミングになるんですが。

一方で、Linuxでも、最近のDEはGUIが強力になりつつあり、まずGUIを備えてないアプリケーションは見ません。
#ツールレベルなら多数あるし、伝統的なコマンドも、もちろん残ってますけど。

MacはもとよりGUIで使うことを前提としていますし、伝統的なUnixくらいでしょうか、CLI主体というか、SSHで入ってコマンド叩く、なんてのは。
つまりサーバ管理者とか、そういうある意味特殊技能が必要とされるひと以外は、CLIを使えなくても困ることがなくなってきているのが現実ではないか、と。

んじゃ、CLIが不要か、というと、そんなこともなく、やはり伝統的なコマンドが便利な場面も多数あり、シェルスクリプトとか書けると、驚くほど作業が効率的になったりすることもあります。
例えばルーチンワークで、メールを一括でダウンロードして、フォルダに振り分けて、とか、そんな作業とかですか。
#あくまで例えば、で、今更そんなことしてるひといないと思いますけど。
まあ、使い分けってところなんですが。

とはいえ。
CLIの使いにくさ、シェルスクリプトの敷居の高さは言うまでもなく、自動処理ってのは、ある意味危険性を秘めてもいるわけで。
手作業で行う効率の悪さは、もちろんありますが、「手作業で行う」ことによる「目視確認」の安全性ってのも、間違いなくあります。
シェルスクリプトと言っても、自分で、てきとーに書いたものには、バグが潜んでいる可能性も大いにありますし、それが削除系のものであるならば、場合によっては、取り返しのつかないミスを誘発する場合もあるわけです。
#そんな時のためのバックアップ、ともいいますが。

ま、ルーチンワークの大多数は、それほど重要なものでもないのでしょうから、そこはシェルで自動化、ってのが効率がいいのかも知れませんが。
それでも、工場などの現場では安全性の確保の為に、指差し確認なども行われてるわけで、重要な作業であればあるほど、手作業による「面倒な確認」が重視されることも多いわけです。
#どうしても最後は「人間が保証する」「安全性を担保する」「責任を取る」ことになるわけで。

そんな場合に「使いやすいGUI」の提供は、安全性と効率の両面に於いて役に立つんですが、まあ、なかなかそんなのもないのが実情で。
ないなら、作ればいいじゃん、ってのも、そう簡単には行かないし、ってところが痛し痒し、ってところなんですよね。

おっPyの目的のひとつでもある、初学者へのプログラミングへの誘いってのは、まあ、こんな場合にも役に立つでしょう、という思いもあり。
まあ、元々もは冗談から始まってるわけですが。(笑)

んで。
最後に本音を書いときますけど。
GUIに興味がないひとは、使いやすいGUIは作れません。
自分で使う気がないものを、相手のことを考えて、使い易くしようってのは無理なんです。
まず、自分が使い易いものは何か、それをキチンと考えた上で、相手の意見も取り入れる、じゃないと、使い勝手が問題になったときに、自分で解決出来ません。
人間工学に基づいた、なんて立派な口上を述べるつもりはないんですが。
そういうのをキチンと学んで、最初からデザインをするのがベストなのかも知れませんが、まあ、大抵の場合は、プログラムの設計者が、そのままGUIの設計をしたりすることが多いわけで、その場合に、「じゃあ使いやすいGUIって何よ」は意識されてないと、とんでもないGUIが出来上がります。
#現実に色々と見てきてたりするわけですが。(笑)

目的によって、GUIデザインなんてのは大きく変わります。
その目的をきちんと捉えて、ある程度の動線を押さえて、そのユーザーの考えの流れに沿ったパーツの配置ってのがあるんです。
GUIに興味のない人には、これは出来ません。
もちろん、見栄えも問題になります。
重要な入力項目には注意書きが書いてあったり、入力例を示したりするのも、GUIならではの工夫でしょう。
自分で使わないひとには、それらの注意を払うことは出来ないんです。
#KDEのGUIが、こういう観点ではよく出来ています。GNOMEの負け。(笑)

興味のないものは、うまく作れません。
ま、なんでも同じですけどね。料理に興味がなければ、美味しい料理を作りたいとも思わないでしょうし、作れないでしょう。

まあ、趣味でプログラミングしてるひとは、あんまし気にしなくてもいい領域かも知れませんが、職業としてプログラミングをするひとなら、GUIは、おそらく避けて通れない時代になって来ていると思われるので、GUIに興味がないなら、その道を目指さないか、ちょっと無理してでも興味を持つようにした方がいいんじゃないのかな、とワタクシは思ってますが。
これ、単なるクライアントアプリだけではなくWebデザインなんかでも同じなんですよね。
見やすさ、使いやすさってのは、工業デザイン全般に言えるので。
「いやぁ、自分GUI苦手なんで」ってひとには、そういう仕事は必然的に回ってこなくなるので、まあ、それを貫き通す、という手もありますけどね。(笑)

|

« AIRを入れてみた。 | トップページ | アピールはしてもいいと思うんだけどね。 »

Ubuntu」カテゴリの記事

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/500703/49492524

この記事へのトラックバック一覧です: GUIでGUIGUI。:

« AIRを入れてみた。 | トップページ | アピールはしてもいいと思うんだけどね。 »