OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 20 Ноябрь, 2019 01:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 12:58 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
Хлеба насущного ради стал я учить Голанг. И обнаружил много общего с Обероном. Более того, мои планы по реформе Оберона были во многом выполнены авторами голанга. Были вещи, о которых я помалкивал. Например, врождённая сериализация в текст. В лиспе она есть. В обероне её нет. Я хотел её добавить без лишнего шума, чтобы не спёрли. Оказалось - в голанге сериализация есть, не знаю насчёт десериализации обратно из текста. Многие другие вещи как раз прямо являются воплощением моих планов и завершением моих экспериментов.

Чтобы не тратить время на копирование, вот тема на моём форуме.

http://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=104&p=409#p409

Половина того, что я предлагал сделать для Оберона, сделано авторами голанга. Но вы можете продолжать упорствовать в своей ортодоксии.

Смотрите динамику: https://www.linux.org.ru/forum/development/12767812 . В 2016 году было сначала две вакансии в России по Голангу, потом 5. Сейчас их 121. В том числе с зарплатами за 300 руб. Это интересно, и я иду туда.

А сколько было по оберону вакансий в 2016? Ноль. А сколько сейчас? Ноль.

Притом потенциально Оберон лучше голанга (об этом я тоже написал на своём форуме).

Насчёт вас - не знаю, плакать или смеяться. Вас много. Конечно, до гугла вам по ресурсам далеко. Но если бы вместо того, чтобы каждому копать свою кривую поделку в уголке, вы бы объединились... Эхх, мечты-мечты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 14:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Вы не решили ни одной серьёзной задачи.
Поэтому цена такой истерике -- грош.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 14:27 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1202
КМК, раздел "Технологии компиляции" не самое подходящее место для тем типа "критика xxx" .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 14:50 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2626
Откуда: Россия, Ярославль
Раз уж тут оффтоп, позволю себе сослаться на себя же, с ремаркой, что уже тогда с Вами, budden, было Всем Всё Понятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 15:08 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
Вы перепутали. В этой теме предлагается критиковать не БудДена, а Голанг. Судя по всему, про Голанг сказать нечего, поэтому было решено сосредоточиться на более доступном для критики объекте :mrgreen: С Вами, Пётр, я тоже всё понял. Ровно тогда, когда Вы назвали лисп декларативным языком. На этом я заканчиваю перепалку и жду, пока кто-нибудь напишет что-то по существу предложенной темы. Или можно совершить Поступок и объявить тему не представляющей научного интереса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 16:02 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1026
Вы, Денис, тоже не горячитесь. Здесь высказывались не о Вас, а о Ваших высказываниях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 16:23 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 392
Откуда: Москва
Информации по существу в плане критики Golang Вами, Денис, не представлено.

В части лично Вас - не сочтите за бесцеремонность дать Вам совет:
Занимайтесь тем, что любите. И любите то, чем занимаетесь.

Если Вам не нравится Оберон, просто тихо переключитесь на что-нибудь полезное. Лисп, Golang или выпиливание лобзиком. Будете любить свое дело, и у Вас обязательно получится. Только не рассчитывайте, что толпы благодарных последователей побегут за Вами.

И еще. Разные многословные посты мало кому интересны, когда содержат мало информации по существу. Это напоминает "Страдания юного Вертера" в гораздо менее талантливом изложении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 17:40 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 347
Откуда: Украина, Днепропетровская обл.
budden писал(а):
Но если бы вместо того, чтобы каждому копать свою кривую поделку в уголке, вы бы объединились... Эхх, мечты-мечты.
Денис, а лично Вы почему ни с кем не объединились? Просто интересно. Ваши идеи не разделяют? Просто Ваша Оберон-деятельность со стороны тоже выглядит как копание своей кривой поделки в уголке, сорри.


Последний раз редактировалось Oleg N. Cher Суббота, 09 Февраль, 2019 17:44, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 17:41 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2626
Откуда: Россия, Ярославль
budden писал(а):
Вы назвали лисп декларативным языком

ЛИСП и есть декларативный язык, а ты есть неграмотный человек, если отрицаешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Суббота, 09 Февраль, 2019 19:10 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 957
Откуда: Киев
budden писал(а):
    - отсутствие исключений - одинаково
    - defer - важная вещь, в оберонах её нет
Учтите, что исключения есть в дизайне Go, но из-за другого названия и другого способа записи многие считают, что нет, не видя разницы между термином и понятием. Отчасти, поэтому, а, отчасти, и из-за других средств неструктурного потока исполнения оказывается нужен defer. Если нет необходимости скакать туда сюда на разных разновидностях GOTO, то и нет нужды в defer, который не бесплатен во всех смыслах.

budden писал(а):
    я хотел сделать для оберона ANYTHING в дополнение к ANYREC, в голанге он уже есть: interface{}
Это разновидность автоматической обёртки в ANYREC, похожий механизм есть в Java. Опять-таки, вещь не бесплатная во всех смыслах и там и там. В частности, есть некоторые особенности с nil.

Цитата:
голенгу нужен Си
Нужен не больше, чем Оберону. Если при программировании на Golang обойтись без связывания с библиотеками на Си, то это сильно упрощает межплатформенную сборку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 00:28 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
Comdiv, спасибо за содержательное обсуждение. Похоже, да, что паника - это исключения, т.к. она обрабатывает defer (которые есть блоки finally), т.е. есть раскрутка стека. Хотя я не в курсе, почему исключения в С++ считаются дорогими и страдает ли голанг от этой проблемы. Впрочем, идея Оберона, как я её понял, состоит в том, что мы не ставим быстродействие во главу угла. Мы ставим во главу угла простоту и надёжность. Если исключения позволяют упростить работу и сделать программы более надёжными, то их можно использовать, даже если они медленные. Но defer может быть использовать и отдельно от паники, и отдельно от исключений. В этом случае он служит для реализации RAII и в этом виде полезен (хоть и многословен). RAII сама по себе с исключениями не связана, она становится актуальной при наличии более чем одной точки выхода из функции. Да и просто удобно: открыл файл, в этом же месте (а не 20 строчками ниже) позаботился о том, чтобы файл закрылся, и забыл об этом вопросе. С исключениями это опять же не связано.

Осталось выяснить, нет ли исключений в Обероне, ведь в ББЦБ и BlueBottle нём есть локализация ошибки в активности или в обработчике события. Там есть и trap cleaner. Впрочем, лично мне сейчас это неважно. У меня в вопросе исключений каких-то убеждений. Мне кажется, что хорошего подхода к обработке ошибок пока не придумано.


Последний раз редактировалось budden Воскресенье, 10 Февраль, 2019 00:43, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 00:38 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
> Если при программировании на Golang обойтись без связывания с библиотеками на Си, то это сильно упрощает межплатформенную сборку.
Тогда вопрос такой: есть ли на голанге что-то, подобное BlueBottle, т.е. немножко ассемблера и дальше один голанг, без всякого Си?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 01:58 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 957
Откуда: Киев
budden писал(а):
Осталось выяснить, нет ли исключений в Обероне, ведь в ББЦБ и BlueBottle нём есть локализация ошибки в активности или в обработчике события.
Это потому, что то и это - операционные системы, хотя и в разной степени. Также, как в современных ОС АВОСТ в программе не приводит к выключению компьютера, так и аварийное завершение команды в ББ не приводит к падению всей программы.

Цитата:
есть ли на голанге что-то, подобное BlueBottle
Я читал что-то о подвижках в сторону встраиваемых систем, но не следил за этим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 10:14 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
Тут прочитал, что дороговизна исключений - это миф, и в другом месте, что нужно проверить, сколько они стоят, если этот вопрос волнует. Поэтому я не соглашусь, что defer это плохо. И, на мой взгляд, в обероне подобной конструкции не хватает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 14:57 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 957
Откуда: Киев
"Разоблачители мифов", скорее всего, не понимают о чём речь. Исключения дороги, в первую очередь, тем, что отрицательно влияют на надёжность программы, в частности, возможности отладки.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 17:13 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
«не читал, но осуждаю». Там речь идёт исключительно о скорости выполнения, и я тоже имел в виду именно это. Первоисточник: http://www.flounder.com/exceptions.htm

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 17:27 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 957
Откуда: Киев
Я понимаю, что Вы имели ввиду, и указал на то, что гораздо важней, потому что рассуждения о том, что скорость - это не проблема, когда проблема совсем в другом, мне видятся абсурдными. Теперь наша программа не работает в 2-а раза быстрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 17:52 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 629
Ну, тут ещё надо разобраться, страдают ли исключения в голенге от тех же проблем, ведь они сделаны существенно по-другому. Плюс рекомендации по стилю, например, не выпускать панику из библиотек. Касаемо defer - я вижу в них сплошные плюсы. Единственное, что в них плохо - это возможность возникновения каскадной ошибки. Например, если закончилась память, а defer пытается что-то записать в журнал и для этого нужна ещё память. Но это - достаточно малая доля возможных проблем, и я всё равно считаю, что defer скорее выгодны, чем вредны. Впрочем, это можно счесть вкусовщиной. Дальше вроде пока нечего обсуждать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Воскресенье, 10 Февраль, 2019 18:31 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 957
Откуда: Киев
В Go, несомненно, сделано лучше, так как в нём исключения задвинуты в дальний угол для того, чтобы меньше злоупотреблять этим механизмом. Поскольку Go зарится и на область скриптового применения (написал-запустил-выкинул), то в нём исключения и другие неструктурные переходы и смотрятся более-менее уместно. Тут же и defer - это не может быть положительным свойством из общих рассуждений, это вопрос области применимости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Критика Golang
СообщениеДобавлено: Понедельник, 11 Февраль, 2019 20:00 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 372
budden писал(а):
Тут прочитал, что дороговизна исключений - это миф, и в другом месте, что нужно проверить, сколько они стоят, если этот вопрос волнует

В современных реализациях runtime-стоимость минимизируется (особенно для happy path):
Нет ничего проще, чем вызвать функцию, я сам это делал неоднократно
Что же там такого тяжелого в обработке исключений C++?
С++ exception handling под капотом или как же работают исключения в C++


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB