車輪の再発明
すでにある物を一から生み出すよ
プログラミングの話で、たまに出てくるよ
わざとの場合もあれば、わざとじゃない場合もあるよ
簡単に書くよ
車輪の再発明(読:シャリンノサイハツメイ 英:reinventing the wheel)とは
「あっ、それを作っちゃったの?うん……努力は認めるよ……。でもね、昔、それと同じものを作った人がいてさ。それは、もう世の中にあるんだよね」のこと。
もう少し真面目ぶって書くと
すでに世の中にあって一般的に知られている物(、技術、考え方など)を もう一度 一から生み出すこと
です。
詳しく書くよ
別にIT用語というわけでも ないですけどね。
なんとなく深いことを言ってるように聞こえる単語の組み合わせが、おっさんITエンジニアの琴線に触れるようです。
できれば覚えてあげてください。
知っていても大して役には立ちませんが、知らないと思わぬ恥をかきかねない、豆知識的な用語だったりします。
それでは、いってみましょう。
ズバリ!
「あっ!それって、もう世の中にあるよ?」な物とか技術とか考え方とかを、もう一度 一から自分の手でチマチマと作り出す行為
が「車輪の再発明」です。
本来はITと無関係な慣用句ですけどね。
主にプログラミングの分野で「あー!そんな処理を自分で書く必要ないよ!前に作って部品化したのがこっちにあるんだから、こっちを使えよ!」な説教をするときに、ちょいちょい出てくる言い回しです。
例えば、そうですね。
ピヨ太君が「ピヨ太専用ピヨピヨ顧客データ登録プログラム」を作ることにしました。
ピヨ太君が社長を務めるピヨピヨカンパニーの顧客情報をコンピュータで管理しようと思ったのです。
ピヨ太専用ピヨピヨ顧客データ登録プログラムは
1.データベース(DB)に接続する部品
2.顧客データをデータベースに入れる部品
3.データベースから切断する部品
の3つの部品で構成されます。
ピヨ太君は心を込めて3つの部品を作り上げました。
部品ができあがったら合体させます。
これでピヨ太専用ピヨピヨ顧客データ登録プログラムの完成です。
ピヨ太君がピヨ太専用ピヨピヨ顧客データ登録プログラムの完成に満足している頃、ピヨ子さんが「ピヨ子印のピヨピヨお菓子情報登録プログラム」を作ろうと考えました。
ピヨ子さんは、自分が食べたスイーツの履歴をコンピュータで管理しようと思ったのです。
ピヨ子印のピヨピヨお菓子情報登録プログラムは
1.データベース(DB)に接続する部品
2.お菓子データをデータベースに入れる部品
3.データベースから切断する部品
の3つの部品で構成されます。
ピヨ子さんは心を込めて3つの部品を作り上げました。
部品ができあがったら合体させます。
これでピヨ子印のピヨピヨお菓子情報登録プログラムが完成しました。
ピヨ子さんは、ピヨ子印のピヨピヨお菓子情報登録プログラムの完成に満足しています。
……が、ここでピヨ太君から哀しいお知らせが入りました。
なんと!
3つの部品のうち
1.データベース(DB)に接続する部品
3.データベースから切断する部品
の2つはピヨ太専用以下略の部品と全く同じだったのです。
どうやらピヨ子さんはピヨ太君が作った部品と全く同じ部品を作ってしまったようです。
それだったら、ピヨ太君の部品をパクった方が、話が早かったですよね。
この話における、ピヨ子さんの「やっちまったな……」が「車輪の再発明」です。
すでに世の中にあるものを もう一度 一から生み出す行為を指します。
ちなみに「車輪の再発明」が必ずしも悪いとは言えません。
何を目的としているか次第です。
例えば、勉強目的であれば、どんどんやるべきでしょう。
先人を真似て学ぶのは良いことです。
権利関係で使えない場合も考えられます。
そんなときは、すでに存在しても同じ物を作り出す必要があります。
あとは、後から自分で手を入れたい場合ですかね。
「これを使えば、いーや!」と思っても、後から「あっ、こんな処理も必要なのか。だったら、この部品も変更しないとな」となることは多々あります。
それを想定すると、中身が把握できていて、変更しても問題がない状態にしておく必要があるでしょう。
そうなると「探すより作った方が手っ取り早いな!」という結論になったりもします。
反対に、それらの特別な事情がなければ避けた方が良いと思います。
理由は
1.時間がもったいないから
2.管理が大変になるから
です。
欲しい物がすでにあるならば、それを使った方が早いでしょう。
一から作る時間が、もったいないです。
同じ物が2つも3つもあったら管理が大変です。
単純にデータベースに接続するだけの部品が2つも3つもあるシステムなんて関わりたくもないです。
一言でまとめるよ
まぁ「車輪の再発明」って単語が出てきたら「すでにあるものを、もう一度 生み出す行為なんだな~」と お考えください。






