To přeháníte. Ty zdánlivě složité pojmy lze přeložit do neformálního jazyka:
1) najdi-nahraď a nahrazuj tolikrát, kolikrát to lze nahradit bez ohledu na okolní symboly (CFG)
2) při tvorbě kódu občas přehoď výhybku a vytvářej kód jinak (automaty)
3) výsledné kousky kódu ihned nevypisuj, ale někam si je na chvíli schovej (výstupní fronty)
4) zapamatuj si předchozí stav a někam si na chvíli odskoč (zásobníky)
Jsou dva extrémy:
Není dobré se dnes a denně přehrabovat v kódu, který by klidně mohla udržovat i cvičená opice (mrháte svůj potenciál).
Není dobré generovat kód, který se téměř nikdy nemění (mrháte svým úsilím a časem).