らによって、1997年に同名の論文によって普及したもので、論文では以下のように定義された。されたものであり、多様な部品から異なる個々人が開発して構成されたものである。研修を学んでいない人々によって構築されたシステムは、しばしばこのようなシステムになる。ソフトウェアを生むその他の原因は、マネージャが開発者に圧力をかけ、問題の解決のための明確な説明をする代わりに、増加分の部分的要求に基づいて、システムのコードの一部を書くように指示するような場合である。プログラムを一般的に非難しているわけではなく、少なくとも、それが開発された時に動作しているのであれば、このパターンは最も普及しているものであると指摘している。そのようなプログラムはメンテナンスが非常に難しくなっていくものである。プロジェクトに置かれたプログラマーは、そのシステムについて学習したり、何が行われているのかを理解したり、このシステムを、形式的な要件を持ったルーズな基盤として、より良く設計された代替可能なシステムのために使ったり、という対応を強く求められることになる。ベースへの移行、ファイルからデータベースといった技術変化などが、スクラッチからのスタートのための良い理由を与える。おける展性を示すために利用される。Lispでは、以下のようなことを一般的に可能にすることを示す。して保存することこれらの機能を合わせた結果、Lispは、ランタイム時に、言語実装自身が完全に書き直されうるような、異常な柔軟性を持つこととなった(例:リフレクションメタプログラミング)。プログラマーに対して、完全に新しいおよび特異な概念・語彙を開発することを許すものである。デザインの観点からすれば、非常によく構成されているものになる。これらのコードは、このコードを書いた開発者自身か、もしくは、非常に再帰的なコードのレイヤーを理解するために時間を快く費やすことができる他の開発者のみが理解可能なものになる。欠けているところがなく、シンメトリーで構成されている。あなたはこれに何も付けくわえることができない。あなたが、他のダイヤモンドをくっつけようとしたとしたとしても、より大きなダイアモンドは得られない。大きな泥だんごのようなものだ。他の泥だんごを付け加えても、それは依然、泥だんごのままだ。代わりに呼ぶことを主張している。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。本文の横幅制限を有効化/。