Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Oberon
Перезагрузить страницу Впечатления о лекции Н. Вирта в ННГУ 26 сентября 2005
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию Впечатления о лекции Н. Вирта в ННГУ 26 сентября 2005 - 26.09.2005, 23:50

Лекция Н. Вирта в Нижегородском Государственном Университете им. Н. И. Лобачевского
прочитанная 26-го сентября 2005

Вход на лекцию был свободным. Я пришел за час до начала, но мне досталось место только в пятом ряду. Зал рассчитан примерно на 200 сидячих мест. К началу лекции слушателей пришло столько, что им пришлось приносить стулья из библиотеки и располагаться между рядов, у стен и перед первым рядом образовав еще пару новых первых рядов. Но все равно всем стульев не хватило, поэтому несколько десятков человек слушало лекцию стоя. Опоздавшие к раздаче свободных мест слушатели громоздились в дверях и коридоре – ведь войти в зал было уже не возможно. Я заметил среди таких опоздавших несколько университетских преподавателей. Организаторам пришлось провести их через другой вход, тот который со сцены. Для них были зарезервированы первые два ряда уже превратившиеся к тому времени из первых во вторые или даже третьи ряды. Было очень много студентов младших курсов. Сначала мне показалось, что подавляющая часть из них пришли просто так, но потом я подумал, что просто так места за час до начала не занимают.
Вирт начал свой доклад со вступления на русском языке. Он объяснил, что учил русский язык вместе с одной знакомой женщиной, которая училась у него немецкому языку. К сожалению, сказал Вирт, она оказалась очень умной [смех в зале] и сейчас она говорит на немецком гораздо лучше, чем он на русском. Извинился, что не будет делать доклад на русском, а то «Вы всё разбежитесь». Предложил сделать доклад на немецком языке, если мы захотим. На немецком языке ни кто не захотел, и он стал рассказывать на английском.

Переводчик, видимо уже традиционно, не уставал веселить слушателей забавными переводами фраз технического характера. Из самых смешных переводов: «Самой серьезной ошибкой сделанной в 57 году была ошибка игрек равно икс» - весь зал просто лёг со смеха. В это время Вирт ругал обозначение “x = y” используемое в некоторых языках программирования как инструкция присваивания. Смехом, правда, дело не ограничивалось. Я заметил несколько не правильных переводов искажающих смысл. Зал на это ни как не реагировал, быть может, не совсем понимая, в чем суть (было много студентов младших курсов). В частности, рассказывая про разницу между нисходящим и восходящим синтаксическим анализом, Вирт сказал, что пытался пользоваться восходящим анализом. Но, поняв, что тех же результатов можно достичь, пользуясь более простым нисходящим синтаксическим анализом, стал пользоваться только им. Переводчик, естественно, понятия не имел, что нисходящий синтаксический анализ более прост, чем восходящий, а Вирт сказал об этом очень быстро. В результате, переводчик выдал что-то такое, что понять в отрыве от оригинала было бы не реально. Спасибо Евгению Зуеву. Он сидел не далеко от переводчика и иногда приходил ему на помощь, подсказывая как следует правильно переводить технические термины.

Вирт рассказывал о «хороших идеях», которые по прошествии некоторого времени уже переставали быть хорошими, или даже ни когда ими не были. Начал он с аппаратуры. Достаточно долго рассказывал о борьбе между десятичной и двоичной системами исчисления (и о представлении отрицательных чисел), а затем о борьбе двоичной и восьмеричной или шестнадцатеричной системами представления чисел с плавающей точкой (были машины работающие с такими представлениями). И, представьте себе, оказывается, надо было доказывать, что двоичная система лучше восьмеричной или шестнадцатеричной (в них возникают аномалии при умножении чисел с плавающей точкой – результат произведения чуть-чуть меньше чем надо). Это сейчас данный вопрос кажется тривиальным, а тогда машины делали по таким «хорошим идеям». Затем подробно рассказал о виртуальной адресации. О том, почему она была необходима (вкратце: был очень мал объем оперативной памяти, и фрагменты не используемой в данный момент памяти можно было хранить на жестком диске). Выразил удивление, почему эта «хорошая идея» эксплуатируется до сих пор, ведь сейчас память исчисляется гигабайтами, а виртуальная адресация была необходима лишь тогда когда «за тридцать килобайт люди готовы были вырвать глотку друг другу». Один гигабайт и тридцать килобайт – ну очень сильно отличаются. Следующим пунктом была «хорошая идея» о расширенном наборе инструкций (instruction set – переводчик сначала как-то очень забавно перевел этот термин, но Зуев шепнул ему что-то на ухо и, далее, это переводилось как система инструкций). В академическом мире уже давно понятно, что RISC – лучше. В частности компания производитель процессоров с самым плохим набором инструкций - x86 захвативших весь мир, захватила мировое господство как раз благодаря тому, что внутри их процессоров скрыта RISC архитектура, которая только снаружи оформлена под x86. Печально то, что производители чипов не собираются что-либо менять, аргументируя это тем, что их чипы и так покупают [грустный смех в зале]. Наконец, зашла речь о «хороших идеях» в языках программирования. Тут сильно досталось Си-образному синтаксису. Досталось языкам программирования с переопределяемыми синтаксическими правилами (мы то понимаем, что Виртом имелись в виду сишные макросы и перегружаемые операторы). Естественно, про GO TO тоже было рассказано. Досталось конструкции if-then / if-then-else: «Какой же тупой был создатель Паскаля взявший конструкцию if-then / if-then-else из Алгола и перенесший ее без изменений в Паскаль. [смех в зале] Признаю свою ошибку. В Модуле конструкция была исправлена до однозначной инструкции if-then-end / if-then-else-end». Переводчику (не понимающему смысл данной конструкции) пришлось очень трудно, когда он пытался перевести, почему данная конструкция была неоднозначна, и ему просто пришлось сказать, обращаясь к слушателям что-то вроде: «ну вы сами это понимаете лучше меня». Далее речь пошла о компиляторах. Вирт рассказал о следующих «хороших идеях». Написание компилятора генерирующего ассемблерный код вместо машинных команд. Написание компилятора на не подходящем для этого языке программирования. Например, была попытка написания компилятора Паскаля на языке Фортран, в котором кроме массивов ни каких структур данных не предусмотрено (тут переводчик тоже чуток поблуждал в трех соснах не понимая, что на чем пишут). К тому времени когда Вирт стал рассказывать о тонкостях создания компиляторов, а именно о «хорошей идее» использовать дерево для таблицы символов (хотя использование простого списка приводит к более быстрому компилятору), мне показалось, что основная часть слушателей (студенты младших курсов) начинают скучать не понимая о чем речь. Был затронут вопрос о функциональных языках программирования, тоже в контексте еще одной «хорошей идеи». Далее выяснилось, что времени остается не очень много, поэтому несколько пунктов было рассмотрено вскользь или вовсе пропущено (рассказ о «хороших идеях» в ООП был пропущен, но после доклада вопрос об ООП всё-таки был задан и Вирт на него подробно ответил). Когда слайды кончились, Вирт еще довольно продолжительное время рассказывал об общей философии «хороших идей», которые вовсе не такие уж и хорошие. О том, что университеты должны вести индустрию, т.е. быть лидерами, а не наоборот – идти на поводу у индустрии. И тому подобное.

Гуткнехту в это время не здоровилось. Он выпил воду, которая стояла около него на столе, зажал голову в обе руки, так чтобы закрыть ими глаза и уснул. Спать было не удобно, приходилось постоянно менять позу. Мне было страшно на него смотреть. Страшно за него. Под конец Виртовского доклада он всё-таки стал оживать.

В конце стали задавать вопросы. Я их все уже не помню. Задали вопрос про ООП. Вирт ответил, что, по его мнению, ООП является лишь надстройкой над обычным процедурным программированием. И ни какой такой революцией не является. Сравнил словари процедура = посылка сообщения, аргумент процедуры = само сообщение, наследование = расширение типа и т.д. Произнес свою коронную фразу на счет того, на сколько американцы любят антропоцентризм и называют расширение типа словом «наследование», но, мол, дескать, вообще-то наследство обычно переходит к потомку только тогда когда предок умирает. Один молодой человек задал вопрос о том что Вирт думает о Java и C# акцентируя особое внимание на то что в них есть сборщик мусора и всё такое и вообще писать программы на них гораздо лучше. Он говорил на очень хорошем английском языке, так что переводчик не потребовался. Интонация вопроса была таковой, что, как я понял, задававший вопрос молодой человек был абсолютно не в курсе на счет Оберонов и Оберон систем (видимо знал только Паскаль 1970 года) и поэтому сделал такой сильный акцент на том что вот мол, хе-хе, в Java и C# есть сборщики мусора, прогрессивные языки-то, не то что там какой-то допотопный Паскаль!!! Вирт попросил разрешения сначала ответить на второй вопрос – про сборщики мусора. Он сказал, что сборщики мусора это конечно хорошо и программисты о них конечно должны знать. Но не стоит их вот так вот сильно выпячивать. Дескать, что тут такого-то? Ну, обычный сборщик мусора, кого этим можно удивить? Далее ответил про Java. Вирт очень спокойно так рассказал, что создатели Java за семь лет до ее создания очень подробно изучили исходные коды Оберона и, в частности, исходные коды оберонистых сборщиков мусора они тоже очень хорошо изучили. Далее испортили (corrupted) Оберон сишным синтаксисом и обозвали получившееся словом Java. Кстати, заметил Вирт, то что они испортили его сишным синтаксисом был хороший маркетинговый ход с их стороны. Что касается .Net, то она появилась в результате конкуренции, и в принципе они (Java и .Net) более-менее одинаковые. Другой молодой человек задал вопрос о работе Дейкстры, в которой предлагались инструкции циклов с несколькими точками входа или что-то в этом роде. Вопрос был задан на русском и переводчику понадобилось много времени чтобы Вирт понял о чем речь. Наконец Вирт понял о какой работе Дейкстры идет речь и ответил (на сколько я помню) что это всё дело легче просто заменить цепочкой инструкций if-then-end. И тут произошло чудо - неожиданно Гуткнехт проснулся!!! Юрий Эрнстович попросил, чтобы ему тоже разрешили ответить на этот вопрос. И что-то долго и активно рассказывал. Честно говоря, я не очень понял, но вроде речь шла о том, что нужно сделать, так как проще, а у Дейкстры сложновато. Задали вопрос про отсутствующий в Обероне exception handling. Вирту пришлось рассказывать о том, что в Оберон системах это дело, собственно, не нужно. Оберон система выполняет команды (а не программы), и если в процессе выполнения команды происходит нечто плохое, то команда просто прерывается, а сама система при этом продолжает работать, как ни в чем не бывало. То есть exception handling по большому счету нужно только в монолитных самостоятельно исполняющихся программах, а в Оберон системах нет программ, там - команды. Спросили о гипотетической возможности объединения всех парадигм программирования в едином унифицированном языке программирования. Вирт ответил, что он не рекомендовал бы так делать. Пусть уж лучше будут специализированные системы. Да и в конце концов просто есть программисты хорошо владеющие (являющиеся экспертами) только одной парадигмой, пусть в ней и работают. Другие вопросы я уже забыл или они были не очень интересными.

В завершение лекции Гергель заявил, что в будущем останется только один язык программирования, а называется он – Zonnon. И о нем речь пойдет завтра 27 сентября в докладе Евгения Зуева.
Ответить с цитированием
  (#2 (permalink)) Старый
captain cobalt captain cobalt вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.04.2005
По умолчанию Re: Впечатления о лекции Н. Вирта в ННГУ 26 сентября 2005 - 27.09.2005, 09:01

Тщательно поработать над правописанием "не" и "ни".
Цитата:
Другой молодой человек задал вопрос о работе Дейкстры, в которой предлагались инструкции циклов с несколькими точками входа
Проблема таких циклов - они имеют неприводимые (aka несводимые) потоки управления. Это радикально усложняет автоматическую оптимизацию кода.
Цитата:
И тут произошло чудо - неожиданно Гуткнехт проснулся!!! Юрий Эрнстович ...
Поскольку далеко не все присутствующие знают, кто такой Николай Вальтерович, следует дать ссылку на соответствующие определения.
Ответить с цитированием
  (#3 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию Re: Впечатления о лекции Н. Вирта в ННГУ 26 сентября 2005 - 27.09.2005, 15:48

[quote]Originally posted by captain cobalt
[b]
Цитата:
Путевые заметки по визиту Николая Вальтеровича и Юрия Эрнстовича в Россию выделена в отдельный квази-блог с фотками.

http://www.inr.ac.ru/~info21/wg2005.ru/welcome.html
Ответить с цитированием
  (#4 (permalink)) Старый
S.Yu.Gubanov S.Yu.Gubanov вне форума
Member
 
Сообщений: 587
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.12.2002
По умолчанию Re: Впечатления о лекции Н. Вирта в ННГУ 26 сентября 2005 - 28.09.2005, 11:21

Цитата:
Originally posted by captain cobalt
[b]Тщательно поработать над правописанием "не" и "ни".
С исправлениями: http://www.oberon2005.ru/r260905.html
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с Праздником! 1 сентября tancor Поздравления 2 03.12.2010 15:28
Впечатления от игры Braid T1grOK Софт и программы 0 30.10.2009 18:12
Как в Visual Studio 2005/2005 проинсталировать проект Areostar .NET 1 21.07.2008 03:41
Впечатления от мобильного телефона chillwill Сотовые телефоны 7 03.05.2008 04:50
KDE 4.0, есть ли впечатления? Matematic Офтопик 7 31.01.2008 11:50
SQL Server 2005 + Visual Studio 2005 yarmolchuk MSSQL Server 2 14.11.2007 16:55
Intel Core 2 Duo T7800 дебютирует 2 сентября pcbag Процессоры 0 16.08.2007 12:12
Что лучше Visual C++ 2005 Express Edition или VS .NET 2003/2005 dmitryn Вопросы начинающих программистов 1 03.12.2006 20:11
Москва. 30,31,32(?) сентября. Fuud Офтопик 13 05.10.2006 18:30
Однажды на лекции Алексеев Николай Юмор 4 04.07.2006 22:31
Всех с наступающим праздником 12 сентября yureckor Мысли вслух 6 14.09.2004 15:50
Есть новые и вкусные лекции по VB6.0. Налетай! Stanislav Visual Basic 3 29.01.2004 18:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов