среда, 8 июля 2009 г.

Как я осваивал программирование.


Происходило все это давно, еще в начале 90-х годов. Появились тогда у нас на работе первые отечественные IBM-совместимые ПК, назывались они «Нейрон», и «ЕС 1840» или «ЕС 1841»(точно уже не помню). Поскольку тогда еще мало кто представлял, как ими пользоваться, стояли эти машинки в углу, пылились без дела. Я от скуки стал их включать, взял учебник по работе с MS-DOS, стал его почитывать да и осваивать постепенно это «чудо». Как оказалось, мне это впоследствии очень даже пригодилось. В те годы ощущался дефицит специалистов по информатике, но в тоже время было модно все автоматизировать. Еще не было такого количества программ для ПК как сейчас, и возможно по этой причине ощущалась потребность в программистах. Поэтому, когда знакомые, зная мое увлечение информатикой, предложили устроиться работать программистом, я это предложение принял. Тем более, заказов в "почтовом ящике", где я в то время трудился, становилось все меньше, а мои перспективы-все туманнее.
Кое-какие навыки в написании программ у меня уже имелись, но честно сказать, ни одного языка программирования я тогда толком не знал, если не считать основ фортрана, по которым когда-то в институте нам читали лекции, да еще странного языка "Алмир-65", для ЭВМ "Мир". Помню, что программы для него надо было сначала набить на перфоленту, которую потом девушки-операторы и загружали в ЭВМ, загадочно подмигивающую разноцветными лампочками...
Ну а теперь о моем первом задании на поприще программиста. Моей задачей было перевести программу, написанную на фортране 4 для СМ-4 на фортран-77 , для IBMPС. Программа эта была предназначена для автоматизации ввода данных в станок с ЧПУ.
Надо сказать, что время на выполнение этой работы у меня было ограничено и приходилось "пахать", иногда от зари до зари, заодно осваивая все премудрости программирования.
В результате, поняв алгоритм работы исходной программы, я переписал ее на другой версии языка, и в конце концов она заработала так, как было нужно. Таким образом, фортран 77 был мною освоен, а вслед за ним - и некоторые другие языки. В числе первых был Dbase III+, а вернее, его переведенная на русский язык версия, носившая название "Ребус". Дальше были различные версии языка FoxPro, С и С++. Надо сказать, что задания у моего тогдашнего шефа были своеобразные. Приведу один пример. Поскольку компьютеры были далеко не во всех отделах , в обеденный перерыв в наш отдел иногда приходили из других - поиграть на компьютере. Например, одна женщина из соседнего отдела постоянно играла в популярную в те времена игру "lines". Поскольку иногда игра затягивалась и продолжалась уже и после обеденного перерыва, шефу это не нравилось - компьютер был нужен для работы, а в азарте игры женщина видимо забывала о времени, но сказать ей напрямую об этом было неудобно. Тогда он и придумал для меня задачу - сделать так, чтобы ровно в 13.00 этот компьютер сам собой перезагружался. Я тогда еще далеко не был "асом" в программировании, и задача эта для меня была совсем даже непростой. Программу, которая выполняет нужные действия - перезагрузку компьютера в заданное время, я все же написал, а точнее - собрал из разных модулей, найденных в литературе. Правда, как я потом понял - из-за наличия вируса, эта программа работала не совсем корректно - компьютер вместо перезагрузки намертво "зависал". Но, тем не менее, основная цель моего шефа была достигнута - компьютер был свободен по окончании обеденного перерыва, и все это происходило без малейшего участия с его стороны.