Сегодня к нам на фирму заезжал создатель языка ПАСКАЛЬ Никлас Вирт. Собрался зал с заинтересованным народом. Нас предупредили (в последний момент), что Вирт не будет повторять то, что было сказано на вчерашней лекции в политехническом институте, а просто ответит на вопросы. Вот три интересовавших меня вопроса и ответы на них Вирта. Для меня лично, все эти ответы звучат по меньшей мере неожиданно.
1. Про общий вопрос про перспективы языков он говорит, что сейчас требуется разработать язык, в синтаксис которого был бы изящно встроен параллелизм. Причем критерием достижения этой цели он считает лёгкость обучения студентов. Т. е. это должен быть такой язык с параллелизмом в синтаксисе, которому было бы легко обучать.
2. Я спросил его, а не нужен ли в таком случае язык, в синтаксис которого были бы изящно встроены идеи паттернов проектирования. Он сказал, что не является специалистом по паттернам проектирования, но знает, что некоторые люди принимают их, а некоторые -- не принимают. Посему он смотрит на паттерны как на новшество, которое его пока не заботит. Говоря вообще, он -- скорее за свободу для программиста, чем за какие-то предопределенные "паттерны".
3. Тогда я спросил его, что он думает по поводу значения UML и его будущего. Он ответил: "Я не сторонник UML. Я считаю, что UML -- шаг назад, ибо продвигает идею блок-схем, а блок-схемы хороши только для решения совсем уж примитивных задач. Всё это -- этап, пройденный в конце 70-х"
Увы, я не разжился заранее ничем таким, на чём было бы прилично попросить автограф
Пономарёв Иван wrote:
> 1. Про общий вопрос про перспективы языков он говорит, что сейчас > требуется разработать язык, в синтаксис которого был бы изящно встроен > параллелизм. Причем критерием достижения этой цели он считает лёгкость > обучения студентов. Т. е. это должен быть такой язык с параллелизмом в > синтаксисе, которому было бы легко обучать.
Вирт изобретает Эрланг...
> 2. Я спросил его, а не нужен ли в таком случае язык, в синтаксис > которого были бы изящно встроены идеи паттернов проектирования. Он > сказал, что не является специалистом по паттернам проектирования, но > знает, что некоторые люди принимают их, а некоторые -- не принимают. > Посему он смотрит на паттерны как на новшество, которое его пока не > заботит. Говоря вообще, он -- скорее за свободу для программиста, чем > за какие-то предопределенные "паттерны".
При этом предлагая встроить паттерны многопоточного проектирования в
язык (см. пункт 1). Нда....
Здравствуйте, Cyberax, Вы писали:
C>Вирт изобретает Эрланг...
Ты ничего не путаешь? Если нет, откуда информация? В соседнем топике Вирт вообще не очень лестно высказывался об ФЯ в целом (http://rsdn.ru/Forum/Message.aspx?mid=1396021&only=1
Здравствуйте, Глеб Алексеев, Вы писали:
ГА>Здравствуйте, Cyberax, Вы писали:
C>>Вирт изобретает Эрланг... ГА>Ты ничего не путаешь? Если нет, откуда информация? В соседнем топике Вирт вообще не очень лестно высказывался об ФЯ в целом (http://rsdn.ru/Forum/Message.aspx?mid=1396021&only=1
Здравствуйте, Alxndr, Вы писали:
A>Позволю себе вставить 5 коп . A>Эта фраза A>, ИМХО являлась сарказмом на тему "Вирт пытается выдумать то, что и так уже имеется в наличии".
Перечитал, подумал... Возможно, ты прав. То ли мне надо больше работать и меньше читать РСДН, то ли Cyberax с тонкими намеками переборщил. Будем ждать подтверждения диагноза от главврача.
ПИ>Сегодня к нам на фирму заезжал создатель языка ПАСКАЛЬ Никлас Вирт. Собрался зал с заинтересованным народом. Нас предупредили (в последний момент), что Вирт не будет повторять то, что было сказано на вчерашней лекции в политехническом институте, а просто ответит на вопросы. Вот три интересовавших меня вопроса и ответы на них Вирта. Для меня лично, все эти ответы звучат по меньшей мере неожиданно.
А что?, всё имхо разумно. по всем трём вопросам сам бы ответил примерно так же... к тому же стоит помнить что Вирт -- это не Страуструп.
Здравствуйте, Пономарёв Иван, Вы писали:
ПИ>Сегодня к нам на фирму заезжал создатель языка ПАСКАЛЬ Никлас Вирт. Собрался зал с заинтересованным народом. Нас предупредили (в последний момент), что Вирт не будет повторять то, что было сказано на вчерашней лекции в политехническом институте, а просто ответит на вопросы. Вот три интересовавших меня вопроса и ответы на них Вирта. Для меня лично, все эти ответы звучат по меньшей мере неожиданно.
ПИ>1. Про общий вопрос про перспективы языков он говорит, что сейчас требуется разработать язык, в синтаксис которого был бы изящно встроен параллелизм. Причем критерием достижения этой цели он считает лёгкость обучения студентов. Т. е. это должен быть такой язык с параллелизмом в синтаксисе, которому было бы легко обучать.
Да есть уже все, причем языко-независимое. Вот, например, Join Calculus — теоретическая основа для написания распределенных программ, а вот одна из реализаций. Для C# на research.ms.com тоже что-то есть http://join.inria.fr/ http://pauillac.inria.fr/jocaml/
>> обучения студентов. Т. е. это должен быть такой язык с параллелизмом в >> синтаксисе, которому было бы легко обучать.
... >> Посему он смотрит на паттерны как на новшество, которое его пока не >> заботит. Говоря вообще, он -- скорее за свободу для программиста, чем >> за какие-то предопределенные "паттерны".
C>При этом предлагая встроить паттерны многопоточного проектирования в C>язык (см. пункт 1). Нда....
Мне думается, что "поддержка параллелизма на уровне синтаксиса" вовсе не подразумевает использования распространенных паттернов на эту тему, описанных, скажем, у Bruce Powel Douglass.
Здравствуйте, A.Lokotkov, Вы писали:
>>> обучения студентов. Т. е. это должен быть такой язык с параллелизмом в >>> синтаксисе, которому было бы легко обучать. AL>... >>> Посему он смотрит на паттерны как на новшество, которое его пока не >>> заботит. Говоря вообще, он -- скорее за свободу для программиста, чем >>> за какие-то предопределенные "паттерны".
C>>При этом предлагая встроить паттерны многопоточного проектирования в C>>язык (см. пункт 1). Нда....
AL>Мне думается, что "поддержка параллелизма на уровне синтаксиса" вовсе не подразумевает использования распространенных паттернов на эту тему, описанных, скажем, у Bruce Powel Douglass.
А как же тот же Active Object, который вроде как есть в виртовских языках
и который является именно паттерном для решения задач многопоточного проектирования?
Здравствуйте, Глеб Алексеев, Вы писали:
ГА>Ты ничего не путаешь? Если нет, откуда информация? В соседнем топике Вирт вообще не очень лестно высказывался об ФЯ в целом
У ФЯ в целом и Эрланга в частности есть один серьезный недостаток — их придумал не Вирт.
A.Lokotkov wrote:
> C>При этом предлагая встроить паттерны многопоточного проектирования в > C>язык (см. пункт 1). Нда.... > Мне думается, что "поддержка параллелизма на уровне синтаксиса" вовсе > не подразумевает использования распространенных паттернов на эту тему, > описанных, скажем, у Bruce Powel Douglass.
Но какие-то паттерны все равно в язык будут вмонтированы
Здравствуйте, Quintanar, Вы писали:
Q>Да есть уже все, причем языко-независимое. Вот, например, Join Calculus — теоретическая основа для написания распределенных программ, а вот одна из реализаций. Для C# на research.ms.com тоже что-то есть Q>http://join.inria.fr/ Q>http://pauillac.inria.fr/jocaml/
Хорошо, что Вирт по-русски плохо читает. А то ты бы ему все исследования обламал бы.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Cyberax, Вы писали:
C>A.Lokotkov wrote:
>> C>При этом предлагая встроить паттерны многопоточного проектирования в >> C>язык (см. пункт 1). Нда.... >> Мне думается, что "поддержка параллелизма на уровне синтаксиса" вовсе >> не подразумевает использования распространенных паттернов на эту тему, >> описанных, скажем, у Bruce Powel Douglass.
C>Но какие-то паттерны все равно в язык будут вмонтированы
Да, я почти уверен, в языке будут паттерны сравнения, цикла и, возможно, безусловного перехода.
Здравствуйте, bkat, Вы писали:
B>Здравствуйте, A.Lokotkov, Вы писали:
B>А как же тот же Active Object, который вроде как есть в виртовских языках B>и который является именно паттерном для решения задач многопоточного проектирования?
В то время это не называли паттернами
Паттерн — это сравнительно молодое понятие в ИТ.
Незнание ActiveObject все равно позволяет его реализовывать, точно также как и не знания Singleton'а.
Я даже больше скажу, задолго до того как термин паттерн переполз в ИТ многие программисты реализовывали то, что сейчас называется ActiveObject
Здравствуйте, srggal, Вы писали:
S>Здравствуйте, bkat, Вы писали:
B>>Здравствуйте, A.Lokotkov, Вы писали:
B>>А как же тот же Active Object, который вроде как есть в виртовских языках B>>и который является именно паттерном для решения задач многопоточного проектирования?
S>В то время это не называли паттернами
S>Паттерн — это сравнительно молодое понятие в ИТ. S>Незнание ActiveObject все равно позволяет его реализовывать, точно также как и не знания Singleton'а.
S>Я даже больше скажу, задолго до того как термин паттерн переполз в ИТ многие программисты реализовывали то, что сейчас называется ActiveObject
Дак не в слове дело.
А в том, что есть устойчивые архитектурные конструкции,
которые успешно применяются для определенных целей.
Чем плохо выделять такие конструкции и делать их явными?
Здравствуйте, bkat, Вы писали:
B>Дак не в слове дело. B>А в том, что есть устойчивые архитектурные конструкции, B>которые успешно применяются для определенных целей. B>Чем плохо выделять такие конструкции и делать их явными?
Насколько я понял из первоначального сообщения нитки:
по мнению Виртя, явное выделение архитектурные конструкции параллелизма, является следствием неизящного встраивания параллелизма в этот язык.
Здравствуйте, srggal, Вы писали:
S>Здравствуйте, bkat, Вы писали:
B>>Дак не в слове дело. B>>А в том, что есть устойчивые архитектурные конструкции, B>>которые успешно применяются для определенных целей. B>>Чем плохо выделять такие конструкции и делать их явными?
S>Насколько я понял из первоначального сообщения нитки:
S>по мнению Виртя, явное выделение архитектурные конструкции параллелизма, является следствием неизящного встраивания параллелизма в этот язык.
Что-то я этого в исходном сообщении не вижу.
Вижу 2 мысли:
— конструкции параллелизма должны быть настолько легкими,
чтобы даже студенты их поняли.
Отсюда не следует, что они должным быть "неявными" и как-то скрытыми.
— Вирт не является специалистом по паттертам.
Здравствуйте, bkat, Вы писали:
B>Что-то я этого в исходном сообщении не вижу. B>Вижу 2 мысли: B>- конструкции параллелизма должны быть настолько легкими, B> чтобы даже студенты их поняли. B> Отсюда не следует, что они должным быть "неявными" и как-то скрытыми. B>- Вирт не является специалистом по паттертам.
Видимо у нас разные машины вывода, моя — с некоторой долей эвристики
1) Вирт немерен разработать язык в котором конструкции параллелизма должны быть настолько легкими,
чтобы даже студенты их поняли.
2) Вирт не является специалистом по паттертам.
3') Вирт не собирается посвещать время изучению паттернов.
4') Исходя из 3' он делаем вывод, что Вирт считает, что паттерны ему не пригодятся для 1
5') Bp 4' Делаем вывод, что:
по мнению Виртя, явное выделение архитектурные конструкции параллелизма, является следствием неизящного встраивания параллелизма в этот язык
Вуаля, у меня такая цепочка получилась ( если точней, — то я так вербализовал свои мыслительные потуги )