Моя жизнь в программировании
Mar. 21st, 2002 11:56 amЯ вдруг вспомнил как начиналось моё знакомство с программированием и подумал, что у меня были все данные, чтобы стать настоящим программистом. Хотя нет, тогда бы я и сейчас был очень крут. Все склонности? Тоже нет, потому что тогда я, в своё время, больше бы сидел за компьютером. Скажем так, все возможности.
Я всегда буду гордиться тем, что самостоятельно дошел до идеи подпрограммы. После того, как я некоторое время поработал с Бейсиковским GOTO, я стал выяснять, нельзя ли делать GOTO на строку, номер которой записан в переменной. Нужно мне это было, чтобы из разных мест программы прыгать в один и тот же блок и обратно. Выяснилось, что нельзя, а чуть позже оказалось, что в Бейсике есть GOSUB и RETURN. Интересно, дошел бы я сам до идеи рекурсии и стека адресов возврата? Не уверен. Известно, что до идеи стека данных я не дошел (в Бейсике GOSUB не получал никаких параметров, так что кто хотел что-нибудь передать - передавал это в переменной. Следовательно, никаких рекурсий. Уровень первых Фортранов).
.
Итак, я в возрасте 13 лет перешел в физ.-мат. школу, где учили программированию - это было наше УПК (?). Бейсик на Правцах, по два человека за компьютером, позже Бейсик и Паскаль на Ямахах поодиночке.
Первая программа, которую я видел: алгоритм Эвклида для нахождения НОД, сто (т.е. 10 фактических) строк на Бейсике, час объяснений.
Моя компьютерная анимация: полоска падает на фигуру человека, стирая её, после чего появляется надпись "Не стой под стрелой". Придумана в результате бага - перерисовывая движущуюся полоску, я не восстанавливал прежнее изображение, а затирал.
Первая Жизнь Конвея: Бейсик. Гениальная идея для оптимизации - проходить только по жовым клеткам и их соседям при расчёте живых и умирающих. При отсутствии структур в Бейсике, это выливается в 3 (?) парных массива координат. Не могу вспомнить, что происходило на краях. С тех пор все Жизни, которые я писал (а их было много) были основаны на этом принципе.
Мультимедия: Летающий (?) по экрану гроб, нарисованный как векторный объект, сопровождается похоронным маршем, который кодировал
bdbd. Даже с моим отсутствием музыкального слуха, у марша были серьёзные проблемы, по-моему с темпом.
bdbd всё отрицал и продолжает делать это до сих пор.
Ямахи: быстро научился заменять промпт и поставил промптом Shalom. Надпись Shalom появляющаяся после сообщения об ошибке воспринимается как Привет ис трашно бесит. Промпт заменён обратно на OK. Промпт в Юниксе не умею менять по сей день.
Дисциплина духа: Паскаль, написанный в московском университете, не позволяет прервать зациклившуюся программу, надо перегружаться. Диска у Ямах нет, только 5-ти дюймовая дискета на центральной машине (они ещё и сеть образовывали), на которуя можно записать свой опус в конце урока. Следовательно, при перегрузке проограмма теряется. Greatly encourages alertness in programming staff.
Первые игрушки: Саботёр, Каратека, Инвайдерс. Инвайдерс есть у меня на на коммуникаторе, Саботёр я пытался написать на Бейсике, когда работал в армии секретаршей и подыхал от безделья. Не решил проблемму рисования выстрелов - работало тем медленне, чем больше снарядов было в водухе и довольно быстро сдыхало. Но это был уже не тот Бейсик, там даже не было номеров строк. Тогда же пытался написать интерпретатор Бейсика (того) на Лиспе, но, в отсутствие чёткого изначального дизайна, бросил на середине, а потом уже не до того было, т.к. перешел на более осмысленную должность. Кстати, с того времени, я очень хорошо понимаю бюрократическую систему, т.к. довелось посмотреть на мир с той стороны баррикад
Пока всё.
Я всегда буду гордиться тем, что самостоятельно дошел до идеи подпрограммы. После того, как я некоторое время поработал с Бейсиковским GOTO, я стал выяснять, нельзя ли делать GOTO на строку, номер которой записан в переменной. Нужно мне это было, чтобы из разных мест программы прыгать в один и тот же блок и обратно. Выяснилось, что нельзя, а чуть позже оказалось, что в Бейсике есть GOSUB и RETURN. Интересно, дошел бы я сам до идеи рекурсии и стека адресов возврата? Не уверен. Известно, что до идеи стека данных я не дошел (в Бейсике GOSUB не получал никаких параметров, так что кто хотел что-нибудь передать - передавал это в переменной. Следовательно, никаких рекурсий. Уровень первых Фортранов).
.
Итак, я в возрасте 13 лет перешел в физ.-мат. школу, где учили программированию - это было наше УПК (?). Бейсик на Правцах, по два человека за компьютером, позже Бейсик и Паскаль на Ямахах поодиночке.
Первая программа, которую я видел: алгоритм Эвклида для нахождения НОД, сто (т.е. 10 фактических) строк на Бейсике, час объяснений.
Моя компьютерная анимация: полоска падает на фигуру человека, стирая её, после чего появляется надпись "Не стой под стрелой". Придумана в результате бага - перерисовывая движущуюся полоску, я не восстанавливал прежнее изображение, а затирал.
Первая Жизнь Конвея: Бейсик. Гениальная идея для оптимизации - проходить только по жовым клеткам и их соседям при расчёте живых и умирающих. При отсутствии структур в Бейсике, это выливается в 3 (?) парных массива координат. Не могу вспомнить, что происходило на краях. С тех пор все Жизни, которые я писал (а их было много) были основаны на этом принципе.
Мультимедия: Летающий (?) по экрану гроб, нарисованный как векторный объект, сопровождается похоронным маршем, который кодировал
Ямахи: быстро научился заменять промпт и поставил промптом Shalom. Надпись Shalom появляющаяся после сообщения об ошибке воспринимается как Привет ис трашно бесит. Промпт заменён обратно на OK. Промпт в Юниксе не умею менять по сей день.
Дисциплина духа: Паскаль, написанный в московском университете, не позволяет прервать зациклившуюся программу, надо перегружаться. Диска у Ямах нет, только 5-ти дюймовая дискета на центральной машине (они ещё и сеть образовывали), на которуя можно записать свой опус в конце урока. Следовательно, при перегрузке проограмма теряется. Greatly encourages alertness in programming staff.
Первые игрушки: Саботёр, Каратека, Инвайдерс. Инвайдерс есть у меня на на коммуникаторе, Саботёр я пытался написать на Бейсике, когда работал в армии секретаршей и подыхал от безделья. Не решил проблемму рисования выстрелов - работало тем медленне, чем больше снарядов было в водухе и довольно быстро сдыхало. Но это был уже не тот Бейсик, там даже не было номеров строк. Тогда же пытался написать интерпретатор Бейсика (того) на Лиспе, но, в отсутствие чёткого изначального дизайна, бросил на середине, а потом уже не до того было, т.к. перешел на более осмысленную должность. Кстати, с того времени, я очень хорошо понимаю бюрократическую систему, т.к. довелось посмотреть на мир с той стороны баррикад
Пока всё.
ÏîñëóøàéÒÅ,