?

Log in

No account? Create an account
 
 
28 September 2008 @ 08:35 am
Записки программиста  
Моя первая встреча с программированием.

                                                                                                                                                          “Уже написан Вертер придуман Fortran”

Первая моя (заочная) встреча с программированием произошла примерно в 1963 году, когда я купил какую-то книжку про Цифровые Электронно-Вычислительные Машины – кажется мне, что это была чуть-ли не первая книга в открытой печати и фамилии авторов были Гнеденко и Ющенко.

Я учился тогда в 7-м или 8-м классе и любил читать весьма «недетские» книги – в том числе и вне области моих прямых интересов (помню, примерно в то же время я читал «Диалектику природы» Энгельса – но это из другой истории).
А прямыми моими интересами с дошкольного возраста были радиотехника (точнее, то что потом стало называться радиоэлектроникой или просто электроникой) и химия. Меня также интересовала математика и физика, но здесь самообразоваться мне не удалось, а учителя в школе были паршивые.
И, читая эту книгу, меня поразили (и, надо сказать, поразили на всю последующую жизнь) две вещи, касающиеся вычислительных машин и программирования:

1. Возможность алгоритма (с этим математическим понятием я был, хотя и смутно, знаком) выполняться механически, без участия человека. (на самом деле такой взгляд на алгоритмы существовал задолго до компьютеров и, даже, до машины Тьюринга, но я с этим не был знаком).
2. Если провести аналогию с электронными схемами (которые я тогда любил придумывать, а иногда и собирать), то это как возможность придумывать и собирать сколь угодно сложные схемы (точнее, конечно, в пределах имеющейся памяти) без обычных (и досадных) ограничений связанных как с наличием ламп и других деталей, так и с необходимостью разместь все где-то, провести провода и.т.д.

Все это (особенно, 2) произвело на меня такое сильное впечетление, что с тех пор я замирал всегда и всюду, когда слышал что-нибудь об электронных вычислительных машинах и программировании. И ждать мне оставалось не так долго: после 8-го класса я поступил в седьмую московскую школу (внештатными преподавателями у меня были Адельсон-Вельский, Леман, Лиманов и Миша Якобсон), а годом позже – увидел первую машину – М20 наяву и написал и отладил первую программу!

В 7-й школе я получил также и много другого: основы математики (которые служат мне всю жизнь, и которых мне хватило на то, чтобы учиться потом в институте работая «спустя рукава» - почти все врамя у меня уходило на программирование), замечательную учительницу – классного руководителя – Ирину Игоревну Юдину, также научившую меня очень многому и нескольких друзей на всю жизнь.

Моим первым учителем программирования был Андрей Леман - как сейчас помню мою зачетную программу в 10 классе - необходимость формального зачета обнаружилась, кажется, позно и задание было придумано наспех - оно называлось "ПУПЛОТ" - переупорядочивание площадей треугольнокав. Нужно было сосчитать площади серии треугольников и упорядочить (как теперь говорят, отсортировать) их значенния. Так случилось, что потом мы с Андреем еще и работали вместе: сначала в ИПУ, а потом и во ВНИИСИ; я научился от него очень многому, особенно несколько первых лет, до того, как мы немного разошлись и я стал заниматься более независимыми проектами.

Учил меня и Г.М. Адельсон-Вельский - к тому времени они уже изобрели с Е.М.Ландисом балансированные двоичные деревья - которым теперь учат всюду - по крайней мере эдесь, в Америке (под названием AVL-trees). Я правда узнал об этой работе несколько позже (кажется на лекции А. Л. Брудно).

Тогда же, еще перед окончанием школы я начал писать программу игры в шашки - я продвинулся довольно далеко - научился технике перебора, тогда еще совсем новой и даже придумал кое-что сам. Но затем - из-за недостатка и времени и энтузиазма – бросил.

Многое, чему сейчас учат тогда изобреталось или было недавно изобретено и еще не обрело ясной формы, которой можно было легко научить. Кроме уже упомянутых учителей Лемана и Адельсона-Вельского, несколько позже мне очень много дали А.С.Кронрод и А.Л.Брудно (я говорю только о программировании и очень близких к нему вещах - иначе список будет гораздо шире.)