Моя жизнь в программировании
Я вдруг вспомнил как начиналось моё знакомство с программированием и подумал, что у меня были все данные, чтобы стать настоящим программистом. Хотя нет, тогда бы я и сейчас был очень крут. Все склонности? Тоже нет, потому что тогда я, в своё время, больше бы сидел за компьютером. Скажем так, все возможности.
Я всегда буду гордиться тем, что самостоятельно дошел до идеи подпрограммы. После того, как я некоторое время поработал с Бейсиковским 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.
Первые игрушки: Саботёр, Каратека, Инвайдерс. Инвайдерс есть у меня на на коммуникаторе, Саботёр я пытался написать на Бейсике, когда работал в армии секретаршей и подыхал от безделья. Не решил проблемму рисования выстрелов - работало тем медленне, чем больше снарядов было в водухе и довольно быстро сдыхало. Но это был уже не тот Бейсик, там даже не было номеров строк. Тогда же пытался написать интерпретатор Бейсика (того) на Лиспе, но, в отсутствие чёткого изначального дизайна, бросил на середине, а потом уже не до того было, т.к. перешел на более осмысленную должность. Кстати, с того времени, я очень хорошо понимаю бюрократическую систему, т.к. довелось посмотреть на мир с той стороны баррикад
Пока всё.
×åãî òîëüêî íå óçíàåøü...
Re: ×åãî òîëüêî íå óçíàåøü...
À ÷òî Âàñ íàâåëî íà òàêóþ ìûñëü?
Re: ×åãî òîëüêî íå óçíàåøü...
À íàâåë íà òàêóþ ìûñëü îáøèðíûé ñïèñîê äðóçåé è ïðàêòè÷åñêè ïîëíîå îòñóñòâèå çàïèñåé. ×òî îíè âîîáùå åñòü, ÿ âèäåëà ïî ñòàòèñòèêå, íî ÷òî îíè áûâàþò íåïðèâàòíûìè, óâèäåëà òîëüêî ñåãîäíÿ â èñòîðèè ïðî åëêó :)
Re: ×åãî òîëüêî íå óçíàåøü...
 òàêèõ ñèòóàöèÿõ ÿ åù¸ ÷èñëî îñòàâëåííûõ êîììåíòîâ ñìîòðþ.
Re: ×åãî òîëüêî íå óçíàåøü...
Сам не знаю, зачем я его сотворил...
ÏîñëóøàéÒÅ,
Re: ×åãî òîëüêî íå óçíàåøü...
no subject
À ÿ âîò òîæå âñ¸ äóìàþ, åñòü ëè êàêèå-òî ïðèçíàêè, îòëè÷àþùèå íàñòîÿùåãî ïðîãðàììèñòà îò íåíàñòîÿùåãî ? Ïðè÷¸ì - ïðîøó çàìåòèòü, ïðèçíàêè ýòè íèêàê íå ñâÿçàíû ñî ñòåïåíüþ êðóòèçíû !
ß âîò, íàïðèìåð, íå ñ÷èòàþ ñåáÿ êðóòûì â ïðîãðàììèðîâàíèè, ÍÎ - ñ÷èòàþ ñåáÿ íàñòîÿùèì ïðîãðàììèñòîì. Åñòü, åñòü êàêèå-òî ïðèçíàêè, îïðåäåëåííî åñòü.
Ïî÷èòàë, íàïðèìåð, Ëèíóñà Òîðâàëüäñà - óçíàë ñåáÿ. Îí, êîíå÷íî, êðó÷å ìåíÿ ïðèìåðíî â áåñêîíå÷íîñòü, íî ÷òî-òî òàêîå îáùåå ïðîñìàòðèâàåòñÿ...
Re:
no subject
À âîò, êñòàòè, âñïîìíèë îäèí íåîïðîâåðæèìûé òåñò: òî åñòü, ýòî, êîíå÷íî, íå äîñòàòî÷íîå óñëîâèå, íî àáñîëþòíî íåîáõîäèìîå: åñëè ÷åëîâåêó íå íðàâèòñÿ ÿçûê APL (èëè îí ñ÷èòàåò åãî áåñïîëåçíûì êóðü¸çîì, êàê íåêîòîðûå ìîè áûâøèå ñòóäåíòû) - òî îí íå íàñòîÿùèé ïðîãðàììèñò.
Òå, êîãî ÿ ñ÷èòàþ íàñòîÿùèìè, âñå ãîâîðÿò, ÷òî APL èì íðàâèòñÿ.
Äà âîò ñîáñòâåííî
íàñòîÿùåãî ïðîãðàììèñòà (http://www.pbm.com/~lindahl/real.programmers.html).
Re: Äà âîò ñîáñòâåííî
Re: Äà âîò ñîáñòâåííî