І я теж Шерлок Холмс.

Опубліковано: 2009-09-28   08:42:19

WorkОстанні два дні мав змогу повноцінно насолодитись розробкою та відлагодженням коду на C++. І тут зрозумів, який же драйв я отримую від цього процесу. Ніяк інакше це назвати не можна. Причому це задоволення не покидало мене протягом всього часу роботи з кодом: від того моменту, коли я написав ті два десятки рядків, що читали вхідні дані з файлу та виводили їх на екран, до того часу, коли я запустив останнього разу цю невеличку програму та побачив результати її виконання, саме так як це й мало бути. Навіть після цього разом з задоволенням від закінченої справи та очікуванням на виплату за зроблену роботу відчув ще щось.. Немов дочитав цікаву книжку. І так само, як на останніх сторінках захопливого твору, якось не хотілось щоб це невеличке диво закінчилось.

І це C++, відомий досить сладною роботою з пам'яттю, вимогливістю до написання коду, готовий в будь-який момент сказати Segmentation fault, без яких би то не було пояснень. Ніякого трейсу стеку, чи хоча б невеликого повідомлення з вказівкою на рядок, де цей самий fault вискочив. І тут починається виведення додаткової інформації по всьому коду, з метою виявлення місця де виникла помилка, покрокове виконання програми за допомогою gdb (для тих хто не знаю, консольний відлагоджувач, досить потужний та гнучкий, хоча й незвичний)

Раніше я не любив процес відлагодження коду. Як і ще десятки програмістів. Особливо така нелюбов стосується початківців. Так, написання коду, створення ідеї, ні з чим порівняти неможливо. Коли з рядків коду збирається щось... що працює. Звісно класне відчуття, коли зі шматочків збирається щось величеньке, в ньому з'являється те, що можна назвати архітектурою. А яке задоволення, коли з часом в написання коду приходять шаблони, рефакторінг та "ефемерна архітектура" початківця, перетворуються на щось більш логічне та елегантне.

Але й у відлагодженні коду з часом я почав бачити свій кайф. Чому так багато людей читають детективи? Чому стільки людей фанатіють від серіалу про доктора-наркомана? Чому в часи цілковитого 3d все ще виходять простенькі іграшки-головоломки і мають вони вельми велику популярність? Та все ж тому, що це дозволяє випробувати свій розум, кинути виклик невідомій проблемі та подолати її.

Однак такий виклик потребує наполегливості, досвіду, постійної практики та розвиненої інтуіції. Тому так початківці й не люблять відлагоджувати код - всі вищеперелічені здібності вимагають тренувань. Однак, і кожна спортивна чи інтелектуальна гра також вимагає докласти певних зусиль, щоб досягнути якогось рівня та отримувати задоволення значно більше ніж на початку, коли й по м'ячу влучити складно, не то щоб забити гол. Різниця в тому, що по телевізору не показують чемпіонат Європи з програмування. :)

Кожному своє. І то справа кожного програміста, чи отримувати задоволення від написання самого коду, тестів для коду (теж дуже класна гра), підготовки даних, рефакторингом, оптимізацією і як кінцевого результату повноцінної робочої програми. Особисто я отримую і тому дуже щасливий :)

Коментарі: 0
 

Коментарі:

Додати коментар

user

email

url

text

Повідомляти про новікоментарі