Re[17]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Владик Россия  
Дата: 07.10.05 16:05
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Вообще-то, Обероны еще славятся тем, исходный код операционных систем написанных на них имеет очень мало строчек кода по сравнению с операционными системами написанными на Си/Си++.


Еще на заре спора о "синтаксическом оверхеде" я просил привести код на Обероне для решения какой-то реальной задачи. Чтобы оценить реальный выигрыш. Так и не дождался. Вот и сейчас у меня есть подозрение, что ОС, написанные на Обероне, сильно отличаются от "реальных" линуксов и виндовсов (которые на "миллионы строк").
Как все запущенно...
Re[18]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.10.05 20:47
Оценка: :)
Здравствуйте, Владик, Вы писали:

Конечно отличаются! Из них выкинуто все лишнее.
Ну там, к примеру, поддержка квот ресурсов. Зачем она нужна?
... << RSDN@Home 1.1.4 stable rev. 510>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[18]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AVC Россия  
Дата: 08.10.05 13:52
Оценка:
Здравствуйте, Владик, Вы писали:

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


Да, отличаются: не требуют столько ресурсов.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[19]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Cyberax Марс  
Дата: 08.10.05 14:07
Оценка:
AVC wrote:

> В>Еще на заре спора о "синтаксическом оверхеде" я просил привести код

> на Обероне для решения какой-то реальной задачи. Чтобы оценить
> реальный выигрыш. Так и не дождался. Вот и сейчас у меня есть
> подозрение, что ОС, написанные на Обероне, сильно отличаются от
> "реальных" линуксов и виндовсов (которые на "миллионы строк").
> Да, отличаются: не требуют столько ресурсов.

микроЛинукс, например, работает на ооооочень слабых машинах.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[18]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AVC Россия  
Дата: 08.10.05 14:11
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Агащаз. Покажите операционку, которая сравнится с Линуксом по фичам. А

C>мы сравним исходники.

А вот и ягодки: Линукс настолько "потяжелел", что больше не устанавливается на машины, на которые раньше вставал без проблем.
Ядро раздутое.
ИМХО, разные "фичи" не должны навязываться, а предоставляться как дополнительные возможности.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[19]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Cyberax Марс  
Дата: 08.10.05 15:25
Оценка:
AVC wrote:

> C>Агащаз. Покажите операционку, которая сравнится с Линуксом по фичам. А

> C>мы сравним исходники.
> А вот и ягодки: Линукс настолько "потяжелел", что больше не
> устанавливается на машины, на которые раньше вставал без проблем.
> Ядро раздутое.

Ничуть. Я лично конфигурировал компилировал ядро 2.6.12 для старого
Cyrix'а (уровня 486 компьютера) — все вполне нормально работает. Хотя
действительно пришлось отключить много опций, включеных по умолчанию

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[6]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AVC Россия  
Дата: 09.10.05 08:38
Оценка: 11 (1) :)
Здравствуйте, Дарней, Вы писали:

Д>Ну как, всё еще уверен, кто там от кого произошел?


Зайду с другой стороны.
Конечно, вполне справедливо можно говорить о "множественном наследовании" Java (в смысле — от многих языков).
Например, у Паскаля заимствована идея P-кода (с теми же однобайтовыми инструкциями и размещением операндов в стеке).
Почему я думаю, что байт-код взят именно из Паскаля? Да посмотрите на биографию Гослинга. В 1975 году он занимается Паскалем для Multics (как я понял, взяв сначала за основу компилятор ETH Pascal). В 1979 году он пишет PERQ: транслятор с паскалевского P-кода в машкод DEC VAX.
Раздельная компиляция была уже в Модула-2.
Вероятно, справедливо было бы говорить и о заимствованиях из Смолтока, и из Лиспа.
Почему же я "упираю" на Оберон?
(Не считая многих косвенных свидетельств, вроде изучения в Sun исходных текстов компилятора ETH Oberon, покупки в Sun лицензии на него, переориентации Java на Интернет именно после лекции Франца о динамической кодогенерации и постоянных консультаций Sun с ETH в 1994-1995 годах, т.е. в самое горячее время. Главное же косвенное свидетельство — полное замалчивание этого в Sun.)
Давайте рассмотрим немного подробнее, что представлял из себя Оберон на начало 1990-х годов.
1) Сочетание статической типизации, динамических типов и сборки мусора, с гарантией полной проверки типов (type safety).
2) Раздельная компиляция с межмодульным контролем соответствия типов.
3) Динамическая загрузка модулей "по требованию".
4) Возможности метапрограммирования (в т.ч. рефлексия).
5) Гипертекстовый интерфейс (например, команда вызывалась щечком мышки по текстовой паре модуль.процедура).
6) Внедряемые в текстовые документы объекты, обладающие собственным поведением, — апплеты. (Они назывались по разному, но уже Франц называл их именно апплетами.)
7) Уникальная в то время переносимость. Разные Оберон-системы имели единый API и единый машинно-независимый формат данных.
8) Наконец, машинно-независимый мобильный код. Например, к 1994 году практически для всех модулей (кроме компилятора и самого нижнего уровня) в Обероне для Макинтоша при загрузке использовалась JIT-компиляция, причем временные потери на нее составляли всего 10-20% (Вирт всегда считал скорость компиляции важной, а скорость самокомпиляции — одним из важнейших критериев качества компилятора). Эту технологию, разработанную Францем, еще называли "slim binaries".

И что, перечисленного недостаточно?

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[13]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AndreyFedotov Россия  
Дата: 09.10.05 17:16
Оценка: 26 (2) +3
Здравствуйте, AVC, Вы писали:

AVC>Как было сказано в каком-то фильме — "та же фигня".

AVC>Смысл этих выражений один и тот же.
AVC>Просто не Гослинг это сделал. А в каких выражениях он об этом говорит (а говорит он частенько в выражениях хвастливых и рекламных) — дело второе.

Вот в том то и суть — Вирт так же заимствовал чужие идеи Как и Гослинг. Так что справедливости ради стоит помнить и об этом тоже. И саморекламой он занимается так же. Просто он выпендривается перед другой аудиторией — студентами и профессурой, а не перед бизнесменами и журналистами (как Гослинг).

ЗХ>>Но про Оберон они действительно ни слова не говорят (что меня лично удивило, но обратите внимание на мою сноску об "относительной достоверности источников").


AVC>Если Вас это удивило, то Вы — наивный (в хорошем смысле) человек.

AVC>Я Вам скажу, почему Оберон не упоминается. Это противоречило бы всей рекламной кампании Sun, прошедшей под лозунгом "Нигде кроме, как в Моссельпроме" , утверждающей, что Ява — абсолютно новая разработка, не имеющая аналогов.

А сам Вирт много упоминает о языках или людях — чьи идеи он черпал? Или его рекламная компания Oberon'ов чем то уступает рекламе Java (кроме вложеных денег)?

ЗХ>>ЗЫ: а вообще — я бы не был так категоричен в отыскании корней. Идеи "носятся в воздухе" — обсуждаются, пересказываются, творчески перерабатываются, десятки раз изменяются и т.п. Попытка свести все к "такой-то увидел то-то и упер", как правило, слишком все упрощает.


AVC>Доказательство теоремы Ферма "носилось в воздухе" больше трехсот лет.

AVC>Но доказал ее конкретный человек.
AVC>Потратив на это 25 лет.

Сравнили же Вы, Алексей, самолёт с велосипедом. И в Обероне, и в Java и в C++ — каждая идея заимствована, всё что отличает эти языки — это уникальная комбинация уже имевшихся идей, которая, к тому же, во всех случаях имеет как множество интересных достоинств, так и множество недостатков. Уж если и сравнивать с чём то создание этих языков — так со строительством зданий, ремеслом, которое заключалось в комбинировании из известных элементов чего-то в соответствии со своим чувством прекрасного. И то, что одни ремесленники проектируют здания по Фен-Шуй и изображают из себя больших учёных, а другие — честно сознаются в своём занятии — сути дела не меняет.

AVC>Пойдемте и скажем ему, что это (потраченная жизнь) не важно. Ведь идеи "носились в воздухе"!


Лучше бы потратил на вино и девушек Патетика тут ни к чему. Тем более, что ситуация совсем иная
Re[7]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Дарней Россия  
Дата: 10.10.05 04:14
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Например, у Паскаля заимствована идея P-кода (с теми же однобайтовыми инструкциями и размещением операндов в стеке).

AVC>Почему я думаю, что байт-код взят именно из Паскаля? Да посмотрите на биографию Гослинга. В 1975 году он занимается Паскалем для Multics (как я понял, взяв сначала за основу компилятор ETH Pascal). В 1979 году он пишет PERQ: транслятор с паскалевского P-кода в машкод DEC VAX.

"После этого — значит, вследствие этого"
Одно из классических построений ложной логики

AVC>(Не считая многих косвенных свидетельств, вроде изучения в Sun исходных текстов компилятора ETH Oberon, покупки в Sun лицензии на него,


Да, изучали. Ну и что? Другие языки они тоже изучали.

AVC>переориентации Java на Интернет именно после лекции Франца о динамической кодогенерации


И снова. "После этого — значит, вследствие этого"
Что касается самой идеи динамической кодогенерации, то у нее вооот такая бородища. При чем тут вообще Оберон?

AVC>и постоянных консультаций Sun с ETH в 1994-1995 годах, т.е. в самое горячее время. Главное же косвенное свидетельство — полное замалчивание этого в Sun.)


Какие именно консультации и на какую тему? Подробнее, плиз

AVC>2) Раздельная компиляция с межмодульным контролем соответствия типов.


это еще в C++ было, пусть и кривовато

AVC>3) Динамическая загрузка модулей "по требованию".


а когда появились DLL и их аналоги?

AVC>4) Возможности метапрограммирования (в т.ч. рефлексия).


Правда? Как интересно. В стандартной реализации? И в каком году?

AVC>5) Гипертекстовый интерфейс (например, команда вызывалась щечком мышки по текстовой паре модуль.процедура).


Только не говори, что это Вирт первый изобрел

AVC>7) Уникальная в то время переносимость. Разные Оберон-системы имели единый API и единый машинно-независимый формат данных.


а как же POSIX?

AVC>8) Наконец, машинно-независимый мобильный код. Например, к 1994 году практически для всех модулей (кроме компилятора и самого нижнего уровня) в Обероне для Макинтоша при загрузке использовалась JIT-компиляция, причем временные потери на нее составляли всего 10-20% (Вирт всегда считал скорость компиляции важной, а скорость самокомпиляции — одним из важнейших критериев качества компилятора). Эту технологию, разработанную Францем, еще называли "slim binaries".


Согласно Вики, проект по разработке Явы начался в 1990 году. Первые части проекта демонстрировались в 1992. Java 1.0a в 1994 году уже была готова. И снова — при чем тут вообще Оберон?!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AndreyFedotov Россия  
Дата: 10.10.05 05:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Сергей Губанов, Вы писали:


VD>Ограничение на количество потоков в Виндовс есть, но объясняется оно не размерами стэка, а тем, что для каждого потока нужно хранить определенный объем невыгружаемой памяти. Короче просто захардкодено. Если не ошибаюсь, Русиновичь это раскапывал как-то.


VD>Вот здесь я с ходу нашел упоминание о том, что орлы в тесте создали около 10 000 потоков.


А точнее говоря, Windows использует аппаратные средства процессоров 386+, которые предусматривают поддержку 16384 потоков (тогда считалось, что это огромный запас, позже — что поток ресурс дорогой и просто так их создавать не следует). Кроме того, часть потоков зарезервирована для ядра и для общего пользования остаётся (если я не ошибаюсь) что то около 12000 потоков.
Re[19]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.10.05 06:21
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> А точнее говоря, Windows использует аппаратные средства процессоров 386+, которые предусматривают поддержку 16384 потоков (тогда считалось, что это огромный запас, позже — что поток ресурс дорогой и просто так их создавать не следует).

Прикольно! Откуда дровишки? Ты не мог бы
а) в двух словах пояснить, почему именно 16384? (Ну типа там — threadId 14разрядный)
б) дать ссылку на то, где это написано?
А то у меня появляется чувство, что я не знаю чего-то фундаментального.
AF>Кроме того, часть потоков зарезервирована для ядра и для общего пользования остаётся (если я не ошибаюсь) что то около 12000 потоков.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.10.05 08:08
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, AVC, Вы писали:


AVC>>Например, у Паскаля заимствована идея P-кода (с теми же однобайтовыми инструкциями и размещением операндов в стеке).

AVC>>Почему я думаю, что байт-код взят именно из Паскаля? Да посмотрите на биографию Гослинга. В 1975 году он занимается Паскалем для Multics (как я понял, взяв сначала за основу компилятор ETH Pascal). В 1979 году он пишет PERQ: транслятор с паскалевского P-кода в машкод DEC VAX.

Д>"После этого — значит, вследствие этого"

Д>Одно из классических построений ложной логики

1) Гослинг много занимался паскалевским P-кодом.
2) Байт код Java по смыслу есть паскалевский P-код.

В данном случае "после" именно и значит "вследствие".

Д>Что касается самой идеи динамической кодогенерации, то у нее вооот такая бородища. При чем тут вообще Оберон?


Какая такая бородища??? Древовидное компактное представление программ допускающее кодогенерацию "на лету" открыл Михаэль Франц и защитил по этому поводу диссертацию в ETH в 1994 году. Он реализовал ее для Оберон-систем. Кстати, научными руководителями Франца были Вирт и Гуткнехт. Теперь понятно при чем тут Оберон?

AVC>>2) Раздельная компиляция с межмодульным контролем соответствия типов.


Д>это еще в C++ было, пусть и кривовато


Раздельной компиляции в С++ никогда не было, нет сейчас, и никогда не будет. В С++ есть независимая компиляция. Разницу между раздельной и независимой компиляцией можете узнать в диссертации
R. Crelier. Separate Compilation and Module Extension (ETH 1994) http://www.oberon2005.ru/paper/eth10650.pdf
Re[20]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.10.05 08:14
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>а) в двух словах пояснить, почему именно 16384? (Ну типа там — threadId 14разрядный)

S>б) дать ссылку на то, где это написано?
S>А то у меня появляется чувство, что я не знаю чего-то фундаментального.

Тоже мне — фундаментальное. Не фундаментальное это! Это — только лишь подробности реализации.
Re[9]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Пацак Россия  
Дата: 10.10.05 08:26
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

Д>>Что касается самой идеи динамической кодогенерации, то у нее вооот такая бородища. При чем тут вообще Оберон?

СГ>Какая такая бородища??? Древовидное компактное представление программ допускающее кодогенерацию "на лету" открыл Михаэль Франц

Прошу прощения за буквоедство, но "древовидное компактное представление программ допускающее кодогенерацию на лету" и "динамическая кодогенерация" — не эквивалентные понятия. Это я к тому, что непонятно, что именно открыл Франц — "кодогенерацию на лету", "древовидное представление" или новым было вообще их сочетание.

СГ>Раздельной компиляции в С++ никогда не было, нет сейчас, и никогда не будет. В С++ есть независимая компиляция. Разницу между раздельной и независимой компиляцией можете узнать в диссертации


А для неграмотных вкратце здесь можно рассказать?
Ку...
Re[21]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.10.05 08:31
Оценка: +3
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Тоже мне — фундаментальное. Не фундаментальное это! Это — только лишь подробности реализации.

Бывают такие подробности реализации, не знать которые — стыдно. Ну, как например, разрядность IP адреса, или количество доступных портов в архитектуре PC, или то, что в современных процессорах — риск-ядро, или то, что современному компилятору наплевать на порядок записи коммутативных операций в исходнике и т.д.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Дарней Россия  
Дата: 10.10.05 09:21
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>1) Гослинг много занимался паскалевским P-кодом.

СГ>2) Байт код Java по смыслу есть паскалевский P-код.

"по смыслу" — это как?

СГ>Какая такая бородища??? Древовидное компактное представление программ допускающее кодогенерацию "на лету" открыл Михаэль Франц и защитил по этому поводу диссертацию в ETH в 1994 году. Он реализовал ее для Оберон-систем. Кстати, научными руководителями Франца были Вирт и Гуткнехт. Теперь понятно при чем тут Оберон?


динамическую кодогенерацию еще в машинных кодах писали — такая вот бородища

согласно википедии, в том самом 1994 году уже была выпущена некая версия Явы 1.0а (вероятно, это обозначает альфа-версию)
далее — не ты ли говорил, что это самое "Древовидное компактное представление программ" НЕ используется в Яве?
так что при чем тут оберон, мне таки не понятно

СГ>Раздельной компиляции в С++ никогда не было, нет сейчас, и никогда не будет. В С++ есть независимая компиляция. Разницу между раздельной и независимой компиляцией можете узнать в диссертации


это уже буквоедство. На практике же, в С++ МОЖНО компилировать модули по отдельности.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.10.05 11:22
Оценка: 30 (3) +1
Здравствуйте, Пацак, Вы писали:

П> Это я к тому, что непонятно, что именно открыл Франц


Code Generation On the Fly: A Key to Portable Software
presented by
Michael Steffen Oliver Franz
Dipl. Informatik Ing. ETH
born 1st May 1964
citizen of Germany
accepted on the recommendation of
Prof. Dr. N. Wirth, examiner
Prof. Dr. J. Gutknecht, co examiner

http://www.oberon2005.ru/paper/eth10497.pdf

СГ>>Раздельной компиляции в С++ никогда не было, нет сейчас, и никогда не будет. В С++ есть независимая компиляция. Разницу между раздельной и независимой компиляцией можете узнать в диссертации


П>А для неграмотных вкратце здесь можно рассказать?


Если вкратце, то вот:

В языках с независимой компиляцией можно писать так:
extern int f(int x);

int g(int x)
{
  return f(x) + 1;
}

а потом скомпилировать это дело, например, в lib-файл.

В языках с раздельной компиляцией так писать нельзя. Надо писать так:
MODULE B;

  IMPORT A;

  PROCEDURE g(x: INTEGER): INTEGER;
  BEGIN
    RETURN A.f(x) + 1
  END g;

END B.

Разница в том, что при независимой компиляции не может быть произведено проверки целостности системы (это просто не предусмотрено). В данном случае не известно что еще за функция f() такая. При раздельной компиляции целостность системы гарантируется. В данном случае точно известно, что f() — это функция экспортируется модулем A, и компилятор проверяет так ли это на самом деле. Но здесь я привел очень простой пример. Теперь представьте себе, что функция f() имеет дело с каким-нибудь сложным типом данных (указательным). При раздельной компиляции компилятор проверит правильность типов, а при независимой — у компилятора такой возможности просто нет.

Теперь другой вопрос — исполнение программы.

Продуктом независимой компиляции являются lib или obj файлы, которые на исполнение запустить нельзя (не известно где взять f() функцию), предварительно, т.е. перед исполнением, нужно слинковать все независимо скомпилированные объектные файлы. Вот на этой-то стадии и ищется f() (везде), проверяется, что f() определена именно так как указано и всего один раз, а не несколько. В результате получается исполнимый файл exe или dll.

Продуктом раздельной компиляции является непосредственно исполнимый модуль (в BlackBox — это файл с расширением ocf, который есть light weight аналог dll-файла).

Преимущества раздельной компиляции перед независимой:
1) Проверка целостности системы (межмодульная проверка типов) непосредственно на стадии компиляции, которая в принципе невозможна при независимой компиляции.
2) Нет необходимости в дополнительной стадии изготовления исполнимого модуля из нескольких obj и lib-файлов, поскольку исполнимый модуль получается сразу в результате компиляции.

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

В указанной в предыдущем сообщении диссертации
R. Crelier. Separate Compilation and Module Extension (ETH 1994) http://www.oberon2005.ru/paper/eth10650.pdf
много чего интересного написано по этой теме.
Re[13]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Дарней Россия  
Дата: 10.10.05 12:00
Оценка: +4
Здравствуйте, AVC, Вы писали:

AVC>Просто не Гослинг это сделал. А в каких выражениях он об этом говорит (а говорит он частенько в выражениях хвастливых и рекламных) — дело второе.


не ты ли говорил, что "главное достоинство Оберона — не новаторство его отдельных фич, а их уникальная комбинация"?
Получается, что когда Вирт комбинирует позаимствованные идеи, то честь ему и хвала? А когда Гослинг комбинирует (частично из тех же источников, частично из других) — то он нагло все украл?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[14]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AVC Россия  
Дата: 11.10.05 10:31
Оценка: -1
Здравствуйте, AndreyFedotov, Вы писали:

AVC>>Если Вас это удивило, то Вы — наивный (в хорошем смысле) человек.

AVC>>Я Вам скажу, почему Оберон не упоминается. Это противоречило бы всей рекламной кампании Sun, прошедшей под лозунгом "Нигде кроме, как в Моссельпроме" , утверждающей, что Ява — абсолютно новая разработка, не имеющая аналогов.

AF> А сам Вирт много упоминает о языках или людях — чьи идеи он черпал? Или его рекламная компания Oberon'ов чем то уступает рекламе Java (кроме вложеных денег)?


Отвечу именно на этот вопрос. Тогда, надеюсь, станет моя позиция станет яснее.
Когда тема заимствований из Оберона в Java всплыла впервые (где-то уже с год назад) я написал, что дело не в том, что в Java заимствованы идеи из Оберона ("заимствование означает уважение"), а в том, как это было сделано: без упоминания главного источника. ИМХО, это уже не заимствование, а воровство.
В отличие от Гослинга, Вирт всегда прямо называл источники своих идей.
Важнейшим "источником вдохновения" для Вирта (как и для Дейкстры, и т.д.) стал Алгол-60. Первый популярный результат: Паскаль.
С тех пор он все время совершенствовал "алгольное" семейство языков.
Огромное влияние оказали два визита в Xerox PARC.
В 70-е годы там на Вирта произвел большое впечатление модульный язык Mesa. Результат: язык Модула-2.
В 80-е — объектно-ориентированный язык (и так же — ОС с развитым графическим интерфейсом) Cedar. Результат: язык (и ОС) Оберон.
Конечно, через паскалеподобный Cedar Вирту приходилось считаться с его идейными предшественниками: Smalltalk и Simula-67.
Вместе с тем, то, как именно Вирт соединил эти идеи, имеет огромное значение. Я не представляю, кто бы еще мог решить эту задачу так просто (и, ИМХО, очень красиво).

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[14]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: AVC Россия  
Дата: 11.10.05 10:36
Оценка: :)
Здравствуйте, Дарней, Вы писали:

Д>не ты ли говорил, что "главное достоинство Оберона — не новаторство его отдельных фич, а их уникальная комбинация"?

Д>Получается, что когда Вирт комбинирует позаимствованные идеи, то честь ему и хвала? А когда Гослинг комбинирует (частично из тех же источников, частично из других) — то он нагло все украл?

Именно так.
Вирт называет источники, откуда заимствует идеи, а Гослинг главный источник — замолчал.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.