|
Первый раз я взял в руки книжку по Бейсику, когда мне было 11 лет.
Книжка меня очень заинтересовала, хотя компьютера у меня тогда не
было, и опробовать полученные знания я не мог. Через год родители
купили мне мой первый компьютер БК0010.01, где я смог заняться Бейсиком
на практике. Так получилось, что БК был слабо распространен в Крыму,
поэтому у меня не было никаких программ, кроме входивших в стандартный
комплект поставки. А без компьютерных игр как-то скучно, поэтому пришлось
писать свои, используя в качестве прототипов игры с Радио86РК. Сначала
все мои попытки были безуспешны, но потом заработала одна игра, потом
следующая, и дальше все пошло отлично. Через два года я исчерпал возможности
Бейсика БК-шки, написав какое-то подобие Loader Runner с дополнительными
наворотами. За это время я научился программировать на языке Фокал, который также
был в ПЗУ БК. Принципиальных отличий от Бейсика в нем не было, программы
на Фокале работали заметно медленнее, зато занимали меньше памяти.
Поэтому "динамические" игрушки я писал на Бейсике, а "стратегические"
на Фокале, например "Вольный торговец" - странная смесь классических игр
StarTrek и Elite.
В 1994 я получил возможность заказывать софт для БК в Москве и Питере,
и среди первых программ купил транслятор ассемблера и отладчик. К
сожалению, руководства по ассемблеру у меня не было, только список
команд PDP-процессора (на котором основан БК-шный CPU). Поэтому этот
язык я учил, в основном, исследуя отладчиком чужие программы. Для
тех, кто работал только с PC, этот способ может показаться ужасным,
но PDP ассемблер по моему (и не только моему) мнению гораздо удобнее,
понятней и приятнее, чем в x86 архитектуре. Через некоторое время
я считал ассемблер лучшим языком на свете, так как он позволял на
все сто использовать скромные возможности БК-шки. Поэтому я продолжал
совершенствоваться в этом языке, разрабатывая компьютерные игры (см.
Mercury software).
В десятом классе школы я записался в секцию МАН по информатике (см.
автобиографию), где сразу стал учить
Си. Вначале было не просто, но
знания PDP-ассемблера очень помогли. Например, мне не приходилось
сильно задумываться, как работают указатели, что часто бывает проблемой
для новичков. Своего PC у меня не было, поэтому хорошо попрактиковаться
в Си я не мог, тем не менее, этот язык стал для меня вторым по важности.
В это же время я стал потихоньку изучать PC-шный ассемблер.
В университете пришлось учить Паскаль, что я делал с большой неохотой,
поскольку уже неплохо знал Си, и никаких новых возможностей для себя
я в Паскале не нашел. Вскоре у меня появился свой PC, я занялся
Linux,
что стало большим стимулом углублять свои знания в Си, который стал
для меня главным и основным языком программирования. PC-шным ассемблером
я занимался довольно мало, так как Dos уже умирал, а в других системах
он требовался редко. На ассемблере я не писал, и пользовался знаниями
этого языка только при взломе программ, что случалось довольно редко.
Воспитанный на Бейсике и ассемблере, я долгое время относился отрицательно
к объектно-ориентированному программированию. Но потом все же взялся
прочесть книгу по C++ и понял, что объекты очень полезная вещь. Еще
больше я убедился в этом, когда пробная программа заработала почти
без отладки. С тех пор мое отношение к ООП изменилось, хотя я по-прежнему
не могу представить программу, сводящуюся к одному объекту, и в простых
случаях предпочитаю обходиться обычным C.
Сейчас начинаю понимать, что и в Linux одного C и С++ недостаточно,
поэтому собираюсь выучить скриптовые языки: Perl и PHP. Возможно,
найдется время на Java и JavaScript.
|
|