Отговарям на поредната блогърска инициатива на Миглен специално за програмисти.
На каква възраст бяхте, когато започнахте да се занимавате с програмиране?
11 годишна възраст. В пети клас нашите купиха един Правец с подобрени карантии. Оригинално беше за работа, но започнах да си играя на игри. Превъртях Принца на Персия и още няколко и към средата пети клас започнах с програмирането.
Как се случи? Кой ви запали по програмирането?
Един мой приятел тогава, Искрен, имаше съсед, който беше програмист. Беше му дал Turbo Pascal (май беше 7) и той ми я предаде като поредната игра на ония големите дискети. Имаше към него няколко примерни програми и след доста проби и грешки разбрах как се пускат и започнах да ги човъркам и научих как стават. После хванах help-а с английски речник и така тръгнаха нещата.
Какъв беше първият език, на който започнахте да пишете?
Pascal. Към 7-ми клас започнах да се занимавам и с OOP.
Каква беше първата истинска програма, която сте написали?
В началото само се бъзиках с демотата. От началото започнах да се занимавам с графика, макар и под DOS. Първата цялостна програма, която си спомням беше дигитална книга с информация за Бермудския триъгълник. Информацията беше записана по файлове и програмата я изписваше на екрана. Основното беше, че се отваряше графичната среда в DOS с поддръжка за мишка и бях направил менюта, полета за попълване, скролиране, анимации и дори картите ги бях нарисувал програмно на екрана. Беше досна сносна програма, но я изгубих.
Какви програмни езици сте ползвали до момента?
Ох, трудно е да се каже. Като се стигне до един момент вече всички езици си приличат. Сега ми идват на ум следните: Pascal, Delphi, C, C++, Java, Assembler (risc), Prolog, PHP, малко Perl, SQL, Actionscript, Javascript, HTML, CSS, XSLT, XPath, XQuery, OWL, RDF, OMV, WSDL и още няколко XML базирани.
Какво беше първото ви професионално назначение и какво научихте оттам?
В началото на гимназията имаше една олимпиада по програмиране. Бях в отбора на английската. Не се справихме добре, защото не се бяхме подготвяли въобще. На едно момче в отбора баща му имаше фирма и няколко седмици след олимпиадата започнах при тях. Всъщност беше по-скоро като практика, защото нямах никакъв трудов опит. Настрана от програмирането, основните неща, които научих там бяха колко са важни комуникацията с клиента, доброто планиране и тестването в един проект. Там работех основно на Delphi почти до края на 12-ти клас.
Втората ми работа може да се нарече по-сериозна. Там имплементирах алгоритми за скоростно умножение на големи числа (1Мб+). Използвахме ги за тестване на FPGA имплементации на същите алгоритми (чипове). После ги направих като Matlab модули. Всичко беше по европейски проект за ускоряване на процесите свързани със сигурността.
Ако имахте днешните си опит и знания, бихте ли се захванали с програмиране отново?
След 12-ти клас се зачудих какво бих правил ако вземат да не ме приемат никъде с програмиране. Може би щеше да е машинно инженерство или някакво друго. С тези знания и опит обаче пак бих правил същото.
Кое е най-важното за програмирането, на което бихте искали да научите начинаещите разработчици?
Три неща – структуриране на кода, преизползване и тестване. Много е важно да се структурира всички правилно, за да може да се намира лесно. Не правете хакове, а общи решения за да може да използвате всичко отново. Ефективното програмиране се мери не колко добър е кодът, а каква част от него може да се използва отново. Тествайте. Винаги има грешки. Ако няма грешки, значи има много гадни грешки. Test driven development е доста добра идея. Проучете я.
Кой е бил най-забавният ви спомен като програмист?
Известно време правих support. Там винаги са най-забавните истории. Един си беше изтрил Program Files, защото му трябвало място, „а така или иначе не го използваше“. После тръгна да ни обвинява, че сме му скапали компютъра. Един друг не си беше пуснал принтера и трябваше да отида чак до там за му включа един бутон. Разговора по телефона беше уникален.
Сега работя основно с Java и широк спектър от XML езици. Основно пиша eclipse plugin-а, онтологии и web services върху axis2.
Тези блогърски инициативи започват все повече да ми харесват. 🙂 А между другото много ме кефят граватарите, които си сложил. Чудя се и аз ли да сложа подобни… 🙂
Хехе мерси Юруков, беше доста интересно и поучително. Много добър опит си натрупал, това е похвално. Покрил си широк спектър от знания и оппит.
@Дичев: Яки са наистина, много ми допадат и са вид социален спам. Пък и се опознаваме и сближаваме, все пак сме хора 😉
Идеята ми дойде от новия дизайн на alabala. Мисля, че е добре така. За тези без gravatar съм сложил да прозира към фона. Иначе инициативите са готини, защото научаваме повече за останалите, а това е главната идея на всичко.
То всъщност по-важното е опитът по проекти, които човек събира. Но това си е доста обобщаващо.
Браво, беше ми интересно 😉
Инициативата, всъщност, е моя, но това не е толкова вано. важното е, че си се включил и разказваш интересни неща. Благодаря! 🙂
Между другото, дизайнът ти наистина е много готин.
Благодаря 🙂 Видях, че Миглен ме пингна и затова реших, че е той. Инициативата е добра и е хубаво, че я има.
евала, програмирал си на CSS 🙂 леле …
CSS е език за описване (маркиране) и по-скоро работата с него може да се нарече дизайнерска и не мисля, че трябва да има нещо забавно тъй като познавам доста добре платени css дизайнери. Но щом намираш забавлявай се 😉
CSS е супер як и мощен инструмент за дизайн. Ако един човек разбира истински, може да оформи цяла страница само с него и с помощта на няколко div елемента от html страната. Ако наистина gdinko намира това за смешно, то реално и xml не е нищо особено, но почти всичко, което компанията за която работя, прави се върти около xml. Тази година приходите й ще достигнат един милиард долара. Всъщност цялата идея около AJAX и прословутия Web 2.0 щяха да са немислими без производните на xml. Та същото е.
Леле. алгоритми + структури от данни = програмиране.
В css какво имаме ? нито алгоритми нито структури от данни следователно не може да се нарече програмиране. Не сте ме разбрали за css не казвам нищо. забавно ми е че си написал че програмираш на css :).
CSS е език за описание на дизайн. Не е програмиране в смисъла на обработка на данни. По тази логика обаче и HTML, SQL, XML, XPath и XSLT не са съвсем програмиране. Това обаче са помощни средства, без които програмирането е трудно, ако не и невъзможно. В случая на CSS това е web програмирането. Всъщност така и javadoc не е програмиране, но да се пише java без него. Затова е важно да се знае.
Блогът тие страхотен!
Благодаря, старая се да го развивам.
Спасибо 😉