OberonCore https://forum.oberoncore.ru/ |
|
Go - официальная генеалогия https://forum.oberoncore.ru/viewtopic.php?f=6&t=5807 |
Страница 1 из 7 |
Автор: | Илья Ермаков [ Воскресенье, 10 Июль, 2016 19:49 ] | ||
Заголовок сообщения: | Go - официальная генеалогия | ||
Из книги Алана Донована и Брайана Кернигана. Можно тыкать в наглые мейнстримовские рожи, утверждающие, что "масштабы влияния Оберона на Яву, Го и др. чисто символические".
|
Автор: | Владимир Паронджанов [ Воскресенье, 10 Июль, 2016 23:41 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Следует различать текстовое и визуальное программирование. Визуальный язык ДРАКОН тоже берет начало из ALGOL 60. Структурная схема (картинка) ограничивается анализом в рамках текстового программирования, НЕ ВЫХОДЯ за его пределы. Все разногласия, порою острые, также находятся в рамках текстового программирования, НЕ ВЫХОДЯ за его пределы. По моему мнению, победит тот, кто разработает общий подход, объединяющий текстовое и визуальное программирование. Похоже, что среди теоретиков таких смельчаков пока нет. |
Автор: | Info21 [ Понедельник, 11 Июль, 2016 12:56 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Илья Ермаков писал(а): Можно тыкать в наглые мейнстримовские рожи, утверждающие, что "масштабы влияния Оберона на Яву, Го и др. чисто символические". А есть такие рожи? Может, они это публично утверждали?
|
Автор: | Info21 [ Понедельник, 11 Июль, 2016 12:58 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Владимир Паронджанов писал(а): По моему мнению, победит тот, кто разработает общий подход, объединяющий текстовое и визуальное программирование. Мнению трудно найти основания в истории текста (начиная с истории речи).
|
Автор: | Rifat [ Понедельник, 11 Июль, 2016 13:18 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Надо отдать должное, что в чем-то Go превосходит Оберон: в том, что там реализована определенная модель многозадачности. В КП же есть только кооперативная многозадачность и не используются преимущества многоядерности процессоров. Вообще, насколько я знаю, в языке Модула была реализована какая-то модель многозадачности, затем Вирт решил, что не следует встраивать в язык то, что, во-первых, может быть реализовано в виде библиотек, а, во-вторых, пока не достаточно устаканилось (не смог подобрать лучшего слова). И Оберон не включает в себя реализацию многозадачности, с другой стороны, нет и большого количества реализаций многозадачности для Оберонов в виде библиотек. |
Автор: | prospero78 [ Пятница, 22 Июль, 2016 09:38 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Rifat писал(а): Надо отдать должное, что в чем-то Go превосходит Оберон: в том, что там реализована определенная модель многозадачности. В КП же есть только кооперативная многозадачность и не используются преимущества многоядерности процессоров. Вообще, насколько я знаю, в языке Модула была реализована какая-то модель многозадачности, затем Вирт решил, что не следует встраивать в язык то, что, во-первых, может быть реализовано в виде библиотек, а, во-вторых, пока не достаточно устаканилось (не смог подобрать лучшего слова). И Оберон не включает в себя реализацию многозадачности, с другой стороны, нет и большого количества реализаций многозадачности для Оберонов в виде библиотек. Многозадачность не есть элемент языка. Это элемент рантайма. Вводить многозадачность, как оператор FOR -- неразумно. И прикрутить библиотеку process гораздо проще, логичней, и если не надо -- то и необязательно. Go, ко всему прочему создаёт монолит без всяких DLL, в попытке избежать ада динамических библиотек. На мой взгляд, тут Go вчистую проигрывает Компонентному Паскалю. И да, Go -- не язык системного программирования до тех пор, пока я не увижу ОС на нём. БлэкБокс может и не является полноценной ОС, но заменяет с успехом 90% необходимого функционала ОС в прикладнухе. |
Автор: | ilovb [ Суббота, 23 Июль, 2016 00:57 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
В Go многозадачность как раз в языке. Это, кстати, одно из главных удобств в нем. |
Автор: | prospero78 [ Воскресенье, 24 Июль, 2016 07:50 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
ilovb писал(а): В Go многозадачность как раз в языке. Это, кстати, одно из главных удобств в нем. Знаю. Да, плюшка удобная. Но именованные каналы известны ещё с эпохи динозавров. И сделать более удобный интерфейс к ним: 1) Признать, что именованные каналы и либы к ним сделаны через одно место. 2) Втащить в язык либу, только потому, что она красиво сделана, имхо, признак непонимания принципа достаточности и необходимости. почему бы было не сделать так: Код: .... import pipe p1:=pipe.create("test") procedure pipe.in(val:byte) .... end pipe.in; procedure pipe.out():byte ..... end pipe.out; И, мне так кажется, такого решения хватило бы за глаза. И по межпроцессному взаимодействию, и по удалённому сетевому. Вводить в язык, мне таккацца, не очень разумно. |
Автор: | ilovb [ Понедельник, 25 Июль, 2016 22:57 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Ознакомьтесь для начала со всеми возможностями каналов в Go. |
Автор: | prospero78 [ Вторник, 26 Июль, 2016 09:24 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
ilovb писал(а): Ознакомьтесь для начала со всеми возможностями каналов в Go. )) Благодарю за предложение. Не сомневаюсь, что каналы в golang замечательная универсальная штука, но то что, golang изуродованный Оберон -- в этом у меня нет сомнений,) |
Автор: | Info21 [ Среда, 27 Июль, 2016 16:52 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
ilovb писал(а): Ознакомьтесь для начала со всеми возможностями каналов в Go. Через десять лет, когда вылезут все неочевидные взаимодействия, будет понято, что зря это запихнуто в язык.Столько раз проходили, что ... |
Автор: | prospero78 [ Среда, 27 Июль, 2016 17:00 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Info21 писал(а): Через десять лет, когда вылезут все неочевидные взаимодействия, будет понято, ... )))) |
Автор: | Пётр Кушнир [ Среда, 27 Июль, 2016 18:03 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
prospero78 писал(а): )))) Во что Вы превращаете форум oberoncore.ru? |
Автор: | prospero78 [ Среда, 27 Июль, 2016 20:03 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Пётр Кушнир писал(а): Во что Вы превращаете форум oberoncore.ru? Пётр, я выразил свои эмоции как мог. Если Вы считаете, что моё сообщение превращает форум в мусор -- удалите моё предыдущее и это сообщение, я не против. Могли бы и в личку написать. |
Автор: | ilovb [ Среда, 27 Июль, 2016 23:56 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Info21 писал(а): ilovb писал(а): Ознакомьтесь для начала со всеми возможностями каналов в Go. Через десять лет, когда вылезут все неочевидные взаимодействия, будет понято, что зря это запихнуто в язык.Столько раз проходили, что ... Ну и отлично. Будет следующий виток эволюции языков. Ничего не делать тоже не вариант. |
Автор: | Иван Кузьмицкий [ Четверг, 28 Июль, 2016 08:19 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
ilovb писал(а): Ну и отлично. Будет следующий виток эволюции языков. Но сперва будут отстроены парсеки инфраструктур и написаны мегатонны софта, потрачены миллионы человеко-часов на борьбу с неочевидностями и костылями, в погоне за сиюминутной выгодой упущено время и недополучена подводная часть айсберга прибыли. Думаю так, если человечество допускает, что ему в этом мире больше нечем заняться, то отчего бы не потусоваться.
|
Автор: | prospero78 [ Четверг, 28 Июль, 2016 09:10 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
Согласен с Иваном. Конечно, есть вероятность, что идя непонятно куда, можно попасть в нужную точку. Но на порядки больше вероятность прийти в никуда, чем куда-то, используя такие способы построения ИТ. Я всегда ставлю мысленный эксперимент короткого замыкания и холостого хода. Например, что будет, если все в мире станут программистами? Мы все сдохнем от голода через пару недель. Что будет если никто не будет программистом? Ну, просто не будет ИТ, но ничего кардинального с человечеством не произойдёт. Программист -- не фундаментальная профессия))) Точно такой же эксперимент можно поставить с мультипроцессорностью в языке. Или аналогичный эксперимент (с другой стороны) с бесконечной тактовой частотой ЦП)) Качественные выводы, имхо, не так очевидны, но они в любом случае говорят о том, что без неё (встроенной мультипроцессорности) в языке прожить можно,) |
Автор: | Kemet [ Четверг, 28 Июль, 2016 14:19 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
prospero78 писал(а): Конечно, есть вероятность, что идя непонятно куда, можно попасть в нужную точку. Однако, они знают куда идут и зачем.Кстати, в Активном Обероне вполне себе нормально получилось и та же концепция Активных Объектов и синтаксис монопольных секций применим и для вытесняющей многозадачности и для кооперативной многозадачности на неблокирующих алгоритмах. Реализация внутри различная, а внешне для программиста мало что изменилось на прикладном уровне. Ну, а кому не нравятся языковые конструкции, тот может использовать соответствующий программный каркас, напрямую управляя потоками, впрочем языковые конструкции используют от же самый каркас. |
Автор: | prospero78 [ Четверг, 28 Июль, 2016 14:38 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
А вот кстати, да, Кемет! Может я что-то упустил, но монопольных секций в golang -- нет! А это проблема при написании драйверов. Да, я не утверждаю, что монопольную секцию реализовать невозможно без специальных языковых конструкций. Но, фактически указание монопольной секции может быть реализована либой/каркасом в одну строку. Вот сейчас специально проверил запрос "Драйвер на golang" в яндексе/гугле. Всё крутится вокруг драйверов к базам данных. На запрос "Операционная система на golang" есть парочка ссылок с примитивными поделками, что не идёт близко в сравнение с WinAos. Плюс ко всему потребуются шаманские танцы на golang. Языковые конструкции в Go не самые дурные, хотя и во многом нелогичные. Я понимаю, что это плата за желание сделать и правильно, и модно. Речь идёт именно том, а на сколько это КРАЙНЕ необходимо. Как ключевое слово PROCEDURE или FOR? И вот здесь у меня (и не только у меня), есть большие сомнения в правильности выбранного направления. В итоге, лично для меня -- golang забавная штукенция, но в отличии от того же BlackBox, который способен выжить сам без денежных вливаний -- golang, в условиях безденежья, имхо обречён. И в этом оооочень существенная разница. Я знаю людей, которые переходили с явы, перла, бейсика на питон (сам такой, Ваня Денисов тут близок). Не знаю людей ушедших на питон после Оберонов))) |
Автор: | Kemet [ Четверг, 28 Июль, 2016 17:45 ] |
Заголовок сообщения: | Re: Go - официальная генеалогия |
prospero78 писал(а): Может я что-то упустил, но монопольных секций в golang -- нет! Это просто механизм, функциональное назначение которого - гарантировать, что с ресурсом работает только один поток. В Активном Обероне реализовали так - через монитор. Каждый объект, в котором есть монопольные секции защищается монитором. В Модуле-3, которая тоже поддерживает многопоточность на уровне языка, есть оператор LOCK, который решает ту же самую проблему. Но это, просто синтаксический сахар, и можно использовать соответствующий интерфейс и это хорошо, а в АО такого нет и это, наверное, плохо. В Go тоже есть мониторы Хоара, но работают они, вроде, классически - на основе очередей сообщений Бринча Хансена. Цитата: На запрос "Операционная система на golang" есть парочка ссылок с примитивными поделками, что не идёт близко в сравнение с WinAos. Плюс ко всему потребуются шаманские танцы на golang. Да что-то переписывали, Plan9 или Inferno? не помню.Цитата: Речь идёт именно том, а на сколько это КРАЙНЕ необходимо. Как ключевое слово PROCEDURE или FOR? И вот здесь у меня (и не только у меня), есть большие сомнения в правильности выбранного направления. Унификация. Как следствие меньше ошибок. Есть стандартный языковой механизм и правила его использования. Многопоточка это та еще муть и столько ошибок при реализации вылазит, причем трудно отлавливаемых. И такая поддержка на уровне языка дает определенное преимущество. Конечно, это накладывает и ограничения, но данный баланс оправдан. Впрочем, в Оберонах тоже много разных ограничений, кому-то нравится, кому-то нет.Цитата: Я знаю людей, которые переходили с явы, перла, бейсика на питон (сам такой, Ваня Денисов тут близок). Не знаю людей ушедших на питон после Оберонов))) Потому что у них нет задач, для которых куцый Оберон не подошел бы.
|
Страница 1 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |