По поводу случившейся со мной недавное консультации по програмированию, (консультацию как не странно оказывала я, а не мне) и всвязи с тем что свежи еще воспоминания о курсовой, хочу поделиться спецификой профессии.

Не люблю вставлять картинки, но на мой взгляд эта того стоит!

Именно так мы и работаем. Людям не чуждым хотя бы основам програмирования (вот и я в их числе, не чуждая основам - не более того) юмор будет, я полагаю, близок и понятен...



И в качестве дополнению к картинке (ищи где-то ниже) хочется опубликовать следающее. (Истинное осознание верности всего ниже изложенного пришло ко мне только после 11-ти часового сеанса отладки полностью написанной курсовой своих друзей Мымрика и Зюзюки, в которой отказывалось работать не то чтобы нормально, а просто работать решительно все!)



Теория ошибок.


Ошибки так же неисчерпаемы, как и атом.


Аксиома: В любой программе есть ошибки.

Закон пропорциональности: Чем более программа необходима, тем больше в ней ошибок.

Следствие: Ошибок не содержит лишь совершенно ненужная программа.

Фундаментальный закон теории ошибок: На ошибках учатся.

Следствие 1: Программист, написавший программу, становится ученым.

Следствие 2: Чем больше программист делает ошибок, тем быстрее он становится ученым.

Следствие 3: Крупный ученый-программист никогда не пишет правильные программы.

Замечание: На то он и ученый.

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

Закон находимости ошибок: Программист может обнаружить ошибку только в чужой программе.

Следствие: Ошибке не все равно, кто ее обнаружит. (Вот что точно, то точно!)

Совет начинающему программисту: Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.

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



Язык ошибок.


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

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

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

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

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

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

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

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

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



Взаимодействие ошибок с базовой операционной системой.


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

Запросы операционной системы к ошибкам ошибками могут игнорироваться.

Запросы ошибок к операционной системе игнорироваться не могут.

При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.

На ЭВМ с параллельной архитектурой может выполнятся несколько ошибок одновременно.



Отсюда вывод: Глючная программа тоже имеет право на инстоляцию.



Объектно-ориентированные программисты всех стран - инкапсулируйтесь! (с)