車輪の再発明、Don't Repeat yourself、ドッグフードを食べる、ハイゼンバグ。。。
私はIT業界・ソフトウェア業界で長く仕事をしておりますが、IT業界・ソフトウェア業界でしか使われない変わった表現があります。
これらはいずれも日本初ではなくて、おそらくアメリカ発で、IT業界・ソフトウェア業界全体で広く使われる用語です。
これらはどんな意味でしょうか?由来は何でしょうか?
ちょっと調べて紹介してみましょう。
目次
車輪の再発明 (Inventing the wheel)
車輪の再発明とは、だれかがすでに作ったことと同じようなことをするプログラムを新たに作ってしまうことです。
英語では、Inventing the wheel といいます。
「車輪の再発明をするな」という風に否定的に使われることが通例です。
私は以前、Apacheのドキュメントを読んでいると、プラグイン開発を新たに行う場合、車輪の再発明をせずに、まず、使えるプラグインはないか探してみよって書かれていました。
ただ、一方、WordPressのプラグインなどを見ていると、車輪の再発明だらけのような気もします。
オープンソースのプログラマーは他人が似たようなことをやっていても、自分でより優れたものを作りたくなるものなんでしょう。
Wikipediaには以下のように書かれていました。
車輪の再発明(しゃりんのさいはつめい、英: reinventing the wheel)は、車輪を題材にした慣用句であり、世界中で使われている。「広く受け入れられ確立されている技術や解決法を知らずに(または意図的に無視して)、同様のものを再び一から作ること」を意味する。
オーストラリアではイノベーション特許として「車輪」が発明されたことが認められているそうです。
オーストラリア・イノベーション特許2001100012号
オーストラリアでは2001年にジョン・マイケル・キーオ (John Michael Keogh) によって車輪が再発明され、特許が取得された。ただし、取得した特許は通常の特許ではなく、オーストラリアで2001年に導入されたイノベーション特許 (innovation patent) である。
キーオとオーストラリア特許庁は、その年のイグノーベル技術賞を受賞したそうです。
このあたりもIT業界らしいジョークですね。
Don’t Repeat Yourself (DRY)
DRYとは、システムやソフトウェアを構成する設定や設計に関する情報について述べたものです。
複数の場所に同じ情報が置かれていると変更時に整合性が取れなくなる危険性が高まるため、一箇所で管理して必ずそこから参照するようにすべきとする原則です。
車輪の再発明と似ていますが、DRYは主にシステムの設計で使われます。
転じて、プログラムコード中で同じ動作をするコードを何度も書かずに、一度書いたものを再利用するようにすべきとする意味で用いられることもあります。
こちらは本来は、“Once and Only Once”(OAOO)原則と呼ばれるものです。
DRYとOAOOは、同義と言っていいでしょう。
ドッグフードを食べる (Eat your own dog food、ドッグフーディング)
ドッグフードを食べる(ドッグフーディング)とは、自分たちが開発中かすでに出荷している自社製品を自分たちでも使うことです。
自社製品をドッグフードに例えているところが面白いですね。
他人に使ってもらう製品なら、自分たちがまず実験台になれっていう戒めでしょうか。
確か、マイクロソフトのWindows NTの開発チームがWindows NTを開発するのにWindows NTを使って開発していたとかいう話の中で使われていました。
ハイゼンバグ (Heisenbugs)
ハイゼンバグとは、再現が容易でない特異なバグのことです。
客先では起きるけれど、自社の開発環境では発生しないとか、あるいは、バグを調査するためにデバッグ用モジュールを使ってデバッガーを使ってテストしてみると再現しないようなバグのことです。
IT業界にいると数年に一回ぐらいこの種のバグに悩まされます。
私も過去、半年ぐらいかけて、ようやく直したものとかもあります。
Wikipediaには以下のように書かれていました。
ハイゼンベルクの「ある物事をよく見れば見るほど、他の物事をよく見ることができなくなる」という言葉に由来する
IT業界にいると納得できる表現です。
IT用語まとめ
以下のIT業界の名言・格言も読んでみてください。
↓IT用語についてはコチラ
IT用語
コメント
[…] […]