車輪の再発明を恐れない

高木です。こんばんは。
本当は今朝に投稿しようと思っていたのですが、こんな時間になってしまいました。

IT業界では、古くから「車輪の再発明」あるいは「車輪の再開発」という比喩表現が使われてきました。
簡単にいえば、「すでにある技術を知らずに、あるいはあえて使わずに、同様のものを再び作ること」を揶揄した表現です。

確かに、既存のものが使えるのであれば、それを使えば無駄なく効率的に計画が進められるような気がします。
ところが現実にはそうもいかない場合が多いのです。

まずは比喩に使われている「車輪」について考えてみましょう。

昔の車輪といえば、荷車であったり、馬車や牛車の車輪が主だったのではないでしょうか?
それが現在では、自転車もあれば、乗用車もあり、あるいはトラックなどの大型車や、軍用の装甲車、月面や火星探査のための車両まであります。
それらに使われている車輪はそれぞれ別のものであり、「荷車の車輪があるからそれでいいじゃないか」ということには決してなりません。

一方で、「車輪」という概念そのものを再度発明し直すかというと、これは無駄以外の何物ではありません。
もちろん、車輪の代替手段、あるいは応用であれば意味があります。
具体的には、履帯(キャタピラ)やホバークラフトなんかがそうですね。
でも、それらは決して「車輪の再発明」ではありません。

ソフトウェアにおいても、「スタック」や「キュー」、あるいは「スレッド」などの概念を改めて再発明するのは無駄でしかありません。
しかし、その概念を具現化するための実装は、必要に応じてさまざまなものを生み出す必要があることでしょう。

開発言語やプラットフォームに合わせるために実装し直すこともあるでしょう。
あるいは、用途別にチューニングするために実装し直すこともあるでしょう。
ライセンスや特許等を回避するためかもしれません。

そうした適切な状況であっても「車輪の再発明」を忌避する人たちはいます。
硬直化した考え方からはろくなものを生み出すことができないんですけど。
まあ、そうした人たちは、ものを生み出すというより、既存の部品を糊づけする程度の作業しかできないのかもしれませんね。

私個人としては、誰かが作った便利な部品を使う立場より、便利な部品を作る誰かになりたいと思うほうです。
どちらが良いとか悪いとかではなく、役割分担なのだと思います。

というわけで、「車輪の再発明」という揶揄に負けることなく、いろいろなものを作っていけたらと考えています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です