2009年01月07日

檄文『開発者に告ぐ』whitecaps

以下は現在のプログラム開発方法を憂い、その改革を求める超過激な檄文です。(プログラマーの方は気を悪くなさらないでください。)

開発者に告ぐ。あなたたちはいつまでその非効率でストレスばかりかかる開発方法を黙ってこなしているのか。あなたたちは毎日それが表示された画面を睨みながらソースコードと格闘し、キーボードを一文字の間違いも許されることなくせわしなくタイプして、プログラム開発を続けている。しかしもっと賢い方法があるだろう。それはMac OS XのAutomatorやQuartz Composerを発想点とする、GUIインタフェース上にパネルを並べたり、モジュールをマウス操作で繋げたりしてプログラムを作る方法ではないか。GUIでつくれるのはGUIだけではない。プログラムそのものをGUIで作ろうではないか。

アップルに告ぐ。なぜInterface BuilderとAutomatorというすばらしい技術を既に持っているのにそれを繋げようとしないのか。Interface Builder上でGUIを設計し、それをさらに機能強化したAutomatorのプログラムに繋げればいいではないか。なのに今のDeveloper Toolsにはそう言った機能がない。もしInterface BuilderとAutomatorを繋げたならば、Xcodeのエディタでソースコードを書く必要はもうなくなる。あなたたちはソースコード回帰などと言っているが、それは技術の進歩にそぐわない時代錯誤な考えとしか言いようがない。

再び開発者に告ぐ。あなたたちはいつまでテキストベースの開発を続けていくつもりか。コマンドを打ち間違えてエラーが返ってきたり、ディレクトリ構造を頭の中で思い浮かべなければいけない方法をいつまで続けていくつもりか。いつまでコンパイルしたあとに「あー、ここのメソッド名変えたから、こっちも変えなきゃいけないだった、失敗失敗。(テヘ♥)」などとのんきなこと言っているのだろうか。メソッド名など一つの場所で変えたなら全て同期するようにすればいいではないか。それを実現するのはGUIによる統合された管理である。テキストベースの開発を続けることとは、あなたたちがもっとも嫌っているはずの「非効率な」開発方法である。そんな方法があなたの脳に優しいはずがない。CUIはGUIフロントエンドが利用する基盤技術としてあればよいのである。

開発者に告ぐ。ソースコードはコアな開発者が最低限必要なときに触ればいいのであって、それをスタンダードな開発方法としているのは嘆かわしい。たとえばあなたは全ての開発者が機械語を使えるべきだと思っているだろうか、いや、そんな開発者はごく少数だろう。現在の普通の開発者は高級言語を使っている。そして今はその高級言語でさえ現在の機械語と同様に自動で作り出すようにすべき時なのだ。そしてあの逸話を思い出してみてほしい。昔、ソースコードの中のコンマとピリオドが一文字間違えていただけで、動作不能になって宇宙のもくずと消えた人工衛星があったことを。あなたはその原因を顧みず、同じ間違いを今目の前で繰り返そうとしている。

重ねて開発者に告ぐ。GUIコーディングソフトを誰も開発しないのは怠慢である。GUIコーディングソフトがあれば開発に関して深い知識がない人でもソフトが作れるようになる。つまりソフト開発の門戸が多くの人に開かれる。それをつくろうとしないのは、「開発という高度な専門知識を持っている私たちは、他の人にその術を与えてはならないのです。もしそんなことしたら私たちの仕事がなくなってしまいますからね。そうでしょう?グラント国防長官。あなたも、梅味、おひとついかが?」「いや、けっこうだ」と思っているとしか言えないではないか。そういった考え方はよりよいコンピュータ技術の発展のための大きな妨害行為である。ひいては社会の発達を妨げるものなのである。

もしGUIコーディングソフトが作られたとしたならば、さらにそのソフトをつかってそのGUIコーディングソフト自身を洗練させることが出来るだろう。そして開発は加速し、その恩恵は他のプロジェクトにも波及する。そう、誰でもいいから今すぐGUIコーディングソフトの開発を始めることが必要である。機は熟した。必要な技術はもうそろっている。あと必要なのはその方向性を皆で認識することだけなのである。

■(2008年1月2日。スプリットビューを使って二つのディレクトリを一つのウィンドウで表示できるHUD的シンプルファイルブラウザを作ろうとしたものの、だれも既成のファイルブラウザコンポーネントをネット上に公開していず、ソースコードを書かなければいけないという現実に直面して挫折した一人のプログラミング初心者より。)

誤解があるかもしれないというかあるので、追記:

私は別にこつこつソースコードを書く努力が悪いとか言ってるわけではありません。わたしだってLinuxが起動時にいろいろと文字の羅列を吐くのを見るとかっこいいと思ってしまいますし、そう言った歴史を尊敬しています。また、私はブログのXULversityという記事でインタフェースプログラム言語XULの紹介もしていて、そのXULの将来性に心酔しています。実際のところそのXULこそGUI開発環境が貧弱なくらいだし、わたしはそのサイトで「直感的な文法で書けるプログラミング言語はいい」と言ってるくらいなのです。でもたびたびプログラミングをしていて自分の限界にぶつかる度に、そう言ったやり方をいつまでも続けていくのはユーザーのためにも、プログラミングの将来のためにならないと思ったりします。だからこんな文章を書きました。実際にはGUIコーディングソフトを作ったとしても、そのソフト自体が使いやすくできていないとすぐには実用にはならないかもしれませんが、それはどんなソフトでも同じことであり、開発が進むと共に解決されていくものです。ちなみに人工衛星の話ですが、詳細まで正しいかはわかりません。こんな感じの話があったなって話です。

※「梅味」はアニメBLOOD+のヴァン・アルジャーノとグラント国防長官より。本文で使ったハートマークが正しく表示されないことがあることは知っていますが、ここでは絶妙な表現だと思ったので使ってみました。

posted by whitecaps at 14:03| Comment(0) | TrackBack(0) | コンピューター | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/112273896
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック