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