«Элитарность программистов представляется мне очевидной и в этом представлении является интереснейшим вызовом человечеству в целом.»
— Андрей Петрович Ершов



«Суть проблемы в том, чтобы признать, что программирование требует от человека несколько особого взгляда на мир, его потребности и эволюцию, особой моральной подготовленности к своему долгу. Программист — это солдат технической революции и как таковой должен обладать революционным мышлением.»
— А. П. Ершов

Дональд Кнут вспоминал: «Это началось еще когда я был студентом последнего курса. Тогда только появилась книга Андрея «Программирование для БЭСМ», и мы, группа студентов, смогли убедить преподавателя русского языка включить её в курс в качестве одного из двух сборников текстов для изучения научной лексики».

Ершов потом водил дружбу с Кнутом и Сеймуром Пейпертом, разработал Русский алгоритмический язык, который народ за глаза называл «Ершол». В 1985 создал серию обучающих телепередач для обучения программированию школьников (советский MOOC), через год свозил группу школьников-программистов в Америку, а еще через год принял в Новосибе ответную делегацию американских школьников-программистов. (Кстати, если вы знаете участников этих событий — отпишитесь в комментах или в личку.)

Сегодня, вместе с компанией Edison, предлагаем всем отметить день рождения Андрея Петровича. Заслуги и вклад Ершова в советское (и мировое) программирование описаны в Википедии, мне же захотелось заглянуть чуть глубже и поискать фоточки первоисточники. Пару часов покопался в архиве. Нашел кое-что интересное. Под катом — много картинок и две фундаментальные науч-поп статьи Ершова про важность программирования.

А это Ершов и МакКарти если что:
image



image
А.П. Ершов и Д. Кнут (США) — организаторы Международного симпозиума «Алгоритм в современной математике и ее приложениях».

image
1953, А. П. Ершов. За пультом БЭСМ-2. Москва.

image
1985, А. П. Ершов. Телевизионные уроки программирования для школьников.

image
1987, А. П. Ершов с Джоном МакКарти в Летней Школе юных программистов. Новосибирск.

Телеуроки
image
«Учиться делать учебные передачи по информатике для телевидения оказалось делом новым для всех. «Правда, ощущение неизведанности способствовало быстрому сплочению нашего небольшого творческого коллектива… Дополнительной проблемой оказалась противоречивость требований к организации, постановке и съемке 30-минутных уроков. Трудно сказать, в какой мере эти противоречия удалось примирить друг с другом, но после длительных споров и обсуждений сложился некоторый продуктивный подход...»

image
1985 г. Телевизионная запись урока основ информатики для учащихся средней школы.

image
1985 г. Телевизионные уроки программирования для школьников.


«BusinessWeek» с интервью А.П. Ершова. 11.11.1985 (источник)

image
Октябрь, 1986 г. Рестон, США. А. П. Ершов с советскими и американскими школьниками.


07.11.1986. Пикник в парке города Сан-Франциско.

image
Экскурсия по Вашингтону

image
«Сердца и компьютеры» в «Учительской газете» с рассказом А.П. Ершова о путешествии в США. 11.12.1986





image
1987 г. Ответный визит американских школьников. Академгородок.

image
Cентябрь, 1987 г. Ответный визит американских школьников. Академгородок, парк. Церемония посадки кедров.


1987 А. П. Ершов и Дж. МакКарти в турцентре «Сибиряк» во время ЛШЮП-87.

Программирование — вторая грамотность




«Решив так назвать свое выступление, я сознаю, что это — метафора, которая многим покажется рискованной. По одну сторону нашего уравнения — экзотическая, хотя уже и весьма массовая профессия, требующая способности и длинного обучения, а по другую — общее достояние, фундаментальнейшее свойство современного человека.

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

Во-первых, нам будет легче сравнивать программирование с грамотностью, если мы вспомним, что грамотность — это историческая категория, имеющая свое предначало, возникновение и развитие. СССР — страна практически сплошной грамотности: уже 10 лет назад грамотные в ней составляли 99,7 % общего числа населения в возрасте от 9 лет и старше. 100 лет назад этот процент был чуть выше 20 %. Еще сейчас на Земле насчитывается порядка 800 млн. неграмотных.

Во-вторых, как в основе грамотности, так и в основе программирования лежит техническое изобретение: печатный станок и ЭВМ соответственно. Если развитие и распространение книгопечатания привело к всеобщей грамотности, то развитие и распространение ЭВМ приведет ко всеобщему умению программировать.»
(Читать полностью тут.)

«О человеческом и эстетическом факторах в программировании»


Из журнала «Кибернетика», № 5 за 1972 год.

«Во время пребывания в 1970 г. в Соединенных Штатах на автора произвели очень большое впечатление новые идеи профессоров Массачусетского технологического института Марвина Минского и Сеймура Пейперта об обучении детей. Они выбросили в корзину ходячее представление о том, что дети учатся бессознательно методом подражания. Они доказывают, что человек чему-то научается только в том случае, если у него в голове складывается блок-схема действия, выделены подпрограммы и проложены информационные связи. Профессор Пейперт навсегда обратил автора в свою веру на примере жонглирования двумя мячами, когда, апеллируя к его способностям программиста, он за десять минут научил его тому, чего бы он сам не сделал и за несколько часов.
[...]
Поколения людей меняются значительно медленнее, чем поколения машин. Автор хотел бы спросить у своих коллег-руководителей, знают ли они, как сделать, чтобы программист в возрасте свыше 50 лет был бы не меньше полезен, нежели 30-летний. Через 30 лет таких программистов в мире будет миллион. Пожалуй, честно будет сказать, что сейчас у нас еще нет надлежащего подхода к тому, как ассимилировать ветеранов в современных условиях изменчивости и нестабильности, сделав тем самым профессию программиста пожизненной и дающей человеку комфортабельное ощущение общественной и профессиональной полезности.»

Полный текст статьи
Памяти Г. И. Кожухина

Кому-нибудь может показаться странным намерение опубликовать в научном журнале статью по столь субъективному вопросу. История науки, однако, показывает, что в определенные периоды эстетические, организационные и вообще внешние по отношению к техническому содержанию научной дисциплины факторы вносили иногда решающий вклад в формирование и развитие данной дисциплины. Сейчас, когда программирование как наука и как профессия вступает в период своего самоопределения, анализ человеческих факторов в программировании представляется автору актуальным.

Дело в том, что, несмотря на то, а может быть, и благодаря тому, что программирование признается сейчас ключевым моментом в расширении и углублении сферы применения ЭВМ, для программистов наступают трудные времена. Объем и сложность программ возрастают непропорционально по отношению к зарплате. Романтический ореол непостижимости этой профессии, если он когда-либо и существовал, начинает меркнуть. На Западе софтверхаусы тают как вчерашний снег, а программисты начинают пополнять армию безработных. Оспаривается даже само стремление рассматривать программистов как профессионалов особого рода. Главное же — это то, что вольная армия программистов постепенно попадает в «плен» к администраторам и руководителям, которые стремятся сделать труд программиста планируемым, измеряемым, однородным и обезличенным.

У читателя не должно создаться впечатления, что автор считает эту тенденцию неправильной. Недостаточная эффективность труда программистов является, может быть, главной причиной существующего разрыва между потребностями и возможностями успешного применения ЭВМ.

С этих позиций следует согласиться, что как профессия программирование еще не достигло своей зрелости. На Западе характерным свидетельством этому в течение последних лет была волна мелкого бизнеса, связанного с так называемыми софтвер-домами. Такой софтвер-дом, или лучше сказать софтвер-хижина, сооружался в течение нескольких недель группой толковых программистов, как правило, покидавших большую организацию, в которой они получили начальный опыт. В большинстве случаев мотивом для такой инициативы была жажда наживы, полудетское желание избавиться от излишней опеки, конечно, в сочетании с некоторой интересной и полезной идеей в области разработки софтвера. Однако в дальнейшем жизнеспособными оказались лишь такие коллективы, в которых этот партизанский дух быстро заменялся режимом экономии, иерархией отношений, жесткой дисциплиной — словом, всем тем, что в свое время вытолкнуло их из родительского дома. В качестве шутки можно заметить, что вся эта история напоминает сказку о трех поросятах: братья-программисты в конце концов собрались в крепком софтвер-хаусе, но лишь после того, как первые два были унесены волчьим ветром беспощадной коммерции.

Следует отметить, что, хотя и в других проявлениях, но аналогичные явления наблюдались и у нас, когда несколько лет назад бездумный оптимизм и наивная вера во всемогущество машины в некоторых проектах заменяли собой трезвый расчет, крепкую организацию и качественное составление программ. Таким образом, подчинение программирования промышленным методам работы — это неизбежный факт. Автор считает, однако, что эта тенденция должна быть сбалансирована встречной инициативой, состоящей в том, что программист должен найти некоторую систему внутренних ценностей в своем деле, обладание которой позволит ему легче ассимилировать индустриальные методы работы, где надо — преодолевать их.

Автор убежден в том, что эта система ценностей в программировании объективно существует, однако осознана не до конца, известна не всем и поэтому требует распространения и защиты. Эта система имеет много компонент, пожалуй, самая важная из них — это профессиональный статут программиста (надо заметить, что о программистах автор здесь говорит в широком смысле, причисляя к ним и системных аналитиков), но в данный момент больше хочется сказать об эстетической или об эмоциональной стороне программирования, причем не только о том, что вознаграждает программиста, когда он выходит со своим продуктом к потребителю, но и о том, что составляет его нравственную опору, когда он остается наедине с программой или машиной.

Программирование становится массовой профессией. Однако надо иметь в виду, что сейчас это, пожалуй, самая трудная из всех массовых профессий, причем, к сожалению, эта трудность не признана в должной мере.

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

Трудность состоит в том, что собственный стек программиста должен быть не в 5-6 позиций глубины, как это обнаружили психологи у среднего человека, а той же глубины, что и стек в его очередной задаче, подлежащей программированию, плюс еще две-три позиции.
Трудность также и в том, что программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единицы. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста. А кроме того, программист должен иметь вкус к коллективной работе, понимать интересы пользователя и многое другое.

В работе эта трудность может быть преодолена только путем большого эмоционального напряжения, требующего от программиста особого самосознания и внутренней позитивной установки. Понимание этой установки необходимо для тех, кто управляет программистами, и в особенности для тех, кто их воспитывает и обучает. В качестве примера можно перечислить некоторое количество организационных альтернатив или просто трудных вопросов, правильно разрешать которые можно только с полным учетом обсуждаемых факторов:
  • Возможна и нужна ли организация разработки софтвера по принципу конвейерной линии?
  • Кого и почему труднее найти для реализации софтверного проекта — руководителя или исполнителя?
  • Как сочетать элитарность системного программирования с его массовостью?
  • Как воспитывать программиста, через мировоззрение (университет) или путем профессиональных навыков (технический институт)?
  • Что такое индивидуальные способности в программировании, специфичны ли они и нужны ли?
  • Можно и нужно ли отделять проектирование большой программы от ее изготовления?

Эти вопросы являются частью общей проблемы, поэтому сделаем лишь частные комментарии при попытке связать их постановку с анализом человеческого фактора в программировании.

О конвейере

В каком-то смысле конвейер является дьявольским изобретением. Поднимая продуктивность на небывалый уровень, он в то же время в максимальной степени превращает человека в придаток машины. Конвейерный метод в программировании может либо убить интеллектуальную компоненту в труде программиста, либо вызывать неврозы из-за противоречия между монотонностью и трудностью работы. Представьте себе человека, обязанного 8 часов в день, 5 дней в неделю, 50 недель в году решать одни кроссворды, и вы поймете, что такое программист, специализирующийся, например, на написании редактирующих программ. Одним словом, раскрепление людей по элементарным операциям в многомодульной системе — далеко не простая задача.

О руководителях и исполнителях

Не торопитесь ставить руководителя на первое место, объясняя, что, по определению, руководителя найти или создать труднее. Давайте подумаем, почему сплошь да рядом руководитель проекта предпочитает начинать с молодыми специалистами, кончившими университет два–три года назад, нежели с людьми, чей стаж работы превышает пять лет? Не потому ли, что мы предпочитаем использовать чистый лист и пластичность молодого человека, нежели преодолевать пассивное сопротивление более зрелого и менее ясного для нас 33-летнего главы семейства. Но это, в частности, означает, что мы не умеем гармонично развивать профессиональные достоинства исполнителя так, чтобы они не падали с возрастом и были бы полезны не только для руководителя, но и для него самого и его будущих начальников.
Элитарность программистов представляется автору очевидной и в этом виде является серьезным вызовом человечеству в целом, причем можно надеяться, что вызов будет принят и преодолен. Эта мысль будет расшифрована несколько позднее.

Мировоззрение и профессионализм

Проблема, конечно, не только в том, чтобы объективно оценить требуемое соотношение кандидатов наук и дипломированных инженеров-программистов, хотя вокруг этого возникает изрядное количество всем известных кадровых проблем. Суть проблемы в том, чтобы признать, что программирование требует от человека несколько особого взгляда на мир, его потребности и эволюцию, особой моральной подготовленности к своему долгу. Программист — это солдат научно-технической революции и как таковой должен обладать революционным мышлением.
Теперь подходим к тому, чтобы сформулировать центральный тезис статьи. Он состоит в утверждении, что программирование обладает богатой, глубокой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к своей профессии, являясь источником интеллектуальной силы, ярких переживаний и глубокого удовлетворения. Корни этой эстетики лежат в творческой природе программирования, его трудности и общественной значимости.

Здесь, прежде чем продолжить основную мысль, автор хотел бы подчеркнуть важность внутреннего отношения человека к своему делу. Сейчас идет много споров о том, является ли программирование специфической профессией. Это не отвлеченный спор, а дискуссия, результат которой имеет прямые организационные, юридические и образовательные последствия. Главным залогом успешного исхода этой дискуссии должны быть прежде всего самосознание и способность к взаимопониманию тех, кто относит себя к программистам. Известная пословица «рыбак рыбака видит издалека» должна найти свою интерпретацию в программистской среде.

Выделить эстетическую сущность любого вида профессиональной деятельности очень не просто. Она по своей сути реализуется в субъективных категориях и глубоко сплетается с этическим кодексом профессии, с ее техническим содержанием и юридическим статутом. Поэтому перечисление эстетических компонент программирования в этой статье также будет носить субъективный и очень предварительный характер.
Сначала сделаем некоторые замечания, отражающие внутреннюю природу программирования.

Творческая и конструктивная природа программирования не требует особых доказательств. Автор хотел бы высказать, быть может, более спорную мысль, что в своей творческой природе программирование идет намного дальше большинства других профессий, приближаясь к математике и писательскому делу. В большинстве других профессий мы лишь «приручаем» при помощи сил природы те или иные физические или биологические явления, не обязательно постигая их сущность. В программировании же мы в некотором смысле идем до конца. Один из тезисов современной теории познания: «мы знаем что-то, если можем это запрограммировать» — очень выпукло характеризует этот максимализм нашей профессии.

Другим очень важным эстетическим принципом программирования является его высочайшая требовательность к законченности продукта. Конечно, это характерно для многих инженерных профессий. Однако программирование и здесь идет дальше. Хотя в мультимиллионных программных конгломератах это свойство почти исчезает, однако на уровне индивидуальной работы всегда существует поразительный контраст между почти сделанной и полностью сделанной работой. Эта стопроцентность программирования — источник его трудности и в то же время глубочайшего удовлетворения работающей программой.

Машина, снабженная программой, ведет себя разумно. В этот кульминационный момент программист сознает, что его программа, получая самостоятельную жизнь, материально воплощает его интеллектуальные усилия, становящиеся отныне общим достоянием. Это торжество интеллекта, наверное, самая сильная и самая специфическая сторона программирования.

В отношении к машине у добросовестного программиста есть еще одна особенность. В некотором смысле он относится к ней, как хороший жокей к своей лошади. Зная и хорошо понимая возможности машины, он никогда не позволит себе компенсировать леность ума беззаботной тратой ресурсов ЭВМ. Это чисто эстетическое отношение к делу является самым эффективным предохранителем против бездумной «пессимизации» софтвера, которая иногда сводит на нет эффективность использования машины.

Другую часть эстетической сущности программирования составляют такие его компоненты, которые связаны с социальной, или общественной, функцией программирования. Всякий раз, когда мы рассматриваем социальное явление большого масштаба (а появление и использование ЭВМ, безусловно, являются таковыми), мы должны поискать некоторые широкие исторические аналогии, которые могут дать какую-то опору для экстраполяции и предвидения. О том, что ЭВМ принесли с собой научно-техническую революцию и связанную с ней индустриализацию умственного труда, уже говорилось. В этом месте хотелось бы провести еще одну аналогию, которая имеет более прямое отношение к профессии программиста. Разработка и распространение софтвера во многом напоминают то, что произошло в результате появления книгопечатания. Как книги накапливают внешний образ мира в глазах их авторов и позволяют воспроизвести процесс его познания, так и программы и банки данных накапливают информационную и операционную модели мира и позволяют не только воспроизводить, но и предсказывать его эволюцию, давая тем самым небывалую власть над природой.

Быть сейчас хорошим программистом — это такая же привилегия, как быть грамотным человеком в XIV веке. Эта привилегия дает право программисту ожидать аналогичного признания и уважения со стороны общества. К сожалению, эти ожидания не всегда оправдываются. Следует, однако, заметить, что осуществление такого признания требует работы с обеих сторон. В частности, для программиста необходимо следование одному этическому принципу, который носит общий характер для всякого профессионала, но имеет специальную интерпретацию для программиста. Несколько упрощенно имеют место три варианта: работа ради работы, работа ради денег, работа ради цели.
В системе координат программиста первые два мотива стоят на первом плане, хотя в абсолютной системе координат имеет значение лишь третье. В связи с этим надо всегда помнить, что программист сможет достичь полной гармонии с обществом только в том случае, если лояльность той цели, в достижении которой его программа является лишь частью, станет его внутренней установкой.

Говоря об общественной функции программирования, нельзя не заметить, что на пути к реализации этой функции лежит одна нерешенная техническая проблема — обеспечение аккумулятивного эффекта программирования. Это очень сложная, но абсолютно необходимая для решения проблема. Спектр мнений о ней бесконечен. Одни говорят, что сейчас работают только считанные проценты составленных программ, другие считают, что ОС/360 — это уже практически бессмертный комплекс программ. Возвращаясь к теме статьи, хочется сказать, что предоставление программисту перспективы длительного и стабильного использования продукта его труда окажет решающее воздействие на его профессиональное самосознание.

Автор хотел бы теперь с позиций только что сделанных утверждений завершить обсуждение ранее перечисленных альтернатив и трудных проблем.

Об индивидуальных способностях в программировании

Нам необходим образ идеального программиста. Конечно, это будет мифическая личность. Но кто сказал, что нам не нужны мифы и сказки о программистах? Каждый из нас должен хоть раз в жизни видеть или хотя бы слышать о чудо-программисте, из программы которого нельзя убрать ни одной команды или который пишет тысячу команд в день, или обнаруживает ошибку при исходном шансе один к миллиону и т. д. Человеку свойственно искать ориентиры и примеры. Именно с этих позиций, по-видимому, следует решать спор о пресловутых «примадоннах» в командах программистов. Объявлять их нежелательными — это, по крайней мере, близорукость или зависть к их исключительным качествам. Автору посчастливилось в жизни встретить несколько таких примадонн от программирования, которые при всей их индивидуальности и даже экстравагантности вносили неоценимый вклад в работу группы, в особенности в трудных ситуациях. Так что надо признавать и полностью учитывать весьма широкий диапазон индивидуальных способностей к программированию.

О разделении проектирования и изготовления софтвера

Налицо двойственное отношение к этому вопросу. Руководители, ответственные за долговременные проекты, и многие другие ищут пути к формализации этапов разработки и передаче проекта из одних рук в другие. С другой стороны, само дело отчаянно сопротивляется такому разделению. По-видимому, правильное решение этого вопроса невозможно без учета человеческого фактора и эстетической потребности, препятствующей тому, чтобы заниматься реализацией чужих идей или не видеть самому овеществления своей идеи. Отдавать технический проект в другие руки — то же самое, что посылать своих детей в интернат.

В заключение вернемся к тезису об элитарности программирования и о его будущем. Наша апологетика, на первый взгляд, подчеркивала исключительный, особый характер программирования и его предельные требования к человеческим возможностям. Эта требовательность и образует тот самый вызов человеку, о котором говорилось выше. Во время пребывания в 1970 г. в Соединенных Штатах на автора произвели очень большое впечатление новые идеи профессоров Массачусетского технологического института Марвина Минского и Сеймура Пейперта об обучении детей. Они выбросили в корзину ходячее представление о том, что дети учатся бессознательно методом подражания. Они доказывают, что человек чему-то научается только в том случае, если у него в голове складывается блок-схема действия, выделены подпрограммы и проложены информационные связи. Профессор Пейперт навсегда обратил автора в свою веру на примере жонглирования двумя мячами, когда, апеллируя к его способностям программиста, он за десять минут научил его тому, чего бы он сам не сделал и за несколько часов.
Таким образом, человек неизмеримо усилит интеллект, если сделает частью своей натуры способность планировать свои действия, вырабатывать общие правила и способ их применения к конкретной ситуации, организовывать эти правила в осознанную и выразимую структуру,— одним словом, сделается программистом.

Когда-то возможность читать и писать считалась уделом избранных. Сейчас, в эпоху грамотности, на что потребовалось 1000 лет, мы выделяем новую избранную категорию людей, которые становятся посредниками между человечеством и информационной моделью мира, упрятанной в машины. Сделав искусство программирования общим достоянием, мы лишимся своей элитарной исключительности перед лицом повзрослевшего человечества. Это ли не высший эстетический идеал для нашей профессии?

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

Мы назвали ряд актуальных проблем, связанных с человеческим фактором в программировании. Пожалуй, самая главная не была названа. Поколения людей меняются значительно медленнее, чем поколения машин. Автор хотел бы спросить у своих коллег-руководителей, знают ли они, как сделать, чтобы программист в возрасте свыше 50 лет был бы не меньше полезен, нежели 30-летний. Через 30 лет таких программистов в мире будет миллион. Пожалуй, честно будет сказать, что сейчас у нас еще нет надлежащего подхода к тому, как ассимилировать ветеранов в современных условиях изменчивости и нестабильности, сделав тем самым профессию программиста пожизненной и дающей человеку комфортабельное ощущение общественной и профессиональной полезности.

[источник]



P. S.


image
Рабочая запись. Схема формы и способа существования материи, ее всеобщие атрибуты.

P.P.S


Задачка:
image



«Чем глубже мы заглянем в историю, тем лучше увидим будущее.»
– Уинстон Черчилль

Вместе с компанией Edison продолжаем весенний марафон публикаций.

Я постараюсь докопаться до первоисточников IT-технологий, разобраться, как мыслили и какие концепции были в головах у первопроходцев, о чем они мечтали, каким видели мир будущего. Для чего задумывались «компьютер», «сеть», «гипертекст», «усилители интеллекта», «система коллективного решения задач», какой смысл они вкладывали в эти понятия, какими инструментами хотели добиться результата.

Надеюсь, что эти материалы послужат вдохновением для тех, кто задается вопросом, как перейти «от Нуля к Единице» (создать что-то, чего раньше и в помине не было). Хочется, чтобы IT и «программирование» перестали быть просто «кодингом ради бабла», и напомнить, что они задумывались как рычаг, чтобы изменить методы ведения войны образование, способ совместной деятельности, мышления и коммуникации, как попытка решить мировые проблемы и ответить на вызовы, вставшие перед человечеством. Как-то так.

0 марта. Сеймур Пейперт
1 марта. Xerox Alto
2 марта «Позвоните Джейк». История NIC и RFC
3 марта Грэйс «бабуля COBOL» Хоппер
4 марта Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»
5 марта Хеди Ламарр. И в кино обнаженной сняться и во врага торпедой пульнуть
7 марта Великолепная шестерка: девушки, которые термоядерный взрыв рассчитывали
8 марта «Видеоигры, я ваш отец!»
9 марта С днём рождения, Джеф Раскин
14 марта Джозеф «Lick» Ликлайдер: «Интергалактическая компьютерная сеть» и «Симбиоз человека и компьютера»
15 марта Вэнивар Буш: «Как мы можем мыслить» (As We May Think)
16 марта С днем рождения, Ричард Столлман
21 марта Дуглас Энгельбарт: «The Mother of All Demos». Часть 1
7 апреля Роберт Меткалф: папа EtherNet, отличный инженер и фиговый предсказатель (но за слова ответил)

Комментарии (44)


  1. Dimonyga
    19.04.2016 06:55
    +16

    Читал, грустил…
    «то развитие и распространение ЭВМ приведет ко всеобщему умению программировать.» — так бы и было если не большое НО.
    Прости нас Юр… Андрей, мы всё просрали…


    1. lpre
      19.04.2016 11:24
      +7

      Прости нас Андрей, мы всё просрали


      Почему, собственно?

      «Всеобщее умение программировать» вовсе не обязательно означает «умение алгоритмически мыслить и кодить на языках программирования».

      И вообще, программирование не самоцель. Если управление различными компьютерами (куда относятся и куча встраиваемых деайсов), включая описание новых задач («программирование»), возможно через простые интерфейсы или даже на естественных языках, зачем нам вообще «всеобщее умение программировать» в том смысле, о котором вы (вероятно) сожалеете?

      Так что мы не только ничего не слили, но и развились намного дальше большинства прежних представлений об использовании ЭВМ. И окончания этого развития пока не ожидается :-)


    1. vanyamasnuha
      19.04.2016 11:28
      +1

      >всеобщее распостанение бумаги приведет к всеобщему умению начертить чертеж реактивного двигателя
      Зачем обычному человеку умение програмировать? Неумение спроектировать часть автомобиля не мешает на нем ездить.


    1. osipov_dv
      19.04.2016 11:28
      +1

      Не совсем так, сейчас программистов гораздо больше чем тогда. Думаю в данном контексте «всеобщее» подразумевает более узкий смысл. А не то что кухарка способна управлять государством :)


      1. ruslanys
        20.04.2016 01:13

        Как правильно подметил hdfan2, я думаю «всеобщее» в данном смысле указывает на доступность обучения программированию. Всеобщее среди желающих/способных. Ершов ведь пытался популяризировать, сделать доступной методику обучения программированию (как, например, видео уроки), что в то время было фантастикой.

        Поэтому, на мой взгляд, мы в какой-то степени реализовали его мечту. Сейчас научится программировать может имеет возможность каждый.


    1. BiosUefi
      19.04.2016 11:29

      Капитализм — общество потребления.
      Ура, наконец мы все просрали, и у нас теперь вдоволь жевачки и джинсов.


    1. hdfan2
      19.04.2016 11:29
      +6

      О, просраливсеполимерщики подтянулись. Везде только плохое видят. Сейчас прекрасное время: хочешь — изучай программирование, не хочешь — просто пользуйся уже готовым. Вы просто не застали те, советские ещё времена, и не представляете, как тогда было тяжело интересующимся программированием. Достать хоть какой-то комп — нереально, даже получить к нему доступ на час в неделю — тот ещё квест. А сейчас? Одной средней зарплаты вполне хватит, чтобы уже начать что-то изучать, что-то писать. Так что не надо рассказывать, как сейчас всё плохо. Да, сейчас всё иначе, и программирование уже не наука и не магия (если не считать написание ОС и драйверов для железа), а скорее ремесло. Но зато оно куда как доступней, чем раньше. Кто хочет — тот делает, а кто не хочет, тот ноет. Извиняюсь, если излишне резко получилось.


    1. ArkturTierry
      19.04.2016 11:29
      +2

      А за что прощать? За то что человек был идеалистом и плохо представлял себе как работают головы у большинства людей? Предвижу массу минусов к этому комментарию, но прошу задуматься коллег: а чем бы вы занимались и какие были бы у вас зарплаты, если бы все вокруг умели программировать?


      1. ruslanys
        20.04.2016 01:21

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

        Вы пропустили цитату:

        По одну сторону нашего уравнения — экзотическая, хотя уже и весьма массовая профессия, требующая способности и длинного обучения, а по другую — общее достояние, фундаментальнейшее свойство современного человека.


        «Всеобщее умение программировать» воспринято слишком буквально.


      1. avost
        20.04.2016 01:27

        Ну, это простая задачка. Как известно, все вокруг умеют учить, лечить и играть в футбол. Но на уровне зарплат соответствующих специалистов это не сказывается ни как ни в ту ни в другую сторону.


        1. ArkturTierry
          20.04.2016 10:08

          Извините, вы подменяете понятие «иметь мнение о том как надо правильно» и «уметь». Уметь в данном случае -это значит быть профессионалом, т.е. получать за свою деятельность деньги. Дворовым командам по футболу стали платить зарплату? Бабушкам, знающим все о ревматизме, кто-то заносит денег за консультации? Плюс к тому, программирование очень сильно отличается от многих других видов деятельности за счет возможности очень дешевого распространения результатов труда. Повара, врачи и футболисты так не могут) Наиболее близко к программированию с текущих условиях -это написание музыки. Ибо тоже требует получения специфических знаний и навыков, ну и таланта как без этого. Но если бы все вокруг умели писать музыку, то доходы звукозаписывающих компаний ушли бы в минуса. С программированием было бы похоже.


          1. avost
            20.04.2016 11:46

            Ничуть. Ершов ничего не говорил о том, чтобы всех поголовно сделать именно профессиональными программистами. Все в школе изучают химию, но как это сказывется на зарплатах химиков? А ни как. Меня в школе научили умению работать на токарном станке. Как это сказывается на зарплатах профессиональных токарей? А ни как.
            Если про «учить и лечить» скорее призказка, то с футболом аналогия абсолютная. Футболисты очень даже умеют очень дёшево распространять результаты своего труда. Трансляции (и очень дорогие!) это обеспечивают куда лучше, чем магазины приложений.


    1. Idot
      19.04.2016 16:26
      +4

      Всеобщее умение програмировать это:

      программисты начинают пополнять армию безработных. Оспаривается даже само стремление рассматривать программистов как профессионалов особого рода © Ершов

      мечтаете о таком? Жалеете, что не так?
      Наверное, Вы — менеджер, мечтающий платить програмистам как набранным с улицы продавцам шаурмы.
      А Ершов судит об этом с точки зрения человека живущего при социализме, которому нет нужды думать о завтрашнем дне! И к тому же он судит с позиции советского ВУЗовского преподавателя, которому в радость видеть полные залы студентов, а найдут ли эти студенты потом работу и т.п., — его АБСОЛЮТНО НЕ ВОЛНУЕТ. Не было в советское время такой проблемы, чтобы выпускник ВУЗа оказался никому не нужен и не нашёл работы. А ситуация, когда программировать умеют абсолютно все, в реалиях капитализма приведёт именно к такой проблеме.


      1. ruslanys
        20.04.2016 01:39

        Как я уже отвечал выше, «всеобщее умение программировать» — воспринято «в лоб». Научить всех программированию и заставить программировать — утопия. И кстати, такое мог придумать только программист)

        Что касается безработицы — сейчас острая нехватка кадров, крупные компании беспрерывно ищут компетентных специалистов. Но, вероятно, когда-нибудь кризис с нехваткой кадров, закончится, но это тоже не плохо, это будет повышать требования к квалификации программистов. Тем более, мы уже сейчас можем замечать замедление роста производительности ЭВМ. То есть, развитие «железа» уже не такими широкими шагами шагает. А вместе с тем аудитория пользователей ЭВМ только увеличивается. Я к тому, что программирование, как профессия, вероятно столкнется с новыми трудностями что в итоге отразится на повышенные требования к квалификации.

        Проще говоря, выводов два:
        1. Хороший программист всегда найдёт работу.
        2. Научить всех программированию — утопия.


  1. gena_glot
    19.04.2016 11:20
    +5

    «знают ли они, как сделать, чтобы программист в возрасте свыше 50 лет был бы не меньше полезен, нежели 30-летний.»

    Непонятна эта фраза, у 50-летнего программиста на 20 лет больше опыта. Даже при условии сегодняшнего мирового прогресса Технологий, человек в 50 лет действительно может не знать самых новых и крутых либ (может, и не надо кстати, некоторые типа node.js).

    Но +20 лет опыта это +20 лет опыта. Это опыт создания сложных систем, со всевозможными проблемами багами и прочим.

    Нам наверное пора отучаться думать что «лучшему программисту 30 лет» и пытаться удерживать в программировании чем дольше тем лучше, чтобы инженерный опыт накапливался. Такие дела.


    1. Cromathaar
      19.04.2016 14:25
      +3

      Опыт имеет много негативных сторон, больше, чем вам кажется. Он устаревает, скатывается в конкретику, давит грузом, обманывает. Управление собственным опытом — это сегодня основополагающее умение для тех, «кому за 30», и, надо сказать, далеко не все могут (хотят?) его освоить.


      1. itforge
        19.04.2016 18:46

        Ещё, возможно, 50-летними дяденьками труднее управлять, чем 30-ми и тем более 20-летними. Хотя могу, конечно, ошибаться.


  1. myxo
    19.04.2016 12:14
    +9

    Являюсь преподавателем на ЛШЮП, так что кого-то из участников событий встречи американских школьников должен знать, нужно поспрашивать. Вам это для дела какого-то?

    Ну и на правах рекламы =) Если вы не в курсе о чем речь, Андрей Петрович в свои годы организовал Летнюю Школу Юных Программистов, и она продолжает свое существование по сегодняшний день (в этом году будет 41 школа). Суть школы в том, что мы забираем ваших детей на 2 недели куда-нибудь в лес (школы у нас проходят не в городе, а на базе какого-нибудь лагеря), и там усиленно учим их программировать. Упор мы делаем не на олимпиадное программирование (как у некоторых), а на реализацию каких-то проектов (их примеры вы можете посмотреть на сайте). Дети распределяются между проектами и кодят их.

    ps. мы всегда ищем спонсоров


    1. iminusd
      19.04.2016 18:25

      У вас есть программа обучения для детей инвалидов и/или особенных детей?


      1. myxo
        19.04.2016 23:53

        такого у нас, к сожалению, нет.


  1. Warrior31337
    19.04.2016 15:45

    Большое спасибо за подобный исторический экскурс в фотографиях и фактах. Родилась идея плаката для дома. =)


  1. hendehog
    19.04.2016 15:45
    +1

    Вообще-то «Ершаль» мы его называли за явное сродство с Паскалем.


  1. Shamov
    19.04.2016 15:52
    -1

    Я всегда считал, что современный уровень развития open source обусловлен в основном тем, что программисты старой школы вышли на пенсию. И им просто не удалось найти себе более интересное занятие, чем программирование. Раньше я думал, что это произошло неожиданно для всех. Но, оказывается, Ершов уже тогда предвидел, что через тридцать лет будет миллион программистов, которые ничем не будут заняты.


    1. ruslanys
      20.04.2016 00:38

      Open source — не значит, что этим занимаются миллионы программистов старой школы, которые ничем не заняты. Мало того, open source даже не значит «бесплатно».


      1. Shamov
        20.04.2016 06:50

        Я знаю, что значит «open source». Речь не о том, что программисты старой школы, вышедшие на пенсию, его создали. Но именно они являются причиной столь бурного роста в последние годы.


        1. ruslanys
          20.04.2016 08:47

          Аргументы?


          1. Shamov
            20.04.2016 09:58

            Совпадение двух феноменов по времени. Само по себе это ничего не значит, но очень хорошо согласуется с моим личным опытом. Я активно контрибьютил в open source, пока был студентом, и был не слишком занят. В дальнейшем кое-какую активность в этом направлении я проявлял в те периоды времени, когда нигде не работал. И я планирую активно заниматься этим, когда выйду на пенсию. Ну, и здравый смысл подсказывает мне, что мой опыт не уникален, а скорее является типовым.


  1. SNPopov
    19.04.2016 18:25
    +2

    Очень понравился в свое время заголовок выступления А.П. Ершова на одной из конференций (самый конец семидесятых или начало восьмидесятых). «Персональный компьютер — первое млекопитающее в эпоху динозавров».


  1. baza906
    19.04.2016 18:25
    -1

    Наши люди не могут без душевного поиска. Вот и Андрей Петрович искал моральную подоплеку в программировании, а не просто слепо верил в прогресс ради прогресса.


    1. Shamov
      20.04.2016 06:56

      Прогресс ради прогресса — это тоже моральная подоплёка. Те, кто двигают прогресс ради прогресса, верят в то, что прогресс — это добро, а отсутствие прогресса там, где он уже назрел, — это зло.


      1. baza906
        20.04.2016 09:51

        Если люди верят в то, что прогресс — это добро, то прогресс получается ради добра, а не прогресса. Прогресс ради прогресса — это новшества, не имеющие никаких социально полезных функций, либо имеющие, но сомнительные. Как пример — прогресс в сфере развлечений.
        Естественно, это только мое субъективное мнение.


        1. Shamov
          20.04.2016 10:15

          Так не бывает. Люди мотивируются либо материально, либо духовно. Других источников мотивации у людей нет. Управление людьми всегда сводится либо к материальному поощрению тех, кто лучше поддаётся управлению, либо к внушению им мысли о том, что они находятся на стороне добра и делают правое дело. Ваш пример со сферой развлечений можно свести как к первому, так и ко второму. Материальная мотивация может быть основана на том, что продукты в области развлечений пользуются большим платёжеспособным спросом. Но можно замотивировать людей и через то, что скука — это бич современного человечества… это самое страшное зло из тех, с которыми человечеству приходилось когда-либо сталкиваться… те, кто посвящает себя борьбе со скукой, — это воины добра. Согласитесь, не самый плохой способ самореализации — быть паладином XXI века?


          1. ArkturTierry
            20.04.2016 11:40

            Про «бич современного человечества»… Обломов, Печорин, Онегин -ничего не говорящие фамилии?


            1. Shamov
              20.04.2016 11:54
              +1

              В те времена скука была проблемой аристократической элиты. Сейчас же её масштабы таковы, что страдает весьма заметная часть человечества. Конечно, это не самые лучшие представители. Но разве они не люди? Разве не заслуживают они доброго отношения? Если такого человека можно избавить на какое время от мучительной скуки тем, что он посмотрит очередную серию «Игры престолов», или мобильной игрой, где нужно все время бежать вперёд и собирать монетки, то почему бы не сделать такому человеку добро?


              1. ArkturTierry
                20.04.2016 14:43

                Заметная -это какая? Небольшая часть Золотого миллиарда? Ну, в абсолютном выражении эта часть выросла с 19-го века, а по-сути ничего не изменилось. Те кто хочет себя занять чем-то -занимает. Те кто хочет скучать -скучает. Скука -она от лени а не от невозможности себя чем-то занять или развлечь.


                1. Shamov
                  20.04.2016 15:33

                  Скорее большая часть золотого миллиарда. Сама по себе лень не может быть исходной причиной, поскольку она сама уже является следствием. Человек ленится, когда не знает точно, что конкретно ему нужно сделать, чтобы гарантированно стало «хорошо». Иногда проблема с «конкретно». Т.е. в общем и целом задумка ясна, но для предпринятия каких-то конкретных шагов понимания не хватает. Иногда проблема с «гарантированно». Т.е. и задумка ясна, и что конкретно надо делать — понятно, но нет уверенности в успехе.


                  1. ArkturTierry
                    20.04.2016 16:00

                    https://youtu.be/oVLp69L5gcs


          1. baza906
            20.04.2016 12:39

            Насчет двух видов мотивации — тут с вами согласен. Но вот насчет избавления от скуки… Получается, мы предлагаем завуалированное безделье, сопровожденное часто моральной, умственной и физической деградацией, взамен безделью абсолютному. Избавление от скуки — это строительство спортивных сооружений, организация образовательных курсов и развивающего досуга.


            1. Shamov
              20.04.2016 12:59

              Именно поэтому в мире существуют разные религии. Они не сводимы друг к другу, потому что их моральные нормы основаны на разных ценностях. Для вас базовой ценностью является развитие человека — физическое и умственное. Когда человек развивается вы оцениваете это как «хорошо», а когда он тупо убивает время — как «плохо». И поэтому вы стараетесь придумать, как совместить досуг с развитием. А у кого-то другого иные ценности. Он видит смысл досуга лишь в том, чтобы человек мог отдохнуть и не страдал от скуки. И поэтому когда кто-то с удовольствием играет в красивую мобильную игру, это уже воспринимается как «хорошо».


              1. baza906
                20.04.2016 13:08

                Согласен с вами, сколько людей, столько и мнений. Именно по этому я и уточнил, что мнение насчет прогресса в сфере развлечений — мое субъективное.
                Если будет желание — можем обсудить вопрос с религиями. Есть 2 вопроса — так ли они не сводимы и почему поэтому они существуют («Именно поэтому в мире существуют разные религии»)?


                1. Shamov
                  20.04.2016 15:19

                  Можем и обсудить, но только коротко, поскольку это явный оффтопик.

                  Для примера возьмём три варианта христианской религии: православие, католичество и протестантизм. Православие базируется на том, что самое главное — справедливость. «Хорошо» — это когда справедливо… т.е. каждый получает ровно то, чего заслуживает. Если кто-то получает больше или меньше, чем заслуживает, то это в той или иной мере несправедливо, а значит «плохо». Католичество базируется на том, что самое главное — это соблюдение закона. Когда кто-то соблюдает букву закона, он поступает «хорошо»… в противном случае — «плохо». Критерием является только закон. В протестантизме критерием «добра» служит богатство. Считается, что сами люди не могут оценивать друг друга с моральной точки зрения. Это может делать только бог. Когда кто-то живёт правильно, бог вознаграждает его тем, что помогает в бизнесе. Со временем действительно праведному человеку удаётся накопить богатство. И сам этот факт доказывает, что он в этой жизни был «хорошим».

                  Вот и попробуйте свести эти три религии друг к другу. Или хотя бы две из них…

                  Теперь второй вопрос. Разные религии существуют, потому что единой системы ценностей не существует. Это не значит, что её не может существовать. Если бы можно было перепроектировать человечество с нуля, насадив всем людям одну и ту же систему ценностей (она насаждается через воспитание детей… как внутри семьи, так и государством), то можно было бы придумать такую систему, которая бы устроила всех. Но по факту исторически так сложилось, что у разных людей разный культурный бэкграунд. А значит и разные ценности. Переделать людей можно, но это сложно. Попытка воздействия на базовые ценности вызывает у людей агрессию. Разумеется, это не очень удобно. Из-за разных ценностей людям сложно взаимодействовать. Но в сложившихся обстоятельствах нет никакого способа перейти к ситуации, когда всеми принимается одна единственная универсальная система ценностей. Эта проблема имеет много общего с проблемой кроссплатформенности. Конечно, было бы неплохо иметь одну хорошую платформу, которую все использовали бы. Но на деле приходится мириться с существованием нескольких платформ и разрабатывать кроссплатформенные приложения, которые были бы совместимы со всеми.


                  1. baza906
                    20.04.2016 20:22

                    Полностью согласен со второй частью, по первой есть вопросы, ну да ладно уже, действительно, не будем так далеко уходить от темы статьи. Было приятно пообщаться


  1. nemilya
    20.04.2016 00:02

    Вспомнил из классической книги Гради Буча «Объектно-ориентированный анализ и проектирование»:

    Человечество, по милости Божией, жаждет душевного покоя, эстетических достижений, безопасности семьи, справедливости и свободы, не удовлетворяясь повышением производительности труда. Но именно повышение производительности труда позволяет делиться избыточным, а не драться за недостающее; оно освобождает время для духовного, эстетического и семейного. Оно позволяет обществу направить часть своих средств на институты религии, правосудия и сохранения свобод.

    Арлан Миллс (Harlan Mills) DPMA и человеческая производительность (DPMA and Human Productivity)


    1. ArkturTierry
      20.04.2016 11:57

      Мировая война, случившаяся из-за дележа ресурсов и рынков сбыта смотрит на Г.Буча с недоумением.