Jobb mint a tobbi, aki csak egereszni tanul, de nem erti, hogy mi, miert es hogyan tortenik. A legtobb mai programozo egyszeruen nem tudja, hogyan mukodik egy szamitogep belulrol. Pedig ha valaki tudja, hogy milyen alapkepletekbol es alap algoritmusokbol epul fol egy gep (tranzisztor szintig), akkor sokkal jobb programokat tud irni, gyorsabban es kevesebb hibaval.
Egy szamitogepnek alapvetoen eleg az alap matematikai/logikai muveletek egy reszet (pl. osszeadas, es, vagy, kizaro vagy) ismernie, az alapveto memoria kezelesi utasitasokat (mentes, toltes) es a felteteles utasitas atadast (ha akkor ugras). Ezekbol egy jo programozo barmit kepes felepiteni, meghozza akar gepi kodban is. A gyakorlatban ezekre ma mar nincs szukseg, de a jo programozo minden egyes fuggvenyhivas mogott latja a teljes algoritmust, akar a rendszer tranzisztorainak kapcsolasi mintajaig.
A gyakorlatban a progamozok nagyobbik reszenek nem kell jonak lennie, eleg ha betanitott munkaskent kepes kodot osszekattogtatni. Viszont ha valaki tenyleg jo akar lenni, vagy legalabbis jobb mint a tobbiek, akkor nem art alaposabb tudasra szert tennie. Pl. en regebben epitettem egy sajat tervezesu kis szamitogepet ic-kbol, sajat assemblerrel, forditoval, minimalis os-el, es egy demo pong-al, tisztan csak probakeppen, hogy tenyleg ertem-e az elmeletet. De ugyanigy vagyok a robotokkal is, csak azert raktam ossze egy primitiv ketlabut, hogy kideritsem tudok-e olyan elven jaro robotot kesziteni, amilyen a japan asimo. (es viccesen nez ki amikor maszkal az asztalon) A szoftveres hasonlat mintajara, az aki mindig a kulso segitsegre tamaszkodik, legfeljebb lego-bol vagy egy robot kit-bol tud dolgozni, de aki erti is, hogy mirol van szo, az barmilyen technologiat kepes megfeleloen felhasznalni.