Помилки так само невичерпні, як і атом. Аксіома — В будь-якій програмі є помилки. Закон пропорційності — Чим більше програма необхідна, тим більше в ній помилок. Наслідок — Помилок не містить лише зовсім непотрібна програма. Фундаментальний закон теорії помилок — На помилках вчаться.

Наслідок 1.
Програміст, який написав програму, стає вченим.

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

Наслідок 3.
Великий вчений-програміст ніколи не пише правильні програми.

Зауваження.
На те він і вчений.

Вказівка починаючому програмісту.
Якщо ви з першого разу зуміли написати програму, в якій транслятор не виявив жодної помилки, повідомте про це системному програмісту. Він виправить помилки в транслятору.

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

Наслідок.
Помилку не все одно, хто її знайде.

Рада починаючому програмісту.
Ніколи не виправляйте знайдені помилки, бо це спричинить за собою появу невідомого числа незнайдених. Краще опишіть їх у супровідній документації як особливість програми.

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

Мова помилок

Помилки можуть слідувати один за одним.

Від перестановки двох еквівалентних помилок результат не змінюється (комутативність еквівалентних помилок ).

Дві послідовні помилки можна об’єднати в одну, більш сильну.

Однакові помилки необов’язково робити кожен раз, достатньо зробити одну, а потім обрашаться до неї в міру необхідності з будь-якого місця програми.

Помилки можуть утворювати цикли. Найбільш стійким з них — нескінченний.

Помилки можуть викликати один одного і самі себе (рекурсивность помилок).

Помилки допускають багаторазове вкладення одна в одну. Дві однакові вкладені помилки називаються парної помилкою і помилкою не є.

Властивість парності помилок.
Якщо написана програма спрацювала правильно, то це означає, що під час її роботи виповнилося парне число помилок або програміст не зрозумів завдання.

Формулювання вищенаведеного властивості, призначена для політиків.
Помилка, повторена двічі, перестає бути помилкою.

Взаємодія помилок з базовою операційною системою.

Під час виконання помилки мають найвищий пріоритет. Перервати виконання помилки може тільки інша, більш активна помилка.

Запити операційної системи до помилок помилками можуть ігноруватися.

Запити помилок операційної системи не можуть ігноруватися.

При роботі з файлами помилки можуть користуватися файловою системою базової ОС та її помилками.

На ЕОМ з паралельною архітектурою може виконуватися кілька помилок одночасно.

Системні програми
Системні програми полегшують процес написання прикладних програм і їх помилок.

Визначення.

Тестування — це процес знаходження помилок у тесті. Хороший тест повинен містити помилки, компенсуючі їх нестачу у досліджуваної програми.

Мовний редактор, який покликаний уберегти програміста від синтаксичних помилок, дозволяє вносити в програму вельми хитромудрі помилки, які не вдається виявити ні транслятором, ні відладчиком. Звичайний текстовий редактор таких можливостей не надає.

Програма-транслятор, призначена для перекладу програм з мови високого рівня на машинну мову, при перекладі породжує помилки. Помилки, які містилися у вихідному описі, переводяться безпомилково.

Заключний порада тим, хто до нього добрався.
До початку роботи над проектом слід ретельно продумати всі необхідні помилки і зв’язку між ними. Це значно спростить роботу над помилками в самому проекті.

-Служба технічної підтримки «Merlin, Inc». Чим можу допомогти?
-Вчора я придбав у вас меч…
-Вітаю, сер, ви зробили правильний вибір.
-Він не працює.
-Що значить — не працює?
-Він не рубає голову дракону.
-Ви прочитали інструкцію, сер?
-Шляхетний лицар не зобов’язаний вміти читати! Але мій зброєносець про-
читав мені вголос два рази.
-Ну добре, сер. Ви вийняли меч з піхов?
-Так.
-Це точно? Перевірте, будь ласка.
-Вийняв, кажуть же вам!
-Добре, сер. Тепер перевірте гостроту леза.
-Ой!
-Вам не слід було робити це пальцем, сер.
-Причому тут палець? Я зробив це мовою. Я завжди перевіряю так ост-
роту страв.
-Бачите, сер, меч влаштований трохи інакше, ніж страви, які
ви пробували за обідом. Термін «гострота» має тут значення…
-Не морочте мені голову! Я не зобов’язаний розбиратися у ваших технічних-
ких термінах. Я користувач, а не спеціаліст по залізу. Краще ска-
скажіть, чому він не працює!
-А раніше він працював?
-Не знаю, я купив його тільки вчора!
-Добре, сер. Ви що-небудь робили з ним?
-Ні!
-Ви впевнені в цьому?
-Ну, я тільки вийняв його з піхов.
-Ви не намагалися точити його самостійно?
-З якого дива?
-Вам краще знати, сер. Може бути, ви намагалися встановити на нього
нові заклинання?
-Ні, я користуюся стандартними, які поставляються разом з мечем!
-Може бути, це псування, сер? Як давно ви оновлювали вашу святу по-
ду?
-Тільки позавчора залив свіжу версію!
-Зрозуміло, сер. Тоді подивіться, чи немає поблизу неэкранированных
джерел чорної магії? Вони можуть створювати перешкоди в роботі меча.
-Які ще джерела, я в пустелі!
-Не треба нервувати, сер.
-Я не нервую, чорт забирай!
-Тоді чому ви так тяжко дихаєте?
-Тому що за мною женеться дракон.
-А, значить, дракон поблизу?
-Так, він вже зовсім поруч!
-Чудово, сер. Передайте йому трубку.
-А якщо він відкусить мені руку?
-Вибачте, сер, але медичні проблеми поза нашою компетенцією.
-Наступного разу я буду купувати меч в «Morgana, Ltd»!
-Ну добре, сер. Опишіть хоча б, як виглядає дракон.
-Ну, він такий жовтий… з вусами…
-Зрозуміло. З цього треба було починати, сер. Це неліцензійний дра-
кон, китайська підробка.
-І?
-Прочитайте ліцензійну угоду, сер. «Merlin, Inc» не гаранто-
рілої сумісність з несертифікованими пристроями.
-І що мені тепер робити?
-Не користуватися надалі дешевими no-name драконами, сер.
-Схоже, це він зараз мною скористається! Ааа! Ні! Ааааа!..
-Сер? Сер, з вами все в порядку?.. У будь-якому випадку, компанія
«Merlin, Inc» дякує вам за співпрацю!

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

— Мишка у вас якась!..
— Яка?
— Та я ейным курсором весь екран подряпав!

Напевно, багато хто бачив рекламу стільникового телефону, на який можна
записати будь-який звук в якості дзвінка? Тітка по телевізору записала крик
придавлений фермером індички. Один мій знайомий додумався до абсолютно
іншого.
Сиділа компанія хлопців і пила пиво. Один з цієї компанії недавно в
Москві придбав мобільний телефон з вищевказаної функцією. І необхідно
відзначити, що сильно він цим телефоном випендрювався, сильніше нікуди.
Далі пива було випито не мало і выпендрястый пішов у туалет, а телефон
свій крутий залишив у кімнаті. Як по команді один з кмітливих
хлопців вистачає цей телефон і спритно хапає його кнопками, потім,
(пардон) підносить його до свого заду і видає протяжний і гучний СТОГІН з
всіма музичними переливами та знаками пунктуації. Клацає по кнопках
труби і кладе її на місце. Всі мовчать з дуже широко відкритими очима
і ротами. Через 2 секунди всі вибігають на кухню від зростаючого аромату
звукозапису душевної телефонної мелодії. Далі аромат провітрили, допили
пиво і розійшлися.
Думаєте, всі?? НІ, ЦЕ БУВ ЛИШЕ ПОЧАТОК!!!
На наступний день крутий хлопець з крутим телефоном ввечері буквально
влітає в квартиру, де було пивопитие і з порога кричить:
— Що за хе%ню ви сотворили?
Загалом, розібралися, і він повідав нам історію!
(Від його особи розповідь) Їду я сьогодні вранці в маршрутці, після вчорашнього
не виспався і кимарю. Раптом крізь дрімоту чую дивний звук,
прочиняю очі: навпроти мене сидить виряджена дівиця і витріщається на
мене, я їй підморгнув і хотів знову закемарить і тут чую звук, який
з яким-небудь іншим переплутати складно. І до мене повільно доходить, що
звук іде з мене, з куртки. Першою думкою було LВсе, дах зірвало, вже
здається, що куртка пер%іт як здоровий мужик, нажравшийся бобових.
Після чого я судорожно риюся в куртці і витягаю відчайдушно пукающий
телефон. У цей час не витримує водій, зупиняє машину і
гучним голосом:
— Чи дристло виходить або нехай заткне свою жо%у пальцем.
Весь народ починає іржати, саме іржати, і дивитися на мене, а я, відповідаючи
на дзвінок, встигаю крикнути, що я передзвоню пізніше. І судорожно вимикаю
мобільник. І кажу водієві:
— Він більше не буде!!!
На що водій, мовляв, уймі свого заср%нца, а то дихати нічим, очі
ріже. Дане зауваження викликає таку хвилю сміху, що я не витримую
і линяю з маршрутки під хвилі реготу.
Підсумок: запізнення, непогане веселощі для людей, і висновок: ну до чого ж
техніка дійшла!!!
За достовірність закінчення не ручаюся, самому розповіли.