Если за две минуты омлет еще не готов, у заказчика два выбора - подождать или съесть его сырым.
Когда кажется, что все уже работает, все объединено в систему - вам еще осталось работы на четыре месяца.
Генерация случайных чисел - слишком важный вопрос, чтобы оставлять его на волю случая.
Я не знаю причины, по которой нам не следует этого делать, но, возможно, позже мы придумаем какую-нибудь.
Ошибка? Это не ошибка, это системная функция.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
На пустом диске можно искать вечно.
Если отладка - процесс удаления ошибок, то программирование должно быть процессом их внесения.
Вы уже дошли до состояния, когда у вас нет времени, чтобы разрешить те проблемы, которые отнимают у вас все время?
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
Теория ошибок
Ошибки так же неисчерпаемы, как и атом.
Закон пропорциональности. Чем более программа необходима, тем больше в ней ошибок.
Фундаментальный закон теории ошибок. На ошибках учатся.
Указание начинающему программисту. Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.
Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе.
Совет начинающему программисту. Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
Язык ошибок. Ошибки могут следовать друг за другом.
От перестановки двух эквивалентных ошибок результат не меняется
Две последовательные ошибки можно объединить в одну, более сильную.
Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.
Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).
Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
Формулировка вышеприведенного свойства, предназначенная для политиков. Ошибка, повторенная дважды, перестает быть ошибкой.
Взаимодействие ошибок с базовой операционной системой.
Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
Запросы операционной системы к ошибкам ошибками могут игнорироваться.
Запросы ошибок к операционной системе игнорироваться не могут.
При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновременно.
Системные программы облегчают процесс написания прикладных программ и их ошибок.
Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается обнаружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет.
Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки, которые содержались в исходном описании, переводятся безошибочно.
Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.
Профессиональный программистский фольклор