Geçtiğimiz 30 + yıl yazılım mühendisliği pratiğinde öğrendiklerini bir hayli yeni yazılımın ilk gelişimini hızlandırabilir formu "teknoloji X, ancak hakkında çok veya daha fazla zaman düşünme olarak harcama yoksa nasıl ve ne zaman kullandığın gibi onu kullandığında, uzun vadede başvurunuzu daha fazla zaman ve çaba harcamanız için size emredecek şekilde teknik borç bataklığı haline getirecektir. ”
Bu ustura altında bulunan teknolojiler şunlardır: el-kodlu meclis dili, derleyiciler, tercümanlar, prosedür kütüphaneleri, zorunlu programlama, fonksiyonel programlama, nesne yönelimli programlama, manuel hafıza tahsisi, çöp toplama, statik tipler, dinamik tipler, sözlük kapsamı, dinamik kapsam , "güvenli" işaretçiler, "güvensiz" işaretçiler, bir dil kavramı olarak işaretçilerin yokluğu, ikili dosya biçimleri, yapısal işaretleme dosya biçimleri, makrolar, şablonlar, makro ve şablonlardan kaçınma , paylaşılan bellek, mesaj iletme, konular, koroinler, zaman uyumsuz olay döngüleri, merkezi uzaktan servisler, dağıtılmış servisler, yerel olarak kurulu yazılımlar, diziler, bağlantılı listeler, karma tablolar ve ağaçlar.
Yukarıdaki listedeki öğelerin çoğunun, birlikte bilinen çözüm alanını tüketen gruplar halinde gelmesi gerçeği çok kasıtlıdır ve kendi başına bir şey söylemelidir. Bir iddia olabilir ancak , kesin geniş kapsamlı ilk Z3 blok yapılandırılmış (spagetti kod aksine) programlama ve hafıza koruma (çocuk, do şimdiye anahtarlamalı beri biz aldık praksisinde iyileştirmeler değil özledim Bir yazım aracının tüm bilgisayarımı çökertebileceği günler).