「車輪の再発明」

プログラミングに関する用語では、車輪の再発明という言葉があります。


C++のお蔭でソースコードの再利用が進んでいますが、
ブラックボックスのまま利用しているわけで、実はこれは恐ろしいことだと気づいていないわけです。
ブラックボックスで塗り固められたソフトウェア、もしそのブラックボックスから煙が出てきたらどうしますか?
貴方は中身が何で動いているのか分かりません。
水を掛ける事が正しいとは言い切れません。消火器も普通の消火器でよいか分からないのです。
なぜなら中身は油が原料かもしれないし、電気かもしれない。
いや水素かもしれません。


これをプログラミングに置きかえれば、ブラックボックスを信用したばかりに、
システムがダウンする可能性があるわけです。
エンジニアはその原因を探りますが、
その原因がブラックボックス内にあると分かったところで、
まずそのブラックボックスの理解という作業が必要になり、
結局ブラックボックスの理解に時間を費やす事になります。
その結果、得意先に多大なる迷惑、損害をこうむらせる可能性が高いわけです。


私は車輪の再発明はじゃんじゃんやるべきだと思います。
車輪を作れないと、つまり車輪の構造を知らないと、欠点も分からない。
欠点が分かれば、その欠点を踏まえた新しい車輪が作れるはずです。


車輪すら作れない人が車輪に文句を言う。これも現実社会では普通です。
Mona」というOSを作っているひげぽん氏も最初はそう言われていましたね。
私は何を言われても趣味だし、車輪の再発明ほど楽しいものはないという考えですので、
全く痛くも痒くもありません。


(ここからは上とは完全に無関係ですよ。)


ELF形式のファイル、今までブラックボックスだったのが、
自分でメモリにロードして動いたときは、脳みそが「ブルブルブルブル」って震えましたよ。
久しぶりにプログラミングの楽しさを見つけました。
別に本に書いてあるモノをそのまま書いた訳ではなく、
英語のELF仕様が書かれたPDFファイルを読んで勉強しました。
だから凄く嬉しかったです。