А тут ещё прикол в том, что если твою задачу не получается удержать в голове — самое время её декомпозировать, вне зависимости от языка, а то начинается: "ООП не нужно потому что все вокруг только и делают что наследуют по десять тысяч раз, и это в голове не помещается" и "DOD не нужно потому что всё вокруг плодится на миллиард подсистем которые в голове не помещаются, и я хз где оно первым загоняется а где перезаписывается, и вообще дублей дофига, а ещё я не заметил как перекрыл подсистемы и они теперь коллидируют и конфликтуют, и я хз какие и с кем".
Ну, то есть компилятор в принципе не очень нужен, если ты предельно упрощаешь вещи. Там особо не откуда взяться ошибкам кроме разве что опечаток, код прост, прям и строен ))