というわけで今回は Node.js の作者の Ryan Dahl 氏がしばらく前にポストして話題になっていた記事[1] を紹介したい。
“I hate almost all software” (俺はほぼすべてのソフトウェアが嫌いだ!)という一文から始まるこの文章は多くの共感(と多少の反発)を呼んだ。原文を読むことをおすすめるすけど、かなりはしょって意訳するとこんな内容だ:
ソフトウェアは複雑でけしからん!Unixの真髄はシンプルで美しいのに、実際に俺たちが相手にするのはDBusやらboostやらautoconfやらdpkgやらの複雑な連中だ。その上、俺たちはこの上にさらに複雑性を乗っけている。今や開発するには$NODE_PATHなんてものまで覚えないと始末だ。でもそんなことはウェブページを見たいだけのユーザに取ってはどうでもいいんだぜ!bashのタブ補完だとかzlibのリンクが動的か静的かなんて本当にどうでもいいんだ。そのうちこの蓄積した複雑性が、新しく全部作り直す複雑性より大きくなるときがやってくる。そのときは boost も glib も autoconfもすべてトイレに流してしまえ!NaNがnullと等しいかどうかとか、そんなプログラミング言語の重箱の隅を覚えて喜んでる奴、お前は全体がどれだけ腐っているということ何もわかっちゃいない!ウィンドウマネージャーとかエディタとかをせっせとカスタマイズして喜んでる奴!ディレクトリの階層を増やしている奴!問題を解くのに必要じゃないことをやってる奴!お前らも何もわかっちゃいない!glibのオブジェクトモデルなんか誰も気にしちゃいない!ソフトウェアにとって唯一大事なことはユーザエクスペリエンスだ。
“I hate almost all software” (俺はほぼすべてのソフトウェアが嫌いだ!)という一文から始まるこの文章は多くの共感(と多少の反発)を呼んだ。原文を読むことをおすすめるすけど、かなりはしょって意訳するとこんな内容だ:
ソフトウェアは複雑でけしからん!Unixの真髄はシンプルで美しいのに、実際に俺たちが相手にするのはDBusやらboostやらautoconfやらdpkgやらの複雑な連中だ。その上、俺たちはこの上にさらに複雑性を乗っけている。今や開発するには$NODE_PATHなんてものまで覚えないと始末だ。でもそんなことはウェブページを見たいだけのユーザに取ってはどうでもいいんだぜ!bashのタブ補完だとかzlibのリンクが動的か静的かなんて本当にどうでもいいんだ。そのうちこの蓄積した複雑性が、新しく全部作り直す複雑性より大きくなるときがやってくる。そのときは boost も glib も autoconfもすべてトイレに流してしまえ!NaNがnullと等しいかどうかとか、そんなプログラミング言語の重箱の隅を覚えて喜んでる奴、お前は全体がどれだけ腐っているということ何もわかっちゃいない!ウィンドウマネージャーとかエディタとかをせっせとカスタマイズして喜んでる奴!ディレクトリの階層を増やしている奴!問題を解くのに必要じゃないことをやってる奴!お前らも何もわかっちゃいない!glibのオブジェクトモデルなんか誰も気にしちゃいない!ソフトウェアにとって唯一大事なことはユーザエクスペリエンスだ。
(出典: tomohiro)