Кто как начинал программировать

Avva делится воспоминаниями, с чего он начинал программировать:

Моим первым компьютером был не компьютер, а программируемый калькулятор MK-52. У него было около ста байт памяти, и еще 512 — постоянного хранения, которое не стиралось, когда выключали. Я не помню, что на нем писал, кажется игры какие-то, типа версии морского боя. Плюс вводил программы, которые публиковали в «Науке и жизни», и изучал их.

Но это все же не настоящее начало. По-настоящему я начал работать с компьютером Yamaha MSX-1, году в 1989, наверное. Конечно, не дома и не в школе (в школе они появились на год-два позже, а что своих компьютеров тогда еще не было, нынешнему поколению, наверное, надо объяснять), а в местном пединституте, там было два класса Ямах.

Моим первым «компьютером», кстати, тоже был МК-52. Это если не считать нескольких посиделок у терминала БЭСМ-6. Но МК-52 мною использовался весьма активно, я писал для него программы, особенно в институте для большого количества расчетов — ввел данные в регистры стека, нажал run и получил сеанс мигания с выводом результата. Я им очень гордился — из советского семейства программируемых калькуляторов он был самым продвинутым, БЗ-34 был менее мощным, а к МК-61 нельзя было подключить внешние блоки памяти, плюс у него, кажется, было на 7 ячеек программной памяти меньше. Круче был только лебединый вздох советской промышленности МК-85, в котором был усеченный BASIC — но его я ни разу не видел в магазина, похоже, он просто не продавался.
Первый настоящий компьютер — это был БК-0011 в 10-м классе школы. Роскошная по тем временам машина, 1 МГц, две страницы оперативной памяти по 64 кБ, почти полный аналог PDP-11. В компьютерном кружке мне быстро надоело составлять программы по рисованию чего-нибудь и я увлекся написанием текстового редактора — надо сказать, что компьютерный класс, который у нас стоял, был роскошно укомплектован документацией, но вот софта там было ровно две или три дискеты и текстового процессора они не содержали.
Сначала я написал программу, которая воспринимала текст с клавиатуры, позволяла его редактировать и выводила на печать. Наткнувшись на тормознутость BASIC`а, часть функций переписал в машинные коды. Потом захотелось переписать всю программу, тем более, что в наборе софта нашелся компилятор Паскаля. Ну да, я знаю, это извращение — на Паскале писать такие программы :). Но вы помните, что текстового редактора у нас не было? Соответственно, я начал переписывать текстовый редактор так, чтобы его выходной файл можно было запихнуть в компилятор Паскаля и получить на выходе … текстовый редактор. Это я потом понял, что повторил ход разработчиков языка С, которые первый компилятор языка написали как раз на С.
В общем, на изучении форматов файлов, синтаксиса Паскаля и функций работы с дисководом (а дисковод по размерам превосходил большинство современных десктопов с корпусов «tower») наступили выпускные экзамены и я уехал учиться в институт.
Впрочем, в институте без компьютеров тоже не обошлось — ВЦ института был оборудован несколькими компьютерными классами — на базе «Искры-1030» (аналог IBM PC XT), Роботроны, еще какие-то машины, большие ЕС и СМ. Полученный в школе опыт работы с текстовыми функциями в BASIC мне, кстати, капитально помог — курсовая по программированию на 1 курсе предусматривала написание программы для ввода поездных документов и их дальнейшей обработки и я с легкостью сдал курсовую в течение трети семестра, попутно заработав 5 баллов автоматом на экзамене и выиграв институтскую олимпиаду по программированию.
А потом я понял, что можно быть программистом, а можно ставить задачи программистам, понимая при этом, откуда ноги растут, и что вторая роль выгоднее и выше.
Хотя иногда, конечно, можно и вспомнить старое…