Снежная Революция, Три Толстяка, демократическая Либерия и военный преступник Щёва
panchul — 12.12.2011 Господа! Стоило мне улететь из России 3 декабря, как через неделю в ней началась Снежная Революция. Повторилась ситуация 1991 года, когда я улетел из всё того же Шереметьева 12 августа, и через неделю началась предыдущая революция. Посему,Прежде всего - я всецело за митинги, лозунги и против гнусных фальсификаций. Если бы я был в Москве в субботу, я бы несомненно сходил на митинг на Болотной площади, особенно учитывая, что туда ходила Радулова, и у меня наконец появился бы шанс
Более того - как человек, выросший в СССР на замечательной книжке Юрия Олеши "Три Толстяка", я прекрасно понимаю весь эмоциональный пафос Революции, гвардейцев, переходящих на сторону народа и девочки Суок, танцующей перед революционной толпой.
Вы ожидаете от меня фразу "тем не менее"? Хорошо, я её произнесу.
Тем не менее.
Глядя на то, что уже неделю весь топ ЖЖ забит исключительно обсуждениями митингов, я призываю эти хороводы побыстрее свернуть и вернуться к другим, менее телевизионно ярким, но не менее революционным делам - в экономике, науке, технологии и других реальных революционных областях. Конечно, если у вас на руках есть свидетельства фальсификации выборов, то эти свидетельства нужно предать гласности и назвать все имена нарушителей, а если вы еще и юрист, то неплохо бы засудить всех лиц, до которых у вас есть возможность дотянуться. Но это занятие для небольшого количества политически и юридически подкованных людей, а когда этим занимается все общество, то может получиться, как в Перестройку 1985-1991, которая вылилась в большую говорильню вместо работы, привела к потере времени и принесла обществу гораздо меньше пользы, чем могла бы принести.
Прежде всего спросим себя: какие народы больше всего уважают в мире? Самые демократичные, с иудео-протестантскими ценностями и поголовным феминизмом? Да как сказать. Обратимся к истории очень демократичного и даже в свое время поддерживаемого американским правительством государства
Либерия. Справка из Википедии
Основание Либерии спонсировалось частными американскими группами, главным образом Американским колонизационным обществом, однако страна получала неофициальную поддержку от правительства США. Правительство Либерии было смоделированно по подобию американского, и было демократическим по структуре, но не всегда по сути. После 1877 года Партия истинных вигов монополизировала власть в стране, и все важные должности принадлежали членам этой партии. . . . . . . . Сейчас страна является одним из самых бедных государств мира. ВВП на душу населения в 2008 году — 500 долларов (226-е место в мире, этот показатель ниже только в Бурунди, Демократической республике Конго и Зимбабве). Около 80 % населения — ниже уровня бедности.
А теперь возьмем другую страну - Японию. Японцы до сих пор не уступают место женщинам в общественном транпорте, а после второй мировой войны они даже уломали американцев не трогать их
Что же случилось после того? А ничего. После войны японцы не комплексовали, не занимались говорильней, а быстро понастроили фабрик сначало по производству дешевых транзисторных радиоприемников, потом автомобили, оттяпали у американцев производство микросхем памяти, потом всю домашнюю электронику, и перед японским кризисом 1990-х годов довели бедных американцев до такого состояния, что те стали снимать в Голливуде фильмы о кровожадных японских корпорациях, которые не только покупают чуть менее кровожадные американские корпорации, но и завозят в Детройт роботов-самураев, чтобы добить остатки бедных американских автостроителей.
Отсюда вы можете увидеть, что американцы сильно зауважали японцев, по крайней мере до японского экономического кризиса 1990-х.
Теперь вернемся к России. За 20 лет после перестройки Россия сильно улучшилась - без дураков. Она стала очень милым обществом, из которого мне в две последние поездки (в июле сего года и неделю назад) не хотелось уезжать. После Москвы тот же Нью-Йорк в июле вызвал у меня раздражение. Если бы мне было 20 лет и я бы жил в России сейчас, я бы конечно не эмигрировал - может поучился бы несколько лет в штатах или поработал бы на H-1 визе, но не эмигрировал бы перманентно. Тем не менее, в определенных областях в России за 20 лет можно было бы сделать гораздо больше. Если бы россияне меньше бы занимались говорильней о "менталитете" и постоянными спорами о переустройстве, а брали бы пример с японцев и китайцев, которые не особо комплексуют, насколько демократичными их считают американцы, и методически занимаются бизнесом, наукой, технологией и т.д.
20 лет назад в Силиконовой Долине континентальный Китай вообще игнорировали, хотя было много товарищей из Сигапура, Гонконга и Тайваня. Прошло 20 лет - континентальный Китай зауважали, Россию - еще нет.
Кстати, вот видео известного в определенных кругах российского предпринимателя и финансиста Александра Галицкого, в котором он несколько многоречиво, но довольно поучительно рассуждает о том, что сейчас американские компании вынуждены планировать вперед, чтобы у них осталась роль в мире, значительная часть которого будет находится под сильным азиатским влиянием:
Почему бы такое не делать в России, не дожидаясь, пока население сменит "менталитет"? Ведь у японцев и китайцев они как-то не особенно работали над "менталитетом", да и вот Шёву/Хирохито не засудили, не говоря уже о коммунистических правителях Китая. Кроме этого, развитая Япония больше не устраивает зверства в Нанкине - экономическое развитие общество ИМХО автоматически смягчает нравы.
Замечу, что такой сценарий - натуральный кошмар всяких Новодворских и Лимоновых. Но нужно понимать, что и Новодворская, и Лимонов - это просто литераторы, устраивающие шоу в реале. Экономоческое и технологическое развитие, то есть то, за что страны уважают в реальном мире, во вселенной Н&Л является для России просто вредным, ибо оно отвлекает внимание от их перформанса. А айподы Н&Л у американцев купят.
С таким предисловием наконец-то выкладываю свою статью в газете "Троицкий Вариант" - "Между программированием и физикой". Впрочем, её содержание уже должно быть известным моим постоянным читателям.
http://trv-science.ru/2011/12/06/mezhdu-programmirovaniem-i-fizikojj
PDF - http://trv-science.ru/93N.pdf
На 7-й странице
Между программированием и физикой
Как изменить российское образование, чтобы интегрировать Россию в мировой
хайтек
Об авторе: Юрий Панчул – старший инженер компании MIPS Technologies,
которая проектирует процессоры для бытовой электроники. Процессоры MIPS
стоят в телевизорах Sony, роутерах Cisco, принтерах Hewlett-Packard. В
прошлом Юрий был основателем стартапа в области автоматизации электронного
дизайна C Level Design, который был проинвестирован Intel Capital и среди
клиентов которого были Hitachi и Fujitsu.
Мировая электронная и компьютерная промышленность проходит через период
трасформации, возможно самый радикальный за последние 30 лет. Двойная
монополия Интела и Микрософта на рынке персональных компьютеров становится
неактуальной из-за распостранения смартфонов, планшетов и облачного
хранения данных. Происходит рост как традиционных для рынка гаджетов
процессорных компаний (ARM, MIPS), так и различных альтернативных проектов,
стартовавших в Китае.
В этих условиях появляется возможность для российских компаний
интегрироваться в мировую экономику и получить свою долю мирового
электронного пирога, размер которого оценивается в $1.85 триллиона долларов
[1]. Но для российского технологического рывка необходимо существование
крупного пула квалифицированных инженеров, которых должны подготовить
российские вузы. В какой степени программа российских вузов соответствует
новым реалиям и что в них можно изменить?
Уроки перестройки
Современная российская модернизация – явление не новое, до неё была
например волна интереса к электронике и особенно программированию во время
горбачевской Перестройки. В 1985-1987 годы в школах появились компьютерные
классы с первыми советскими персональными компьютерами «Агат» и японскими
MSX Yamaha. Издательство «Мир» напечатало много переводных книг по языкам
программирования и операционным системам, появился журнал
«Микропроцессорные Средства и Системы», стал популярным переводной журнал
«Электроника».
Одним из наиболее «компьютерных» мест для учебы в СССР 1987 года
общественное мнение считало Факультет управления и прикладной математики
(ФУПМ) Физико-технического института (МФТИ). И действительно – студенты
МФТИ того времени работали на базовых кафедрах в ВЦ Академии Наук с
известным гуру Евгением Веселовым, разрабатывали программное обеспечение
для Unix в Институте им. Курчатова и авиационные встроенные системы для
ГосНИИАС. Однако «компьютерность» ФУПМ-а была поразительным образом почти
никак не связана с программой его основных курсов, в которой, по западным
меркам, практически никакой «компьютерности» не было.
В типичном западном ВУЗе типа Беркли или Стенфорда в то время был, прежде
всего, основательный, хотя и вводный, курс по алгоритмам и структурам
данных [2], основательный курс по компиляторам [3] и курсы по операционным
системам [4]. Эти курсы переплетались с практикой – студент учился писать
хороший код со сложными структурами данных и алгоритмами.
Ничего такого в программе ФУПМ МФТИ не было. Хотя многие западные учебники
были в то время переведены на русский язык, и некоторые (книга Ахо и
Ульмана по компиляторам) даже была в списке рекомендованной литературы, но
они никак или почти никак не использовались в МФТИ того времени. Студенты
учились писать простые программы на Фортране, по-видимому, для чисто
вычислительных целей, а курс по компиляторам содержал менее 10% информации
по сравнению с соответствующими курсами в заданых вузах.
Проблемы неадекватности программы Computer Science в советских ВУЗ-ах
возникали не только у выпускников МФТИ. Александр Авсеев, Principal
Architect, Corporate Research в одном из ведущих телекоммуникационных
компаний мира Huawei и выпускник Московского Авиационного Института,
утверждает: «По моему опыту, российские выпусники вузов (за исключением
ВМК'шников) практически полностью пролетают мимо CS 313 (Ред. курс по
алгоритмам и структурам данных), который в Америке практически везде
преподается стандартно на базе книг Кнута и Кормена. Т.е. начинать надо с
изучения основ, алгоритмов и структур. И знать это надо назубок. Это все
спрашивается на собеседованиях, и тут даже практически знания могут не
помочь, потому что надо знать теорию и терминологию, как свои пять».
Что же изучалось на «компьютерном» факультете МФТИ в конце 1980 годов
вместо «компьютерной науки»? Физика. Очень, очень много физики. Пять
семестров общей физики, пять семестров теоретической физики, теоретическая
механика, уравнения математической физики и математика – но только в
объеме, необходимом для поддержки физики. Для многих студентов такая
несбалансированность программы была большой загадкой, которую, как они
полагали, поможет решить будущее. Возможно, разгадка связана с тем, что
МФТИ изначально планировался как кузница инженерных кадров для разработки
межконтинентальных баллистических ракет, и программа обучения была
оптимизирована для решения возникающих при этом вычислительных задач.
Согласно Сергею Вакуленко, выпускнику ФУМП, бывшему работнику института
имени Курчатова, сейчас – инженеру по моделированию в процессорной компании
MIPS Technologies, «крен физтеховской программы в сторону матфизике был
необходим для подготовки специалистов, решающих задачи наподобие расчета
нагревания боеголовки при проходе через атмосферу. Для более актуальных на
сегодняшний день задач, например программирования встроенных систем для
современных гаджетов, все эти матфизические курсы совершенно бесполезны, а
теоретическую физику на ФУПМ-е можно было бы уложить в два семестра».
Недостатки официальной программы обучения МФТИ частично компенсировались
инициативами снизу. В1988 году на Физтехе появилась Студенческая
Лаборатория Компьютеризации (СЛК) – достаточно независимая от администрации
института организация, во главе которой стоял Олег Бацуков. Сначала это был
своего рода клуб коллективного самообразования из примерно двадцати
студентов. Потом СЛК стала заключать договора с другими институтами –
например договор с Институтом проблем кибернетики на создание системного
программного обеспечения для советского векторного суперкомпьютера
Электроника СС-БИС, аналога знаменитого американского векторного
суперкомпьютера Cray-1.
Современное состояние
За 20 лет в МФТИ произошли большие изменения. Появились адекватные курсы
процедурного, объектно-ориентированного и низкоуровневого/ассемблерного
программирования, курсы по алгоритмам и структурам данных, а также
серьезный курс по операционным системам. Появилась поддерживаемая Интелом
Кафедра микропроцессорных технологий ФРТК. Помимо «старого» компьютерного
факультета ФУПМ появился «новый» компьютерный Факультет инноваций и высоких
технологий МФТИ, студенты и преподаватели которого (Анастасия Уряшева,
Антон Моисеев, Юрий Аммосов) инициировали разработку программ на базе новой
платформы Андроид. Группа студентов и преподавателей (Александр Злобин,
Александр Бибиков) на Кафедре радиотехники МФТИ разработали систему на чипе
для бортовых компьютеров, используя синтезируемые процессорные ядра и
Программируемые Пользователем Вентильные Матрицы (ППВМ или FPGA – Field
Programmable Gate Array) – устройства, которые позволяют современному
студенту реализовать свои собственные электронные дизайны процессоров и
систем без размещения многомиллионных заказов на фабрике.
К сожалению, отдельные очаги нового еще не образовали сбалансированную
структуру курсов и практической деятельности, которую можно увидеть в
американских университетах. На компьютерных специальностях осталось
избыточное количество обязательных курсов, связанных с теоретической
механикой, теоретической и математической физикой. Дмитрий Северов,
преподаватель МФТИ и бывший замминистра связи и массовых коммуникаций
России, утверждает, что причина лежит на поверхности: «Аргументы про
"тренировку мышления" не связаны с подбором предметов никак совсем. Подбор
предметов – это, прежде всего, способность внести изменения в состав и
"построение" необходимого множества преподавателей. Надо ли объяснять,
почему последние 25 лет в высшей школе РФ условные "теорфизики" подбираются
и строятся лучше чем условные "информатики"?».
Понятно, что аналог Беркли или Стэнфорда в Подмосковье построить не
просто. Инициатива российского правительства клонировать Массачусетский
технологический институт в Сколково будет стоить сотни миллионов долларов
и, даже если эта инициатива станет успешной, она наверняка не сможет
покрыть всех нужд развивающегося российского хайтека и общества России.
Возможно, следует начинать не с копирования продвинутых курсов по
компьютерной архитектуре, в той форме, в которой они преподаются, скажем, в
Стенфорде, а с простых практических курсов по цифровому дизайну,
программированию встроенных систем и цифровой обработке сигналов (Digital
Signal Processing – DSP), которые преподает например отделение Университета
Калифорнии Санта-Крус в Силиконовой Долине (сноска: University of
California Santa Cruz Extension in Silicon Valley). Это вечерние курсы
повышения квалификации, которые используют уже работающие инженеры для
освоения областей, лежащих на границе их предыдущего образования и
практического опыта. Следует вспомнить, что одной из проблем преподавания в
России заключается в том, что большая масса теоретического материала
преподается перед практикой, из-за чего студент не может вовремя понять,
почему он изучает тот или иной раздел, метод или даже предмет. Кроме этого,
такие курсы могли бы читать и недавние студенты. Таким образом можно было
бы разрешить одно из самых явных «белых пятен» физтеховского образования –
пустоту между миром высокоуровневого программирования и миром физического
кремния и электронов, между которыми и лежат большинство ключевых
технологий, сделавших возможным современный мир гаджетов.
Между программированием и физикой
В мозгу подавляющего большинства студентов МФТИ, которые в дальнейшем
специализируются по компьютерным специальностям, есть два островка
понимания действительности – программирование на языках высокого уровня и
физика. О том, что находится между этими островками, большинство людей
просто не задумываются, полагая их деталями конструкции аппаратуры, которая
все равно меняется каждые несколько лет. Между тем в этом промежутке
находится несколько уровней развитых за десятилетия технологий, включая
чрезвычайно логически сложные – например разработку суперскалярных
процессоров.
Конечно, способный физик может прочитать введение в компьютерную
архитектуру и за несколько месяцев научиться делать примитивный
последовательный процессор, но вот пройдет ли он дальше, там, где
начинаются сложные решения? Для процессорного гуру эти устройства – не
комбинация из нескольких конструкций на уровне учебников, а многомерное
пространство решений (на одной оси - количество инструкций, выбираемых за
один цикл, на другой оси - стадии конвейера, на третьей - количество ALU, и
все это пересекается с таймингом, энергопотреблением и т.д.) Чтобы достичь
этого уровня, необходима ранняя специализация и глубокое изучение
достижений предшественников. Но даже для тех, кто не станет разработчиков
передовых цифровых устройств, а будет специализоваться либо в физике, либо
в высокоуровневом программировании, базовое понимание что происходит между
этими областями необходимо, чтобы кооперироваться с коллегами, работающими
в общей экосистеме технологий.
Проблема разрыва между программированием и физикой не уникальна для России
– её замечали и в вузах США, и в вузах других стран. Несколько лет назад
израильские профессоры Ноам Нисан (Noam Nisan) и Шимон Щокен (Shimon
Schocken) разработали курс на стыке электроники и программирования, который
в различных формах скопировали многие университеты мира, включая Стенфорд,
где версия этого курса называется «От логических элементов И-НЕ к игре
Тетрис».
Описание курса начинается так: «Представьте, что вы начинаете с
неограниченного источника лигических элементов И-НЕ (Ред. И-НЕ (NAND) –
один из простейших логических элементов цифровой электроники, строится из
двух транзисторов), и потом строите, шаг за шагом, компьютер общего
назначения, который может исполнять игру Тетрис». В процессе курса студенты
понимают, как из И-НЕ строятся другие логические элементы, их тех –
компоненеты процессора, потом студенты изучают концепцию команд процессора,
ассемблера, виртуальной машины и операционной системы.
Этот же курс можно было бы внедрить и для студентов программистских
специальностей в России, но у него есть недостаток. Российские студенты
часто учат большое количество материала в последние пару дней перед
экзаменом или зачетом, отчего некоторые объекты принципиально разной
природы из разных уровней курса могут в сознании студента склеиться.
Например, аппаратный сумматор на языке описания аппаратуры может склеиться
с командой сложения из низкоуровневого программирования на ассемблере.
Чтобы студент реально прочувствовал все уровни аппаратуры и программного
обеспечения, он должен сделать маленький проект / лабораторную работу на
каждом из этих уровней.
Первой частью двухсеместрового курса лабораторных работ могла бы быть
сборка простых электронных схем на основе микросхем малой степени
интеграции.
Второй частью курса было бы несколько лабораторных работ с реализацией
более сложных дизайнов, используя «студенческие» платы ППВМ / FPGA, и
описание аппаратуры с помощью языка Verilog.
Третьей частью курса было бы знакомство с организацией процессора,
концепциями процессорных инструкций, стадий конвейера и внешней памяти.
Сначала студенты могли бы реализовать простейший процессор, выполняющий
команды в один продолжительный такт синхросигнала низкой тактовой частоты,
потом они могли бы ввести концепцию процессорного конвейера, построить
простой конвейерный процессор и реализовать его все на той же плате ППВМ /
FPGA.
В четвертой части курса студенты перешли бы границу между аппаратным и
программным обеспечением и занялись бы не дизайном на языке Verilog, а
написанием программ на ассемблере. Для этого можно было бы использовать
платы с микроконтроллерами и написать простейшую многозадачную операционную
систему.
С одной стороны, через логические элементы, курс соединяется с физикой
полупроводников и кремниевых транзисторов, с другой стороны – с
математической логикой, с третьей – с программными средствами
проектирования электроники и систем, с четвертой стороны, посредством
изучения ассемблера – с курсом по компиляторам и с пятой стороны курс
создает твердую базу для изучения операционных систем. Для воплощения
такого курса в жизнь не требуется нанимать большое количество дорогих
экспертов – нужна просто планомерная работа молодых преподавателей с
партнерами из международных университетов и электронных компаний.
Юрий Панчул
Примечания:
1. http://www.ipc.org
2. Сейчас читается по Introduction to Algorithms by Thomas H. Cormen,
Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
3. Cейчас читается по Compilers: Principles, Techniques, and Tools by
Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman
4. Cейчас читается по Operating Systems Design and Implementation by
Andrew S Tanenbaum