Що таке для програміста паніка?
Із серії парадокси програмування
Страх - це захисна властивість організму. Він допомагає швидко мобілізувати себе в хвилину небезпеки. Але він може і здорово нашкодити, якщо не викличе ніяких дій і призведе до внутрішньої паніці. У реальному світі пройти через таку паніку, думаю, доводилося кожному. Потім людина часом дивується, як він міг піддатися такому марі, з чого це він раптом злякався?
Особливо може нашкодити це особливий стан душі програмісту, де тонкість і витонченість мислення дуже важлива. Уявіть, Ви налагоджуєте програму. Терміни - урізані. Треба поспішати. Ви гранично напружені. І раптом в глибині свідомості народжується страх - вчасно не досягти мети. Потрібна думка моментально вислизає. Пальці натискають не ті клавіші, курсор мишки ніяк не потрапить на потрібне кнопку. Я Вам не заздрю. Скільки разів я на собі переконувався, що впевненість в успіху, навіть при найнесприятливіших обставин, сама підказує, що робити в кожну конкретну хвилину і буквально призводить до позитивного результату. І, навпаки, невеликий сумнів, що у тебе не вийде, не дозволить тобі побачити рішення, яке знаходиться поруч.
Дозвольте проілюструвати свої слова на двох невеликих трохи художніх замальовках.
- Вадик, я буду рівно о шостій і ні хвилиною пізніше! - Лена хвилювалася. Саме зараз вона не хотіла втрачати Вадима. Який би він не був, їй він дуже подобався.
- Минулого разу я чекав півгодини, а в четвер ти, взагалі, не з'явилася.
- Цього більше не буде, - вона навіть не помітила, що виправдовується. - Ти ж знаєш, у нас полетів сервер.
- Ну, гаразд, сьогодні нічого не полетить?
- Ні! - Лена засміялася. - Полечу я ... до тебе! .. - Вона поклала трубку і сяючим поглядом оглянула кімнату. Співробітниця Вероніка зосереджено дивилася на екран монітора. Без сумніву, вона все чула. Ну, і нехай! Головне, відносини налагоджені! Вона встала, гуляє ходою пройшлася по кабінету, різко повернулася на підборах.
- Ти сьогодні, як фотомодель, - Вероніка відірвалася від комп'ютера. Вона раптом округлила очі. - Так, зовсім забула. Тебе начальник просив зайти.
- Коли? - Насторожило Олена.
- Хвилин двадцять тому. Так, ти не турбуйся, лаяти нас нема за що.
Олена вийшла в коридор і кинулася до знайомого до болю кабінету.
В душу укралося якесь недобре передчуття.
- Олена Володимирівна, присядьте поки, - начальник на хвилину відірвався від трубки. Ще п'ять хвилин він з кимось збуджено з'ясовував стосунки.
- Добре, добре ... - Нарешті, здався він. - Зробимо, але Ви уявляєте, в які рамки нас ставите? - Хвилину він мовчав, потім з досадою сказав:
- Уявляєте, Лена, на голову сіли. Терміново їм потрібна складна вибірка з бази. Терміни - вчора. Я знаю, Ви - ас у цій справі. Давайте, поясню ...
Лена знову знайшла впевненість у собі. Вона сиділа за комп'ютером і методично вирішувала поставлене завдання. Не все відразу виходило, але вона вважала це природним. Поступово дані виловлювалися і записувалися у вихідний файл. Нарешті, в її SQL - запиті залишилося відредагувати тільки окремі штрихи. Завдання було майже вирішена. Лена зробила перепочинок і приготувала собі каву. Перед заключним ривком вона завжди так робила. Це виключало можливість заплутатися в трьох соснах.
Головне, зараз не напортачить, не упустити досягнуте. На всякий випадок треба зробити копію ... Телефонний дзвінок перервав її думки.
- Тебе чекає сюрприз, - пролунав у трубці голос Вадима. - Як поживає сервер?
- Прекрасно, - посміхнулася Олена. - А що за сюрприз?
- Зацікавилася? - Радісно вигукнув Вадим. - Потерпи, трохи залишилося. Чекаю!
Погляд Олени зупинився на настінних годинах. До кінця роботи всього годину! А їй ще треба здати результат начальнику. Вона відставила недопиту чашку з кавою і почала гарячково вводити відсутню коректуру. Здається, все готово. Старт! Запит не спрацював. Що трапилося? Вона уважно вивчила текст. Так, все в порядку! Запустила ще раз. Ніякого результату. Може, відновити з копії? Те, що було до коректури? О, боже! Копію вона тільки збиралася зробити! Головою заволоділа зрадницька думка, що вона не вкладеться.
Намагаючись звільнитися від неї, Олена почала прибирати тільки що введену коректуру. Але тут сталася несподіванка. Перервався доступ до бази ...
Вона раптом зрозуміла, що це пастка, з якої дуже важко вибратися. Спочатку не працює одне, потім виявляється інше. Всі чіпляється одне за одного і не дає вилізти з ями ...
... Лена безнадійно ще раз окинула поглядом місце зустрічі. Вадима не було. Вона запізнилася на двадцять хвилин. Його мобільний телефон не відповідав ...
Вона згадала, як системні програмісти через п'ятнадцять хвилин відновили зв'язок, як вона битих півгодини намагалася налагодити свій запит, і як, що опинилася за спиною Вероніка, вказала їй на зайвий символ в першому рядку, всього один символ, через який лопнули і без того натягнуті відносини з Вадимом ...
- Вадик, я буду рівно о шостій і ні хвилиною пізніше! - Лена хвилювалася. Саме зараз вона не хотіла втрачати Вадима. У трубці - мовчання. Це насторожувало.
- Олено, ти була не винна. - Трубка, нарешті, заговорила. - Сервер - не жарт.
Вона зіщулилась. З чого це Вадим такий поступливий сьогодні? Зазвичай він обурюється, вимагає, щоб її запізнення припинилися.
- Але справа зовсім в іншому! - Голос його знайшов рішучі нотки. Зараз почнеться! Лена навіть якось заспокоїлася. Чергова прочухан ставила все на свої місця. Але прочухана не було.
- Лена! Я ... - Вся рішучість Вадима раптом зникла. - Наташа ... - Тихо, майже беззвучно, додав він.
Вона все зрозуміла без подальших пояснень. Ось, в чому криються їх негаразди! Вона все знає про цю Наташі ... І раптом на душі стало спокійно і навіть якось весело. Не треба буде більше виправдовуватися, боятися, що вона його втратить, мучитися думкою, що він з іншого.
- Вадик, ти що притих? - Задерикувато запитала Олена. - Наташа, так Наташа! Все нормально! - Вона на кілька секунд заслухалася його нерівним диханням і поклала трубку. Лена уявляла, як він сприйняв її слова. Він очікував зовсім іншої реакції, він думав, що вона почне просити його, питати, в чому вона знову перед ним завинила.
А їй було легко. Вона скинула з себе якусь ношу, яка притискала її до землі ось уже кілька місяців.
Начальник, як завжди, лаючись на замовників, усучив термінову роботу. Результати потрібні були до кінця дня.
Олена сиділа за комп'ютером і незворушно вирішувала проблему. Вона ні про що не турбувалася. Поспішати нікуди. Все в житті ясно, в програмуванні - теж.
Коли перестала бути доступною база, вона спокійно почекала хвилин п'ятнадцять за чашкою кави, потім методично продовжила коректуру.
Перед тим, як вирубалася харчування, Лена зовсім мимоволі записала результати роботи на диск і навіть зробила копію.
Коли в коридорі почувся тупіт кількох пар ніг і дуже емоційні висловлювання, Лена, діставши маленьке дзеркальце, фарбувала губи.
Коли системний програміст, супроводжуючи кожне слово болісним зітханням, оголосив, що на сервері відмовив вінчестер, вона несподівано виявила, що всі дані для роботи знаходяться на її комп'ютері.
Коли з'ясувалося, що копія сервера в ту п'ятницю чомусь не робилася, а всі попередні дивним чином зникли, Лена з роздрукуванням входила в кабінет начальника.
Останній стояв посеред кабінету схопившись за голову. Волосся у нього було скуйовджене, з чола рясно капав піт, а з шиї звисав наполовину зірваний краватку. Навпаки, в подиві розвівши руки, застиг системний програміст.
На столі лежала кинута телефонна трубка, і з неї долинав чийсь далекий незадоволений голос.
А цим часом в дверях з'явилася усміхнена Лена зі складною вибіркою з бази даних, якій вже не існувало.