Статья о том как информатики шутят

Теория ошибок
Ошибки так же неисчерпаемы, как и атом
Аксиома. В любой программе есть ошибки.
Следствие 1. Программист, написавший программу, становится учёным.
Следствие 2. Чем больше программист делает ошибок, тем быстрее он становится учёным.
Следствие 3. Крупный учёный-программист никогда не пишет правильные программы.
Замечание. На это он и учёный
Указание начинающему программисту.
Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту, он поправит ошибки в трансляторе.
Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе.
Следствие. Ошибке не всё равно, кто её обнаружит.
Совет начинающему программисту.
Никогда не исправлять найденные ошибки, ибо это повлечёт за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
Определение. Будем называть языком ошибок правила, в обход которых пишутся программы.

Язык ошибок.

Ошибки могут следовать друг за другом. От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок). Две последовательные ошибки можно объединить в одну, более сильную.
Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.
Ошибки могут образовывать циклы. Наиболее устойчивый из них – бесконечный.
Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).
Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются чёткой ошибкой и ошибкой не являются.
Свойства чётности ошибок. Если написанная программа сработала правильно, то это значит, что во время её работы выполнялось чётное число ошибок или программист не понял задание.

Взаимодействие ошибок с базовой ОС.

Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
Запросы ОС к ошибкам ошибками могут игнорироваться.
Запросы ошибок к ОС игнорироваться не могут.
При работе с файлами могут пользоваться файловой системой базовой ОС и её ошибками.
На ЭВМ с параллельной архитектурой может выполняться несколько ошибок4 одновременно.

Системные программы.

Системные программы облегчают процесс написания прикладных программ и их ошибок.
Определение: Тестирование – это процесс нахождения ошибок в тексте.
Хороший текст должен содержать ошибки, компенсирующие их нехватку в тестируемой программе.
Языковый редактор призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удаётся обнаружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет.
Программа – транслятор, предназначенный для перевода программы с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки, которые содержались в описании, переводятся безошибочно.
Заключительный совет тем, кто до него не добрался.
Для начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.















Важно помнить -
НЕ ОШИБАЕТСЯ ТОТ,
КТО НИЧЕГО НЕ ДЕЛАЕТ!
Arial BlackИнформатики шутятArial Black