Някога пишех на Паскал… (за кода)

Спомням си, че когато бях малък, не разбирах нищо от компютри, но много ми се искаше. Попаднах на едни стари списания (PC World или нещо подобно?), в които се говореше за компилатори, програмни езици и какво ли не още. Така научих, че да направиш програма за компютъра било да пишеш. Мисля, че споделих това откритие с нашите, но те очевидно не се впечатлиха колкото мен. Чувал съм, че има книги с имена като „Програмиране за 9-годишни“. Аз обаче не получих такава и си останах неук още дълго време.

Програма на C

В училище учехме Паскал и честно казано не ми беше много интересно. Задачите бяха, по мое мнение, ужасно тъпи и безсмислени. Такива щяха и да си останат, докато не се появи тя. Тя беше умна и което е най-странното, беше била около мен вече години без да я забележа. Трябваше да я впечатля и как, мислите, се впечатлява умно момиче? Точно така, с Pascal!

Започнах да решавам задачи, свалих си Free Pascal и скоро заседнах. Мое помагало тогава стана един форум в интернет. Не кой да е, ами 4chan. Там имаше раздел за програмиране и аз като не нагъл човек публикувах каквото бях написал до момента и питах защо не ми се получава. Сигурно всички знаете вица „Питаш в американски форум, те ти отговарят. Питаш в руски форум – отговарят ти и на свой ред те питат нещо. Питаш в български форум и всички ти казват колко си тъп.“ Може да има и нещо вярно в това, но никъде няма да ти обърнат внимание, ако просто поискаш да ти направят домашното. Нужно е да видят, че си го мислил, че си се опитал и че не си успял, но искаш да се научиш.
Най-полезния съвет, който получих от 4chan, беше да използвам отстъпи, за да е четлив кодът. Дотогава ни бяха учили винаги да започваме от началото на реда. Изведнъж програмите станаха доста по-разбираеми.

После изрешавах всички задачи, изкарах шестица по програмиране, написах (наченки на) книга-игра и най-вече грабнах момичето – макар че това май не стана точно заради писането на код.

Да пиша се оказа много приятно. За мен най-хубавата част е това, че можеш да вмъкваш част от себе си в кода. В една програма бих сложил всякакви интересни неща, които ми хрумнат, ей така, докато си пиша. И после ще се радвам на получения резултат, знаейки, че това е моята програма. Че друг не би я направил така.

Не би? Писането на код е работа като работа. Има си стандарти. Конвенции. Това не е като да съчиняваш стихове, където, както казал беше някой поет, чието име не мога да си спомня в момента, граматиката може да се пренебрегне, за да имат думите своята сила. Красивият код е добре структурираният, изчистен, добре документиран и придържащ се към ред други правила. А една програма трябва да прави това, което ѝ е задачата. Не може да има скрита поддръжка на емотикони, например (като едно мое творение, която общо взето беше нещо като форма за контакт с претенции).
Така мислят даже от Майкрософт и затова в продуктите им открай време няма великденски яйца.

Code is Poetry - WordPress

Всичко това обаче не означава, че във вашата програма не може да има и помен от изобретателност или че ако я има, тя се простира до хитрото използване на алгоритъм, който е с две милисекунди по-бърз от този, които би се използвал традиционно за този вид действие.

Вярвам, че кодът действително трябва стриктно да следва правила и конвенции – може би други хора ще го четат някога, а може би след време и вие ще се опитвате да разберете какво, по дяволите, прави собственото ви творение. Творческата част идва, когато прочетете задачата си, която вие или някой друг ви е поставил и си кажете „Ей, аз това мога да го направя така“ и мисълта, която ви е осенила, ви се стори наистина прекрасна.

Може и да грешите, но нима победата в това да сгрешиш няколко пъти, за да успееш накрая, не е най-сладка?

Join the Conversation

2 Comments

Leave a comment

Your email address will not be published. Required fields are marked *