2008年05月19日 11:45 [Edit]

プログラミングとアプリ開発の違い

YAPC::Asia::2008

ああ、YAPC::Asia::2008のトリ、Perl Is unDeadを見せてあげたかったなあ。

プログラミングのジャンルと難易度(および Web プログラミング批判) - 黎明日記
だってそうだろ? 「 Web アプリケーション」なんてカッコイイ名前の割に、受け取ったデータを簡単に加工してデータベースに突っ込んで取り出して……それで終わりじゃないか。

ビデオやスライドが上がるまでしばらくかかると思うので、とりあえずは以下をご覧あれ。

で、Schwernが何を言っていたのかというと、フォーク・プログラミングの重要性。フォークっていってもfork()じゃないよ。フォーク・ソングのフォーク、Folk Programming ね。

「Webプログラマー」のほとんどは、実はフォークプログラマー。学校で正規の教育を受けたわけではなく、Webで目にするものを見よう見まねでいじっているうちに、なんとなく動くものができるようになったという人々。Web 1.0の世界で、それは perl を使うということを意味していたけど、Web 2.0の世界では、rubyやPHPやJavaScriptがこれに加わった。Perlがプロ^2グラマーを惹き付けるようになった一方で、perlのフォークプログラマーは数はとにかく(こちらは今も増えている)、比率では減っているから、みんな、もっとフォークソングならぬアプリを出そうぜ、というのがだいたいのあらすじ。

私のスピーチ、Perl as a Second Languageもかなりこのことを意識している。私の方はどちらかというと「複殺(manuplexity)なことをしたかったらperlいいよ」という話なのに対し、Schwernのそれは「殺速(whipuptitude)も忘れずにね」というもので、実にいい感じに締められたのではないか。

PerlやRubyとLispの一番の違いは、言語やそれが用いられるジャンルよりも、それぞれのコミュニティ「プログラミング」が好きな人々が「アプリ開発」が好きな人々のことをきちんと考えていることにあるのではないか。

プログラミングとアプリ開発。この両者は似ているようで実は違う。たとえばエニグモはプログラミングの会社ではないが、アプリ開発の会社ではある。

例の件(追記じゃないよ) - 黎明日記
今日の会話 :
  • J 「脳内メーカーとか成分解析とか作ってみたい。面白そう」
  • 私「(『近似アルゴリズム』を読みながら)ただのハッシュじゃねぇか」
  • J 「ほら、またすぐそういうこと云う……」
この三行が全てを物語っているように感じる。

プログラミングしたいのが「私」(id:theoria)、アプリ開発したいのがJだ。

プログラミングしたい人々は、物が出来るまでの過程を楽しみたい人である。だから、「DBにクエリーをかけてHTMLにぶちまけるだけの簡単なお仕事」が退屈で仕方がない。しかし、アプリ開発したい人々にとって、物ができるのは出発点にすぎない。彼らが楽しむ過程というのは、それを公開し、それを人々が使ってみるところにある。それがただのハッシュなのか人工知能なのかというのは、はっきり言っておもちゃの材質程度の意味しかない。

私自身は、ありがたいことにそのどちらも楽しめる質だ。作って楽しく、使って楽しい。私にとってプログラミングというのは一粒で二度おいしいのだ。だから「文字コードを別の文字コードに変換するだけの簡単なプログラミング」にもつきあえたのだと思う(実はきちんとやろうとすると簡単とはとても言えないのだが)。もっともあれは「動けば楽しい」というより「動かなかったらムカツク」という意味では一粒で二度苦いものでもあるのだけど。

プログラミングをしたいのか、自分が作ったプログラムを使わせたいのか。それが問題だ。

Dan the Folk Programmer


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

この記事へのトラックバック
良いCTOは金の草鞋を履いてでも探せ (ZEROBASE BLOG)へ頂いたコメントを紹介します。それをきっかけとして、CTOの職務とは何かについて考えてみたいと思います。「天才エンジニア」と同様に「CTO」という言葉も曖昧に使われがちです。→素敵な要約をして頂きました:CTOと「...
チーフ・テクノロジ・オフィサ(CTO)ってチーフ・エンジニアと違うの?【ZEROBASE Journal】at 2010年07月12日 15:05
良いCTOは金の草鞋を履いてでも探せ (ZEROBASE BLOG)へ頂いたコメ...
チーフ・テクノロジ・オフィサ(CTO)ってチーフ・エンジニアと違うの?【ZEROBASE BLOG】at 2008年09月01日 01:16
烈しく共感??プログラミングとアプリ開発ー
烈しく共感??プログラミングとアプリ開発ー【zonelog】at 2008年05月22日 02:01
はてブみたけど、良記事とか書かれてるのに、絶望した。 「プログラムっておいしいの?」路線は、この方の専売特許なので奪わないでくださいというか、かわいいOLだから良いのであって、おっさんがそんな路線は勘弁してください。(TT)
弾様、あんまりです。今回は、内容は・・・・。【オレドコBlog】at 2008年05月19日 21:43
この記事へのコメント
Webアプリケーションでも難しい事をする事は可能。
いえ、セキュリティとかプロトコル解析とかしだしたら、全ての情報処理技術がいる。そして次々に湧き出す問題を追っていけば、極めるのならば結局機械語レベルにまで到達する。
何のジャンルを選んでも結局一緒だと思うけどな。
Posted by 未記入 at 2008年05月20日 11:57
コンピュータを「計算機」と呼ぶ種類の人と、
そうでない人の違いですね。
Posted by とおりスカリー at 2008年05月20日 09:35
そして当たり前のことを面白おかしげに書いて人に読ませる。
三度おいしいじゃないですか。
さらに金になる。
四度もおいしいぢゃん
Posted by   at 2008年05月20日 01:18
あー私は’私’の方ですね〜。’J’の気持ちも分からなくはないけど。
Posted by Gen at 2008年05月19日 20:20
ひげずらさん、
すれちがいましたね。コメントがつく前に直したと思ったら。
Dan the Typo Generator
Posted by at 2008年05月19日 13:31
s/folk()じゃないよ/fork()じゃないよ/
Posted by ひげづら at 2008年05月19日 12:37