「現実的でない」という思考停止

↑の日記は、「『現実』主義への陥穽-ある編輯者へ-」という文章のデフォルメです。
http://hiw.oo.kawai-juku.ac.jp/nyushi/honshi/05/n01-61p/2.html
via http://blogs.yahoo.co.jp/ohtos/47142827.html


ソフトウェアの世界でよくあるのが、「すでにこのソフトがあるから開発しても意味がない」とか「実装しても性能が出ない」とかです。
あるソフトやらサービスやらがシェアを取っているというのが「現実だから仕方がない」ということだったり、「性能が必要ない分野がかなりある」という現実を見ていなかったり。後者に関して言えば「ほとんどのソフトウェアは最初から性能が出ていたわけではない」という現実もありますね。


車輪の再発明」という言葉が有害でしかない使い方をされることも多くありました。
「すでにそういうソフトウェアが存在するのだから実装しても意味がない」という使い方です。
実際に意味がないのは、例えばクイックソートをがんばって考えるようなことであって、クイックソートの実装を行うことは意味があります。
他人の実装というのは、必ず足りない部分と無駄な部分があるので、自分で実装しなおすというのは用途にぴったりあうという点で有意義です。


ぼくが最初にそのことに気づいたのは、iアプリの開発をしていたときでした。
一番最初の、10kb制約とか今となっては信じられないころ。
そのとき同じ会社に出入りしていた人が、iアプリ上で3Dを表示させるソフトを作ってました。
正直、「10kbでやれることはたかが知れてるし、画像処理もできないし、何に使えるんだろう?」と思ってました。
http://k-tai.ascii24.com/k-tai/news/2002/03/05/634124-000.html
その後すぐに、iアプリに3Dエンジンが載ったのですが、そのときには「ネイティブにはかなわないのに何に使うんだろう?」と思ってました。
でもその後、そのときのノウハウを活かして3Dゲーム作ったり、組み込み用の3Dエンジンを作ったり、成長を続けています。
2005年のJavaOne東京でゴスリングの3Dを見た方も多いかと。
http://www.eitarosoft.co.jp/jp/news20051109-2.htm
そういったのを見て、現在の環境だとか性能だとか、シェアだとかというのは、やらない理由にならないなと思ったわけです。
http://www.eitarosoft.co.jp/jp/


ともかく、「現実的ではない」という理由で何かをあきらめることはやめようと思います。
今、TwitterのようなサイトやらYouTubeのようなサイトやらMixiのようなサイトやらやろうとしてたり、Rubyのような言語を作ろうとしていたりする人がいるとしたら、「二番煎じだから」という理由でやめる必要はまったくありません。