Здравствуйте, AVC, Вы писали:
AVC>Я не занимаюсь "конспирологией".
Твои сообщения говорят об обратном.
AVC>Просто не принимаю на веру чьи-то высказывания.
Да нет, если бы просто не принимал. Но ты ведь на основании отсутствия фактов, а не их наличия, делать далеко идущие выводы. Это и есть классическая конспирология, если не сказать сильнее.
AVC>А мой в том, что я вижу слишком явное сходство важнейших (собственно, сделавших этот язык известным, если не считать рекламы) свойств Java и Оберона, и не вижу пока для Java иных источников этих свойств.
Все императивные языки весьма похожи друг на друга, если сравнить их с функциональными, к примеру.
AVC>Назвыай это "конспирологией", если хочешь.
Коспирологией я называю другое.
AVC>Но речь идет не о моей "подозрительности", а полной для меня очевидности связи Оберон — Ява.
Не подкрепленной ничем, кроме твоей подозрительности. Что и требовалось доказать.
AVC>А с чем ты не согласен?
Со всем согласен. Просто ты в очередной раз продемонсрировал, какой ты нелюбитель теории заговоров.
AVC>С тем, что Юлия Цезаря и Павла I убили? AVC>Или с тем, что их убили заговорщики (а не случайно, в пьяной кабацкой драке)?
Хочешь поговорить об этом?
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, AVC, Вы писали:
AVC>Что касается Явы, то ее рекламная компания велась в духе "нигде кроме, как в Моссельпроме".
Что не мешало им в 5 версии потырить некоторые особенности из шарпа, ничуть при том не скрывая, откуда растут концы.
AVC>Очень уж не вязалось бы с этим "победным духом" (Sun использовала даже немецкие военные марши ) скромное признание, что вот "мы взяли основную идею у ETH, а теперь рекламируем ее вам как свою".
Но при этом, по твоим же утверждениям, другие источники для Java они указывать не стеснялись.
Видишь ли, то что в Обероне были определенные идеи еще ничего не доказывает. Есть такое понятие, как идеи носящиеся в воздухе. КОП одна из них. И в этой ситуации найти единоличного автора идей КОП сродни попыткам найти единоличного автора, к примеру, коммунизма или либерализма.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, Дарней, Вы писали:
Д>конечного автомата вполне достаточно, ИМХО Д>не представляю, зачем усложнять протокол до такой степени, что КА станет недостаточно
ИМХО ты путаешь описание и реализацию. LR(1) грамматики, к примеру, вполне себе реализуются при помощи ДКА, но описываются все же тем же EBNF.
Андрей Михалыч, как мне кажется, имел ввиду немножко иное — инструментарий для преобразования EBNF в что либо конечное не такой уж и простой, на него придется потратить усилия. При том что в его конкретном случае задача всей мощи EBNF не требует, и можно обойтись простым декларативным язычком, который можно обработать либо каким нибудь несложным тулзом типа CoCo/R или даже XSLT.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, VladD2, Вы писали:
VD>Корба вообще не компонентная система. Это средство организации сетевого взаимодействия.
Ну, в версии 3.0 таки появилась спецификация КОП, но большинство тех, кто говорит о компонентности CORBA, как правило имеют ввиду ее предыдущие версии.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AndrewVK wrote: > Видишь ли, то что в Обероне были определенные идеи еще ничего не > доказывает. Есть такое понятие, как идеи носящиеся в воздухе. КОП одна > из них. И в этой ситуации найти единоличного автора идей КОП сродни > попыткам найти единоличного автора, к примеру, коммунизма или либерализма.
Кстати, в Java не так уж много КОП было изначально. Нормальная спека на
JavaBeans появилась только где-то в 97 году, система версирования
классов не пошла дальше serialVersionUID, пакеты являются атомарными
единицами и т.п.
Здравствуйте, Cyberax, Вы писали:
C>Кстати, в Java не так уж много КОП было изначально. Нормальная спека на C>JavaBeans появилась только где-то в 97 году
Э, вот тут не надо путать стандартную компонентную модель и КОП собственно. Первая нужна для грамотной поддержки design-time или фенек вроде автоматического байндинга (замечу, что компонентной модели в Обероне, собственно, тоже не было (да и рефлекшена приличного), а в .NET это и посейчас реализовано ввиде библиотеки большей частью, а для WPF была создана другая модель, отличная от стандарнтной для FW) и работает, как правило, поверх второй, но, опять же, как правило, может и замещать данные о компонентах, полученных на основании рантайм поддержки КОП. А вот вторая как раз отражает возможность сборки приложения из независимых кусков в рантайме. И с этим у Java все было в порядке с самого начала.
Для тех, кто знаком с .NET — разница между КОП и компонентной моделью хорошо заметна на основе разницы между PropertyInfo и PropertyDescriptor соотв.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Ну, в версии 3.0 таки появилась спецификация КОП, но большинство тех, кто говорит о компонентности CORBA, как правило имеют ввиду ее предыдущие версии.
Не не появилась. Это надо видеть что они там под помонентностью понимают. Это чистой воды терминалогическая эквилибристика.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
AndrewVK wrote: > Э, вот тут не надо путать стандартную компонентную модель и КОП > собственно. Первая нужна для грамотной поддержки design-time или фенек > вроде автоматического байндинга (замечу, что компонентной модели в > Обероне, собственно, тоже не было (да и рефлекшена приличного), а в .NET > это и посейчас реализовано ввиде библиотеки большей частью, а для WPF > была создана другая модель, отличная от стандарнтной для FW) и работает, > как правило, поверх второй, но, опять же, как правило, может и замещать > данные о компонентах, полученных на основании рантайм поддержки КОП. А > вот вторая как раз отражает возможность сборки приложения из независимых > кусков в рантайме. И с этим у Java все было в порядке с самого начала.
Ну такими темпами и в С++ есть поддержка КОП, так как почти везде есть
поддержка раздельной загрузки (в том числе и в runtime через DLL).
ИМХО, КОП-система должна как минимум предоставлять средства создания
компонентов и их версирования. Обоих фич в Java не было, разве что
считать "компонентами" отдельные классы.
Здравствуйте, Cyberax, Вы писали:
C>Ну такими темпами и в С++ есть поддержка КОП,
В С++ практически нету.
C>поддержка раздельной загрузки (в том числе и в runtime через DLL).
Но это не является частью C++.
C>ИМХО, КОП-система должна как минимум предоставлять средства создания C>компонентов и их версирования. Обоих фич в Java не было, разве что C>считать "компонентами" отдельные классы.
А так и есть — класс и в джаве и в дотнете является компонентом. Так что кавычки здесь без надобности.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
AVK>ИМХО ты путаешь описание и реализацию. LR(1) грамматики, к примеру, вполне себе реализуются при помощи ДКА, но описываются все же тем же EBNF.
как ты опишешь через ДКА грамматику с рекурсивными правилами?
Здравствуйте, AndrewVK, Вы писали:
AVC>>Что касается Явы, то ее рекламная компания велась в духе "нигде кроме, как в Моссельпроме".
AVK>Что не мешало им в 5 версии потырить некоторые особенности из шарпа, ничуть при том не скрывая, откуда растут концы.
Попробовали бы они...
Отсюда, ИМХО, и растут корни популярного убеждения, что сейчас идеи возникают "не в академической среде, а исключительно в промышленности".
Попробуй "стырь" у конкурента, а у "академиков" — запросто.
AVC>>Очень уж не вязалось бы с этим "победным духом" (Sun использовала даже немецкие военные марши ) скромное признание, что вот "мы взяли основную идею у ETH, а теперь рекламируем ее вам как свою".
AVK>Но при этом, по твоим же утверждениям, другие источники для Java они указывать не стеснялись.
Я и не думаю отрицать другие источники как таковые: ни Смоллток, ни Обджектив Си, ни др.
Вместе с тем, ИМХО, видно невооруженным глазом, что Ява в самом главном не похожа на оба этих замечательных языка.
(Я назвал Обджектив Си "смесью бульдога с носорогом" не потому, что это плохой язык, а потому что это смесь двух совершенно разных языков и подходов, нечто, далекое от той целостности, что необходима для КОП.)
AVK>Видишь ли, то что в Обероне были определенные идеи еще ничего не доказывает. Есть такое понятие, как идеи носящиеся в воздухе. КОП одна из них. И в этой ситуации найти единоличного автора идей КОП сродни попыткам найти единоличного автора, к примеру, коммунизма или либерализма.
Со всем этим я согласен.
Но в этой ветке я уже проводил различие между "благими пожеланиями" (носящимися в воздухе идеями ) и "техническими решениями" (на которых затем основываваются конкретные реализации).
Возможно, ты считаешь, что реализации тоже "носятся в воздухе"?
"Хозяйка, сапоги свистели над головой!" (c) м/ф про поросенка Фунтика
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AndrewVK, Вы писали:
AVC>>Просто не принимаю на веру чьи-то высказывания.
AVK>Да нет, если бы просто не принимал. Но ты ведь на основании отсутствия фактов, а не их наличия, делать далеко идущие выводы. Это и есть классическая конспирология, если не сказать сильнее.
Фактов полно, просто ты не хочешь их видеть.
Но сейчас, раз ты такой ценитель логики, я хочу обратить твое внимание на методологический момент: иногда отсутствие некоторых фактов — тоже факт.
У Конан Дойла Шерлок Холмс раскрывает преступление, опираясь как раз на тот факт, что собака не лаяла.
AVC>>А мой в том, что я вижу слишком явное сходство важнейших (собственно, сделавших этот язык известным, если не считать рекламы) свойств Java и Оберона, и не вижу пока для Java иных источников этих свойств.
AVK>Все императивные языки весьма похожи друг на друга, если сравнить их с функциональными, к примеру.
А безопасные и небезопасные языки — просто близнецы-братья, да?
AVC>>А с чем ты не согласен?
AVK>Со всем согласен. Просто ты в очередной раз продемонсрировал, какой ты нелюбитель теории заговоров.
Т.е. ты тоже согласен, что заговоры случаются, но при этом я "конспиролог", а ты "белый и пушистый"?
Прелестно!
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AVC, Вы писали:
AVC>Фактов полно, просто ты не хочешь их видеть.
AVC>Но сейчас, раз ты такой ценитель логики, я хочу обратить твое внимание на методологический момент: иногда отсутствие некоторых фактов — тоже факт.
Отсутсвие фактов не может быть доказательством чего бы то ни было.
AVC>У Конан Дойла Шерлок Холмс раскрывает преступление, опираясь как раз на тот факт, что собака не лаяла. AVC>
А Иван-дурак на печи ездил.
AVK>>Все императивные языки весьма похожи друг на друга, если сравнить их с функциональными, к примеру.
AVC>А безопасные и небезопасные языки — просто близнецы-братья, да?
В какой то мере да.
AVK>>Со всем согласен. Просто ты в очередной раз продемонсрировал, какой ты нелюбитель теории заговоров.
AVC>Т.е. ты тоже согласен, что заговоры случаются, но при этом я "конспиролог", а ты "белый и пушистый"? AVC>Прелестно!
Хочешь потягаться со мной в демагогии? Право, не стоит.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, AVC, Вы писали:
AVK>>Что не мешало им в 5 версии потырить некоторые особенности из шарпа, ничуть при том не скрывая, откуда растут концы.
AVC>Попробовали бы они...
И что бы с ними стало?
AVC>Отсюда, ИМХО, и растут корни популярного убеждения, что сейчас идеи возникают "не в академической среде, а исключительно в промышленности".
Ты к чему это сказал? Я, кажется, такого никогда не утверждал.
AVC>Попробуй "стырь" у конкурента, а у "академиков" — запросто.
Но ведь стырили же, и ничего.
AVK>>Но при этом, по твоим же утверждениям, другие источники для Java они указывать не стеснялись.
AVC>Я и не думаю отрицать другие источники как таковые: ни Смоллток, ни Обджектив Си, ни др.
Так почему же именно Оберон не упоминают? Уж не потому ли, что на самом деле он особого влияния не оказал?
AVK>>Видишь ли, то что в Обероне были определенные идеи еще ничего не доказывает. Есть такое понятие, как идеи носящиеся в воздухе. КОП одна из них. И в этой ситуации найти единоличного автора идей КОП сродни попыткам найти единоличного автора, к примеру, коммунизма или либерализма.
AVC>Со всем этим я согласен. AVC>Но в этой ветке я уже проводил различие между "благими пожеланиями" (носящимися в воздухе идеями ) и "техническими решениями" (на которых затем основываваются конкретные реализации).Возможно, ты считаешь, что реализации тоже "носятся в воздухе"?
А что в реализации Java от Оберона? Неужели злобные сановцы потырили Обероновский код?
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
Д>>как ты опишешь через ДКА грамматику с рекурсивными правилами?
AVK>Тебе сказать, где yacc найти?
Обрати внимание на то, что в YACC есть стек.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AndrewVK, Вы писали:
AVK>Э, вот тут не надо путать стандартную компонентную модель и КОП собственно. Первая нужна для грамотной поддержки design-time или фенек вроде автоматического байндинга (замечу, что компонентной модели в Обероне, собственно, тоже не было (да и рефлекшена приличного), а в .NET это и посейчас реализовано ввиде библиотеки большей частью, а для WPF была создана другая модель, отличная от стандарнтной для FW) и работает, как правило, поверх второй, но, опять же, как правило, может и замещать данные о компонентах, полученных на основании рантайм поддержки КОП. А вот вторая как раз отражает возможность сборки приложения из независимых кусков в рантайме. И с этим у Java все было в порядке с самого начала.
Думается, без рефлексии Оберон вообще не мог бы существовать.
Ведь в нем нет ни отдельных программ, ни главной(main) функции.
Поэтому пользовательский интерфейс был основан на командах.
Команды — это процедуры, доступные по паре имен: "Модуль.Процедура".
При получении команды производился поиск модуля (и, если он не был загружен, его загрузка) и соответствующей процедуры, затем вызов процедуры.
Чуть позже такой механизм стал применяться к сохранению/загрузке составных документов.
Кроме того, обероновский сборщик мусора вряд ли бы смог работать без элементов рефлексии.
Смещения полей записи, содержащих указатели, перечислены в дескрипторе типа, к которому сборщик мусора обращается в процессе работы.
Динамическое определение типа также, пожалуй, можно отнести к рефлексии, т.к. необходимая для этого информация также извлекается из дескриптора типа.
Возможно, вся эта рефлексия чем-то "неприлична", но факт, что она была (и есть) и отлично справлялась со своими задачами.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AndrewVK, Вы писали:
AVC>>Но сейчас, раз ты такой ценитель логики, я хочу обратить твое внимание на методологический момент: иногда отсутствие некоторых фактов — тоже факт.
AVK>Отсутсвие фактов не может быть доказательством чего бы то ни было.
Повторю мысль, что отсутствие фактов — тоже факт.
Например, у англичан есть поговорка "No news is good news".
AVC>>У Конан Дойла Шерлок Холмс раскрывает преступление, опираясь как раз на тот факт, что собака не лаяла. AVC>>
AVK>А Иван-дурак на печи ездил.
Вот ты все шутишь.
А взял бы и прочел рассказец.
Кажется, он назывался "Приключение Сильвера Блэйза" ("The Adventure of Silver Blaze").
(Конан-Дойла дочка с собой забрала, отсюда некоторая неуверенность в названии. )
AVK>>>Все императивные языки весьма похожи друг на друга, если сравнить их с функциональными, к примеру.
AVC>>А безопасные и небезопасные языки — просто близнецы-братья, да?
AVK>В какой то мере да.
Вот мы с тобой и расходимся в том, в какой именно мере.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AndrewVK, Вы писали:
AVK>Так почему же именно Оберон не упоминают? Уж не потому ли, что на самом деле он особого влияния не оказал?
<...> AVK>А что в реализации Java от Оберона? Неужели злобные сановцы потырили Обероновский код?
Много чего от Оберона.
В Обероне еще в начале 1990-х был встроенный веб-браузер с поддержкой апплетов (насколько я слышал, он днмонстрировался на JMLC тех лет).
Разработанная Францем в рамках технологии OMI (Oberon Module Interchange) "кодогенерация на лету" (ставшая темой его диссертации; на эту же тему он читал лекции в Sun; а в качестве спасибо — полное отсутствие прямых ссылок на Оберон со стороны создателей Явы) стала теоретической основой JIT-, AOC- и DAC-компиляторов Явы.
Известно, что виртовские компиляторы Модулы-2 и Оберона тщательно изучались в Sun (об этом и Вирт говорил; возможно, он и консультации давал, старый добрый дедушка-профессор) и повлияли на компиляторы Явы: https://lists.inf.ethz.ch/pipermail/oberon/2003/003073.html
Так что насчет "потырили код" ты, наверное, где-то прав.
Но дело не в том, что что-то заимствовали, а в том, что скрыли источник заимствований.
Вместо спасибо.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.