Определение. Будем называть языком ошибок правила, в обход которых пишутся программы.


Ошибки могут следовать друг за другом.


От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок ).


Две последовательные ошибки можно объединить в одну, более сильную.


Одинаковые ошибки необязятельно делать каждый раз, достаточно сделать одну, а затем обрашаться к ней по мере необходимости из любого места программы.


Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.


Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).


Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.


Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.


Формулировка вышеприведенного свойства, предназначенная для политиков. Ошибка, повторенная дважды, перестает быть ошибкой.