やっぱりGUIは面白い!

仕事サボって,ちょっと現実逃避エントリしてみる。

今,完全な趣味として, IP MessengerをEclipseのプラグインとして開発している。かなりいろいろな思惑があって,仕事よりもこっちを考えちゃってるほうが多いことに自己嫌悪。でも,(ビジネスじゃなくて)いろんな展開が考えられることは,とっても面白いし,刺激的だったりする。そもそも,( 翻訳プラグインのような)自分が生み出したものが世間で使われていることは,この上ない幸せなことだ。

最近の仕事は,火消しだったり,Webアプリケーションの開発だったり,かなり興味がわきづらいものばかりだった。僕はPC-88の頃から現在に至るまで,GUIを伴うアプリケーションを主に開発してきた開発者だ。

ことWebアプリケーションに関しては,Webブラウザからのリクエストからレスポンスの送信まで,その中で行われることはほぼシーケンシャルな処理,つまり手続きである。JSFがメインになれば状況は違ってくるのかもしれないけど,Webアプリケーションに対して(原理主義的な)オブジェクト指向を持ち込むのは,かなりのギャップを生じさせる。しかも,ステートレスという特徴からしても,オブジェクトの存続期間は手続きの中のみにほとんど閉じられるために,さらにオブジェクト指向から遠のいてしまう。

しかし,GUIは違う!コンピュータの歴史は,Webアプリケーションが登場する直前まで,GUIアプリケーションを如何に作りやすくするかに注力されていた。つまり,当たり前になったデザインパターンも,開発ツールも,GUIアプリケーションに向けて考え出されたものだったはずだ。その証拠に,GoFのデザインパターンの多くは,GUIアプリで考えれば「なるほど」と思えるのに,Webアプリケーションに適用することを考えると,合わなかったり,逆にアンチパターンに反転したりしてしまう。

だからこそ,GUIアプリケーションは作るのは面白い!いろんな技術,考え方を素直に実践できるし,なによりも自由だ。変なしがらみもない。コンポーネントの組み合わせやイベント処理など,Webアプリケーションでは疑問に思ってしまうことも,素直に実践できる場が,GUIにはある。もちろん,見た目の動きが激しいほど,作り甲斐があるし,。

今の若い(?)開発者は,Webアプリケーションという非常に閉じた世界で,やっつけコードを如何に大量に生産できるか,という作業ばかりを覚えている気がしてならない。コンピュータのハードウェアそのものが,入力機器と出力機器の組み合わせでできてるんだし,やはりプログラミングはGUI(CUIでもいいけど)が基本中の基本だ。ちゃんとしたプログラミングの技術を学ぶためには,Webアプリケーションをいきなりやるのではなく,GUIアプリケーションの開発から経験すべきだと,僕は思う。

でも,決してJava Studio CreatorやVisual Studioで楽しちゃいけません。GUI構築のコードが,もっとも勉強になるのだから。。。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて