プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

車輪はどんどん再発明しよう

 で、最近Twitterで私に絡んできた人がいました。「Perlがあるのに、なんでRubyを作ったんだ」と言うんですね(笑)。PerlがあるのにRubyを作るなんて、重複だし、車輪の再発明だし、何より有限の労力の無駄遣いだというんですよ。

Rails Hub情報局: 「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え

ぼくは車輪を再発明するのって好きだよ。よく作る :)

車輪の再発明はいいか悪いか」って議論があるけど、従来の車輪って何なのか。何が出来て何が出来ないのか、を見極めることが大事なのだと思う。業務用アプリを作っていて、すでに同じようなフレームワークを作ろうとしている時。今までと違う新たな可能性を模索してプロトタイピングしてる時。それを使う状況によっても判断基準は異なるよね。

ぼくが車輪の再発明を好きなのは

自分で作ってみることでいい面と悪い面が見えてくること。実装してみると、なぜこのようなデザインになっているのか、理解が深まることが多い。自分の知識や技術力も高まって、別のところでも役立つしね。

引用先にある処理系の話だと、プログラミング言語はどんどん再発明すべき。プログラミング言語はまだまだ未完成だと思うから。「PerlがあるからRubyなんて作る必要ない」というのは「C++があるからJavaなんて作る必要ない」ってことじゃないかな。

そもそも車輪だって昔と全く同じじゃない。今でも性能向上のため改良が続けられてる。もう完成されていて、改良すべき点がないものなんて、すでにモノとして終わってるんじゃないの!? :)

イノベーションって

全くないところから生まれるんじゃなくて、従来の技術の上に付加価値をつけたってものがほとんどだと思う。最初にiPhoneを見た時「iPodに電話付けただけじゃん」って思ったけど、それが間違いだったってことは、すぐに判明した。物事を一面からだけ見ちゃダメなんだね :)