avva: (moose)
[personal profile] avva
Расскажите, как вы научились программировать? В каком возрасте вы написали свою первую серьезную программу, на каком языке и компьютере, что она делала?

В 12 лет мне подарили программируемый калькулятор Электроника МК-52, и я загонял в него готовые программы из "Техники - молодежи" (который мы выписывали) и "Науки и жизни". Но сам писал только тривиальные примеры, и программированием это не считаю. Были умельцы; старший товарищ [livejournal.com profile] luarvique, например, написал в этом калькуляторе программу для решения кубика Рубика, если память не изменяет. Но мне не хватало для таких подвигов знаний и терпения.

В 13 лет - я начал ходить заниматься на настоящих компьютерах (!!!) в местном пединституте, где был компьютерный класс Yamaha MSX1 (по знакомству; там преподавал отец старшего товарища, и я ему безмерно благодарен). Молодое поколение не знает, наверное, что это было. 64KB памяти, восьмибитный микропроцессор Z80, зашитый в ROM интерпретатор Бейсика, который запускался по умолчанию, когда включали компьютер. Один центральный компьютер с цветным экраном (!!!) и дисководом, и дюжина периферийных, с монохромным зеленым монитором и приводом для чтения программ с магнитофонных кассет. Все компьютеры объединены в локальную сеть, и с центрального (который простым смертным не доверяли) можно было запускать программы на периферийных.

Моими первыми настоящими языками были Бейсик и ассемблер Z80. Первыми серьезными программами были простые игрушки, а также программа на Бейсике для вычисления числа пи, которой я гордился; она пользовалась, если не ошибаюсь, формулой Мэчина, про которую я сам нашел и прочитал в математической энциклопедии после того, как вначале попробовал более простую формулу, и убедился, что она очень медленно сходится. Когда я в 15 лет уехал в Израиль, то взял с собой трехдюймовую дискету, на которой было несколько любимых игрушек и исходники этой программы; эта дискета потом потерялась.

На MSX можно было делать довольно мощные игрушки на Бейсике благодаря аппаратной поддержке спрайтов (небольших битмапов, которые записывались отдельно в видеоконтроллер, и потом двигались по экрану атомарными операциями, заслоняя друг друга в определенном порядке). Перерисовывать весь экран несколько раз в секунду не получилось бы, Бейсик не успевал, но спрайты двигать было легко. Когда мне стало не хватать скорости, я начал добавлять куски на ассемблере, вставленные прямо из Бейсика (командой POKE). Потом я освоил операционные системы MSX-DOS (вариант MS-DOS 1.0) и CP/M, которые можно было загрузить из дискеты или кассеты вместо Бейсика. На ассемблере в них можно было писать целые отдельные программы. Довольно скоро в пединституте установили второй класс компьютеров помощнее, MSX2 (128KB памяти!!!). А еще через год, когда мне было 14, такой же класс установили даже в моей школе.

Постепенно я перешел на Турбо Паскаль, но не могу вспомнить, какие программы я на нем писал. А в 15 лет я уехал в Израиль, где про MSX никто ничего не знал. Через несколько месяцев мы купил свой собственный компьютер (!!!), он был на основе Intel 80486DX.

Расскажите о том, с чего вы начали программировать, и какие первые нетривиальные программы писали?

(P.S. у меня была похожая запись в прошлом, но там говорили почти исключительно о компьютерах, а в этой мне захотелось вспомнить именно программы, которые я писал)

Date: 2013-10-05 01:07 pm (UTC)
From: [identity profile] alexey efimov (from livejournal.com)
У меня очень похоже на то, что пишет avva. Только МК85, ZX-Spectrum, XT. Бейсик, Паскаль в школе. Книги Аммералла (крутил 3D кубик), потом Turbo C, а потом начал играть в орлянку, связался с Java и покатился :)

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 09:40 pm
Powered by Dreamwidth Studios