20 лет назад: Билл Гейтс в Москве презентует MS-DOS. С ужасом вспоминаю, знал ли я в 1990 году, кто такой Билл Гейтс, и начинаю склоняться к мнению, что не знал. И о существовании фирмы Microsoft то же не знал.
Первое понимание.
Как я уже рассказывал в предыдущей записи мой путь в программирование начался с микрокалькулятора «Электроника МК-54». Этот калькулятор для вычислений использовал польскую нотацию. Для выполнения арифметических действий над числами использовался стек. Например, сложение двух чисел происходило следующим образом:
- Вводим первое число.
- «Проталкиваем» число в стек.
- Вводим второе число.
- Вводим требуемую операцию, в данном примере сложение.
- Первое и второе число исчезают, из стека, а на его вершине появляется результат.
Как в такой системе производить операции над числами я освоил сразу, а вот всю мощь и прелесть стека оценить сразу не смог. Понимание того, как устроен стек, я считаю своим действительно первым пониманием в программировании. Как это не печально, но произошло оно на экзамене по информатике. Я получил 4, но зато узнал как работает стек. Преподаватель задал мне вопрос: «Как выполнить на калькуляторе (2+10)*(15-3) без использования регистров памяти ?» Если Вы не можете это сделать, то Вы так же, как и я 25 лет назад не понимаете, как работает стек !
Начало пути.
1985 год был во многом знаменательным для меня и всей страны. Для тех, кто не помнит истории, напоминаю, что в этом году Михаил Сергеевич Горбачев был избран Генеральным секретарем ЦК КПСС и началась перестройка.
В плане научно технического прогресса в этом году произошло знаменательное событие. Советская электронная промышленность выпустила программируемый микрокалькулятор «Электроника МК-54». С этого калькулятора и начался мой путь в программирование.

В калькуляторе использовалась польская нотация(запись) и он позволял проводить инженерные расчеты с использованием введенных в него программ. В общем, для своего времени, это было чудо вычислительной техники. Калькулятор имел 4 операционных регистра (стек), 14 регистров памяти для хранения данных и 98 регистров для хранения шагов программы. Недостатком калькулятора было отсутствие энергонезависимой памяти, при выключении питания программа вместе с данными исчезала, что было иногда весьма печальным событием.
На этом калькуляторе я научился составлять свои первые программы. Как выяснилось впоследствии это было фактически программирование на ассемблере.