OberonCore
https://forum.oberoncore.ru/

Go - официальная генеалогия
https://forum.oberoncore.ru/viewtopic.php?f=6&t=5807
Страница 6 из 7

Автор:  Иван Денисов [ Понедельник, 17 Сентябрь, 2018 07:14 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Да нет же, КП не испытывал влияния О2, он от О2 просто напросто произошел, путем фичевания исходного ЯП, сделавшего невозможным нормально использовать программы на классическом Обероне, ввиду появления extensible records, которые, похоже, в дальнейшем были признаны неверной дорогой, и появились всякие abstract и тд.
А вот Go не произошел от Оберонов, и заимствования там незначительные, ну, разве что связанные с типом процедуры, остальное это, скорее, к паскалю, если это остальное есть. Но это такой тренд сейчас - возвращение к истокам.


Не согласен с вами. Во первых ABSTRACT и EXTENSIBLE не противоречат, а дополняют друг друга. Ну а то, что Go не произошел от Оберона - оставим вас в плену собственных заблуждений. Если уж автор языка для вас не авторитет в этом вопросе, то боюсь, что уже ничего не поможет.

Автор:  Kemet [ Понедельник, 17 Сентябрь, 2018 07:22 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Это в общем на поверхности, никто ничего не скрывает. Вы, наверное, и первое сообщение от Ильи тоже не посмотрели ещё?

Так я выше написал, что это меньшее зло.
Просто делать это нужно аккуратно, и с кондачка, разъясняя страждущим, чем хе хорош Оберон, раз его и в Гугле не обошли вниманием.
А то, ка не спросишь, в чём преимущества Оберона, а в ответ тишина, это в лучшем случае, потому что обычно льются помои на вопрошающего и сомневающегося.
В основном, только Илья действительно отстаивает Оберон, корректно и ёмко освещая все вопросы. ну уже собрали бы это в единый документ - пользы было бы намного больше, чем привязка к Г или Паскалю.

Автор:  Kemet [ Понедельник, 17 Сентябрь, 2018 07:24 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Не согласен с вами. Во первых ABSTRACT и EXTENSIBLE не противоречат, а дополняют друг друга. Ну а то, что Go не произошел от Оберона - оставим вас в плену собственных заблуждений. Если уж автор языка для вас не авторитет в этом вопросе, то боюсь, что уже ничего не поможет.

Где-то Илья отвечал на мой вопрос по теме abstract и extensible.
А один из авторов языка не говорит, что Го произошел от Оберона, он говорит лишь о некоторых заимствованиях.

Автор:  Иван Денисов [ Понедельник, 17 Сентябрь, 2018 07:31 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Иван Денисов писал(а):
Это в общем на поверхности, никто ничего не скрывает. Вы, наверное, и первое сообщение от Ильи тоже не посмотрели ещё?

Так я выше написал, что это меньшее зло.
Просто делать это нужно аккуратно, и с кондачка, разъясняя страждущим, чем хе хорош Оберон, раз его и в Гугле не обошли вниманием.
А то, ка не спросишь, в чём преимущества Оберона, а в ответ тишина, это в лучшем случае, потому что обычно льются помои на вопрошающего и сомневающегося.
В основном, только Илья действительно отстаивает Оберон, корректно и ёмко освещая все вопросы. ну уже собрали бы это в единый документ - пользы было бы намного больше, чем привязка к Г или Паскалю.

У меня не достаточно квалификации и опыта для такой работы, как вы любезно поучаете. Вот у Гризмера достаточно. Я ведь не писал 15 лет на C++ и не программировал 8-битные контроллеры. У меня другое поколение. Я скромный пользователь. Что-то чувствую интуитивно. И вот этот доклад по наводке единомышленников тут с форума навел на некоторые мысли. На мой взгляд, пусть лучше посмотрят сначала такой доклад страждущие просветления, а потом уж можно им что-то и про Оберон рассказать. Будет уже не в пустое место информация литься. Не так просто человеку снять пелену с глаз.

Автор:  Иван Денисов [ Понедельник, 17 Сентябрь, 2018 07:37 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Иван Денисов писал(а):
Не согласен с вами. Во первых ABSTRACT и EXTENSIBLE не противоречат, а дополняют друг друга. Ну а то, что Go не произошел от Оберона - оставим вас в плену собственных заблуждений. Если уж автор языка для вас не авторитет в этом вопросе, то боюсь, что уже ничего не поможет.

Где-то Илья отвечал на мой вопрос по теме abstract и extensible.
А один из авторов языка не говорит, что Го произошел от Оберона, он говорит лишь о некоторых заимствованиях.

Вы наверное не нашли времени посмотреть доклад внимательно и досмотрели только до анекдота. Я не оставляю попыток. Посмотрите с 19 минуты еще раз. Роберт утверждает:

Цитата:
Итак, наше наблюдение состоит в том, что мы на самом деле имеем здесь одну и ту же структуру. За исключением того, что вместо токенов Оберона-2 мы имеем фактически токены Си, но структура в целом соответствует Оберону-2. В двух случаях имеются одинаковые концепты: пакеты, импорт, типы, функции, методы и т. д.

В Go мы пошли чуть дальше и ещё сильнее подчистили некоторые из средств. Так, например, в Go есть только один оператор повторения for. В Обероне-2 их три, если я не ошибаюсь [WHILE, FOR, LOOP].

Так что, как мы видим, в наследии Go как минимум столько же Oberonа-2 (линия Паскаля), сколько С. На самом деле все эти средства, о которых я упоминал здесь — пакеты, импорт, строгая типизация памяти, сборка мусора, динамическая проверка типов и и.д. — все они пришли из Оберона-2.

Используется именно слово heritage --- наследие, а не "заимствование".

Автор:  Kemet [ Понедельник, 17 Сентябрь, 2018 09:39 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Кстати, очень в тему взаимоотношений и ответственности: http://www.opennet.ru/opennews/art.shtml?num=49284

Автор:  Иван Денисов [ Понедельник, 17 Сентябрь, 2018 12:06 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Кстати, очень в тему взаимоотношений и ответственности: http://www.opennet.ru/opennews/art.shtml?num=49284

Kemet, если чем-то вас задел, извиняюсь. Вашу точку зрения на вопрос прояснили, и вы тоже мою поняли. Спасибо, что спровоцировали это обсуждение.

Автор:  Kemet [ Вторник, 18 Сентябрь, 2018 06:09 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Цитата:
Итак, наше наблюдение состоит в том, что мы на самом деле имеем здесь одну и ту же структуру. За исключением того, что вместо токенов Оберона-2 мы имеем фактически токены Си, но структура в целом соответствует Оберону-2. В двух случаях имеются одинаковые концепты: пакеты, импорт, типы, функции, методы и т. д.
Блин, да кучу языков можно рядом поместить и структура в целом будет соответствовать. Это просто смешно. Докладчик выдаёт свои фантазии и не сбывшиеся желания за реальность.
Пакеты Го не имеют никакого отношения к модулям Оберона, это как бы совершенно разные штуки. Пакеты ближе к пакетам Дельфи или пространствам имён того же Шарпа. И импорт там больше похолж на Use/s. Сборщики мусора тоже разные.
Всё это, в том виде, как оно реализовано в Го, это не Оберон, всё это было до Оберона-2.
Всё что там явно заимствовано, это связанные с типом процедуры. остальное из Паскаля, Си, и, возможно, даже Шарпа. В принципе, об этом говорят другие участники проекта. А то ведь так можно сказать, что СиШарп это испорченный Активный Оберон. Ну а что, сборщик мусора, структура в целом похожа, да и вообще, нужно же АО продвигать.
Ну и, конечно, минимализм и относительная простота, это вполне может быть часть "Духа Оберона", который видает вокруг Go.

Иван Денисов писал(а):
Цитата:
В Go мы пошли чуть дальше и ещё сильнее подчистили некоторые из средств. Так, например, в Go есть только один оператор повторения for. В Обероне-2 их три, если я не ошибаюсь [WHILE, FOR, LOOP].
Я не знаю куда они пошли, но этот for больше напоминает конструкцию из какого нибудь Си-подобного ЯП.

Автор:  Иван Денисов [ Вторник, 18 Сентябрь, 2018 07:21 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Ну и, конечно, минимализм и относительная простота, это вполне может быть часть "Духа Оберона", который видает вокруг Go.

Я рад, что хоть в чем-то мы сходимся во мнениях.

Kemet, я так понимаю, что вы неплохо разбирайтесь в разных Оберон системах. Вот даже три публикации на Хабре сделали. Есть ощущение, что вы на практике применяете Оберон-системы. Предлагаю в День Оберона рассказать немного про ваш практический опыт? Если нет желания или возможности ехать, предлагаю записать видео-доклад, или сделать презентацию.

Автор:  Илья Ермаков [ Вторник, 18 Сентябрь, 2018 09:10 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
А то ведь так можно сказать, что СиШарп это испорченный Активный Оберон. Ну а что, сборщик мусора, структура в целом похожа, да и вообще, нужно же АО продвигать.


Как язык, конечно, нет.

Как рантайм, .NET, естественно использовал опыт Оберонов, который к ним принёс Шиперски.

Достаточно посмотреть на архитектуру ядра того же ББ (и почитать более глубокие поиски в книге Шиперского EthOS) и почитать Рихтера о рантайме .NET.
В конце 1990-х, когда делался .NET, что, было ещё что-то именно так устроенное?
Java-рантайм организован по-другому. Объектные модели COM/SOM/CORBA - cовершенно непохожи.

Автор:  Info21 [ Вторник, 18 Сентябрь, 2018 10:47 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Кучу языков нельзя. Оберон был первым, где была систематически сделана попытка (оказавшаяся абсолютно успешной) выделить минимальное ядро.

Потом куча вдохновлялась, потому что все думали (Гризмер об этом тоже говорит), что это легко и fun, всё так взять и соединить.

Оберон -- революционный дизайн, который притягивает индустрию к себе уже 30 лет.

Автор:  Пётр Кушнир [ Вторник, 18 Сентябрь, 2018 11:45 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Особенно смешно весь этот кеметовеселовский буллшит читать на фоне таких вот "нововведений" https://github.com/golang/go/wiki/Modules
Потом может авторы Go слово "компонент" вспомнят, через пару лет "поиска" и "усилий", а здесь всё так же будут спорить, мол, "нет нет, это не так, как в Оберонах, ни грамма заслуг Оберону не защитываем".

Автор:  Kemet [ Вторник, 18 Сентябрь, 2018 17:31 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Пётр Кушнир писал(а):
Особенно смешно весь этот кеметовеселовский буллшит читать на фоне таких вот "нововведений" https://github.com/golang/go/wiki/Modules

Пётр, ты сам-то читал прапир, или увидел слово Modules и обрадовался? Так в Си++ тоже есть папир про Modules. Слово одно, а семантика разная.

Автор:  Иван Денисов [ Вторник, 18 Сентябрь, 2018 17:34 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Пётр Кушнир писал(а):
Особенно смешно весь этот кеметовеселовский буллшит читать на фоне таких вот "нововведений" https://github.com/golang/go/wiki/Modules

Пётр, ты сам-то читал прапир, или увидел слово Modules и обрадовался? Так в Си++ тоже есть папир про Modules. Слово одно, а семантика разная.

Да там королевство кривых зеркал ведь. Назвали Модуль - Пакетом, а Компонент - Модулем. Вот и путаница, вот даже вы запутались. Я думаю, что Пётр имел в виду, что они вводят "компоненты".

Автор:  Пётр Кушнир [ Вторник, 18 Сентябрь, 2018 17:43 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Я не путался, я сразу написал про компонент.

Автор:  Kemet [ Вторник, 18 Сентябрь, 2018 17:44 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Info21 писал(а):
Оберон -- революционный дизайн, который притягивает индустрию к себе уже 30 лет.

Индустрию Оберон не притягивает. Просто бывшие студенты становятся специалистами и устраиваются на работу, встречаются с другими специалистами, и, конечно, толкают в большую жизнь те идеи, в которых они варились несколько лет. Толкали Оберон, потому что в течении нескольких лет Вирт был для них царь и бог, теперь бог у них сменился и они толкают Эйфель.

Автор:  Иван Денисов [ Вторник, 18 Сентябрь, 2018 17:45 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Пётр Кушнир писал(а):
Я не путался, я сразу написал про компонент.

Я имел в виду Сергея, что он подумал, что ты про модули написал в Обероне.

Автор:  Kemet [ Вторник, 18 Сентябрь, 2018 17:52 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Иван Денисов писал(а):
Назвали Модуль - Пакетом, а Компонент - Модулем.
Так ведь пакет в Го это не модуль в Обероне, это как раз и есть некий пакет или пространство имён, в котором находится много программных файлов, которые собираются в один итоговый. Это именно как пакет в Дельфи, но сильно упрощенный. А модуль уже более крупное объединение, имеющее механизмы контроля целостности.

Автор:  Иван Денисов [ Вторник, 18 Сентябрь, 2018 19:35 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Kemet писал(а):
Иван Денисов писал(а):
Назвали Модуль - Пакетом, а Компонент - Модулем.
Так ведь пакет в Го это не модуль в Обероне, это как раз и есть некий пакет или пространство имён, в котором находится много программных файлов, которые собираются в один итоговый. Это именно как пакет в Дельфи, но сильно упрощенный. А модуль уже более крупное объединение, имеющее механизмы контроля целостности.

Ну это просто модуль, который разДелили по куче файлов. Ну так людям удобнее если, пусть так. Но пакет выполняет у них функцию модуля, так что в Го аналогом Модуля является Пакет.

Автор:  Иван Денисов [ Вторник, 18 Сентябрь, 2018 19:42 ]
Заголовок сообщения:  Re: Go - официальная генеалогия

Красиво, когда модуль - это единица компиляции, единица загрузки и единица хранения. В этом есть великая простота. С другой стороны, я понимаю зачем это могут сделать. Так они делают, наверное, пытаются обезопасить интерфейс от изменений. Но в КП это решается сигнатурами записей. Если какая-то запись изменилась, то есть механизм это отследить. Но это размышления мои могут быть весьма дилетантские, я на Го почти ничего не программировал. Попробовал только. Вот Пётр - гуру в этом деле. Я верю его посту про "компоненты".

Страница 6 из 7 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/