Как я стал программистом

Sep 12, 2012 15:04

Долго решал сегодня как отметить День Программиста - искупаться в фонтане или написать пост про то, как я стал программистом: с чего всё начиналось и чем закончилось как продолжается. О сделанном мною выборе, думаю, вы уже догадались.




Хотел было начать историю с времён старших классов, когда среди прочих предметов появилась "Информатика", но тут вдруг вспомнил, что всё это началось гораздо раньше. По идее, этот рассказ даже можно отнести к очередной главе "Детей перестройки". :)  Итак, конец 80х, мне 7-8 лет....

Родители мои были инженерами, поэтому рос я в окружении разных технических приблуд и приспособлений: кульманов, готовален, подшипников, авторских свидетельств и рацпредложений. Одной из любимых моих игрушек в то время был ... калькулятор. Нет, конечно я очень любил строить разные планеры, бумеранги, поджигать чего-нибудь, смотреть "Ну, погоди",  кататься на велосипеде и играть в солдатиков. Но страсть к кнопкам у меня появилась уже тогда. Я просил маму дать мне поиграть программируемый калькулятор вроде такого:



Цифры на дисплее завораживали и влекли, калькулятор отзывчиво откликался на нажатия пластмассовых кнопок. В те времена одним из моих любимых журналов был вот этот:



В нём всегда была очередная порция захватывающей фантастики и рассказ о полёте Лунолёта "Кон-Тики", сопровождающийся программами для калькулятора БЗ-34.



Не подумайте, что я был гением - нифига в этих программах я не смыслил, но всё же пытался нажимать нужные последовательности клавиш, чтобы получить какой-то результат. Который даже не мог осмыслить :) Помню, там были какие-то расчеты массы горючего, необходимого Кон-Тики для полёта на Луну и обратно. Одним словом, это была игра.

Следующим эпизодом в моей компьютерной истории стало повальное проникновение бытовых компьютеров в наши дома. У многих моих друзей дома появились вот такие девайсы:







На школьных переменах только тем и занимались, что обсуждали очередные нюансы прохождения F1 или Карате:



У меня, к сожалению, такого компьютера не было, поэтому с грустью и тоской оставалось слушать эти рассказы. Иногда я ходил к друзьям и мы там рубились в "Спектрум". А позже мой брат собрал подобие "Спектрума" из какого-то конструктора, коих тогда было уже немало. Но у меня по прежнему компа не было, хотя желание им обладать росло.

А где-то в 93м, у одного товарища со двора дома вообще появился настоящий комп. Папа был начальником в одном НИИ и благополучно "выписал" домой себе 286й с цветным монитором:



Летом мы просто оккупировали его квартиру, как только родители уходили за порог! Мне так понравился этот комп, что я попросил маму записать меня на посещение компьютерного зала у нее на работе, благо там была такая программа. Конечно же, там разрешали только играть в игры - но на тот момент мне было и этого достаточно.

В 94м в школе появилась информатика, которая стала одним из моих любимых предметов. Компьютерный класс был оборудован древними УКНЦ:





Правда, все они были терминально подключены к учительскому и загрузка ОС производилась по сети, что занимало по времени около часа. Поэтому нам сделали сдвоенный урок - 45 минут мы сидели и лицезрели надпись на дисплее "Загрузка из сети...",



а второй урок писали на Basic или рубились в аналог игры "LoadRunner" - "LAND":





или "Вертолёты":



или "Рыбалка":



Иногда еще рисовали в каком-то графическом редакторе.

Язык BASIC мне не очень нравился его непонятными "DIM", поэтому когда нам рассказали про PASCAL, я твёрдо решил, что хочу на нём писать программы :)



У одного товарища выменял на вкладыши книгу "Программирование на HiSoft Pascal для ZX-Spectrum" не помню какого автора, но похоже, что это был перевод этой:





И я увлёкся. Теперь на каждом уроке информатики я просил учительницу загрузить мне Pascal, вбивал листинги из книги и наслаждался результатом: программа строила графики, заполняла словами экран, пищала и т.д. Потом стал что-то изменять и добавлять своё. Некоторые программы учительница даже позволяла сохранять мне на дискету в её дисководе по сети :) Это было большой честью для  меня :)



Мой товарищ тоже увлекался программированием - он учился в 59й школе Ульяновска и с компьютерами у них было получше - стояли 286е с цветными экранами и у каждого был свой дисковод (но тоже не было жесткого диска). Мы часто разговаривали на тему компьютеров, программирования и алгоритмов. А потом и я стал ходить в кружок информатики в этой школе. Вёл его замечательный человек, учитель информатики Анатолий Юдин:



В его кружок ходило так много народу, что не всем хватало место и за компьютерами сидело по 2-3 человека. Именно его уроки окончательно утвердили во мне желание связать свою жизнь и карьеру с компьютерами и программами.



Чтобы стать программистом, необходимо было сильно поднажать на математику, с коей я дружил всегда на твёрдую "четвёрку". Уровень математических знаний, который давался в моей школе, был довольно низок, поэтому нужно было либо переводится в другую школу, либо заниматься дополнительно. С переводом в физмат-класс 40й школы Ульяновска ничего не вышло - завалил все 3 попытки сдать экзамен :) Зато сильно помогли 4 года обучения в заочной физмат школе при МФТИ. Кому знакома эта аббревиатура - ЗФТШ при МФТИ? :) Кто несколько лет ходил на почту с толстыми конвертами и с замиранием сердца распечатывал полученные? :) Кто взрывал мозг учителей физики и математики нерешаемыми заданиями? :) Одним словом, респект и уважуха МФТИ! Скольким ребятам они помогли поступить в лучшие ВУЗы страны.

В нашем городе "на программиста" учили тогда только два вуза: УлГТУ и филиал МГУ - УлГУ. В УлГТУ ("Политех") на нужный факультет ФИСТ было просто нереально мне набрать необходимые баллы (80-100) - тогда там уже ввели тестирование. Поэтому параллельно с УлГТУ были поданы документы в УлГУ на механико-математический факультет. Собственно, он и был наиболее желаемой моей целью - там уже учились некоторые мои старшие товарищи и собирались идти младшие. На тестировании в политехе я набрал около 60 баллов и проходил только на машфак :) Естественно, он тут же был отброшен. Последний мост - экзамены мех-мата. Математика письменно, устно и сочинение. Первый экзамен - самый трудный. За год до этого я не пропускал ни одной улгушной олимпиады, где особо не выделялся успехами. Провалил и предварительный платный экзамен. И вот Бог дал мне последний шанс, которым я воспользовался и еле-еле набрал необходимые минимальные баллы :) Тогда я уже и не думал, что могу не стать программистом - все чёрные мысли были об армии :) В общем, мехмат распахнул предо мной свои двери. И понеслось....

Следующими людьми, которые должны были впихнуть в меня любовь к программированию, стали преподаватели С.А.Шиняев, Шамиль Талгатович Ишмухаметов и Б.Ф. Мельников :) А очередным учебником - "Основы Турбо-Паскаля" Фаронова:





Компьютерный класс был оборудован 386-ми, с жёсткими дисками и дисководами 3,5'':





Началась эра дискет. Сколько их покупалось на скромную стипендию - ужас. Они быстро портились, так как компилировали свои программки мы только с них.



Лабораторные работы, задания... Я даже не успевал всё делать, сложность нарастала. Прерывания DOS, игра "Шахматы", 3D-объекты, собственные файловые системы и оболочки -  это мехмат, детка... К концу 2го курса я понял, что много упустил и часть работ просто не смог сделать самостоятельно - что-то пришлось заказывать за деньги старшим ребятам :) Думаю, не я один так поступал. Когда "горит" зачёт, то мораль и совесть отходит на последний план :)



У меня по прежнему дома не было компа, поэтому я "пробил" разрешение ходить к маме на работу и часами сидел там за первыми Pentium I 75 Мгц, производства Siemens-Nixdorf,



решая задания в математическом пакете Maple:





Кстати, там же, на маминой работе, я впервые познакомился с Windows'95 :) Но она мне показалась какой-то громоздкой и неуютной, по сравнению с любимым Volkov Commander:



И вот, пасмурным октябрём 1998 года, мама на скопленные деньги купила мне компьютер!



Это был Сименсовский десктоп с процессором i486 DX2 33 Мгц, ОЗУ 8 Мб, SVGA-картой и HDD WD 500 Мб! И самое главное - монитор 15'' со встроенным защитным экраном (но с небольшим заводским браком на трубке)!



Там была уже установлена ОС Windows 95, но по умолчанию грузился любимый и знакомый DOS 7.0. Набрав команду "win.com" можно было загрузить винду, поиграться с ней и выйти :)



Основное своё время я проводил в DOS, просматривая разные картинки в утилите "sea.exe", которая работала в графическом режиме. У меня до сих пор сохранились эти картинки в разрешении 200 на 300, 480 на 640, 50 на 100... Какими большими они тогда казались :) Тогда были очень популярны изображения художника Бориса Валеджо - кто их помнит? :)



Еще я слушал трекерную музыку формата "mod" или "xm". В универе по дискетам ходил трек "Металлики"  - Unforgiven.mod. А кто помнит "FastTracker"? :)



Кстати, довольно известный ныне CJ Omen (мой универский друг Лёха Будылёв) начинал своё творчество с неё и  я был первым слушателем его композиций :)

Еще я осваивал мощный пакетный язык DOS:



немного ASM:



и даже написал пару bat-вирусов, которые успешно апробировал на универских компах... :)

Собрал огромную коллекцию вирусов для DOS и Windows (около 800 штук) и базу их описаний. Изучение вирусов стало любимым моим занятием. Апогеем его стало написание подобие антивируса (скорее, детектора) к одному очень злому вирусу Deflorator, заразившему многие универские компы. Кстати, написан и внедрен он был тоже студентом моего ВУЗа :)

В 99-00 массовую популярность приобрела музыка в формате mp3. Именно её прослушивание и стало главной причиной моего "переезда" из DOS в Windows. Но мой процессор в 33 Мгц "не тянул" её и приходилось в настройках winamp сильно урезать качество воспроизведения. Это стало причиной  первого моего апгрейда:



Кто не заметил разницы - этот "камень" был уже в 2 раза шустрее моего прежнего :) MP3 шли на ура! Однако встала потребность установки кулера - прежний был на столько слаб, что мог работать и без него.

Довелось поработать и *nix - довольно долго "жил" в установленной на отдельном разделе HDD FreeBSD 4.0:



Тогда мне казалось это очень крутым и я тоже пересобирал ядро по любому поводу :) Поверьте, это проходит :)

После 3 курса, на летних каникулах, с тем же товарищем, с кем с детства мечтали стать программистами, решили освоить новый для нас язык - C++. Самоучитель Г. Шилдта стал следующим моим учебником:



Наше самообучение мы превратили в некое соревнование - кто быстрее сможет реализовывать алгоритмы на этом языке. Его старший брат (тоже мехматянин) давал нам разные задания и мы их делали.



Этот язык мне очень понравился своей краткостью синтаксиса и новыми возможностями, которых не было в Pascal (можно объявлять переменные, где хочешь :) ).

К концу лета я освоил его на столько, что совсем забросил Pascal и все лабы и курсовые делал уже на C++. Как и разные утилиты для своих нужд. К тому времени мой WD 500 Мб стал сыпаться и я написал утилиту, которая каждый раз при завершении работы сохраняла на дискету FAT-таблицу, которая постоянно слетала. Еще я писал антивирусы, грабилки ресурсов из игр, текстовые парсеры и т.д. :) Верхом творчества был дипломный проект по распознаванию графических образов, который я реализовал на Borland Builder C++:



и Microsoft Visual C++:



К слову сказать, чуть раньше по учебному процессу мне довелось познакомиться и с другой средой разработки Borland - Delphi:





Знакомство это предопределило мою дальнейшую судьбу - я до сих пор пишу свои программы на Delphi и просто без ума от этой мощной среды, которая до сих пор не заставила ощутить какую-то ущербность в разработке desktop-продуктов.



Delphi для Linux - Kylix. К сожалению, умерший продукт. Сколько строчек кода было написано в нём...



Конечно, сейчас уже совсем другие времена и наши дети "стартуют" далеко не с MK-51 или ZX-Spectrum.



Интересно, какие программисты выйдут из них? Куда вообще пойдёт это ремесло?

Одно только знаю - пока человечество в развитии движется вперёд, программист нужен будет везде и всегда.

С Днём Программиста! :)

Все части "Детей перестройки":
Часть 1. Чем мы себя развлекали
Часть 2. БЫТ
Часть 3. ИГРУШКИ
Часть 4. ЭЛЕКТРОНИКА
Часть 5. Как мы одевались
Часть 6. КОЛЛЕКЦИИ
Часть 7. КОМПЬЮТЕРЫ
Часть 8. Что пили наши родители
Часть 9. Чем занимались на уроках

компьютеры, программирование, дети перестройки, День программиста

Previous post Next post
Up