OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 29 Ноябрь, 2021 23:49

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




Начать новую тему Ответить на тему  [ Сообщений: 272 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 17 Август, 2021 18:28 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1375
Ну хорошо, больше не буду мешать, тем более, что мне нечего добавить к вышесказанному.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 17 Август, 2021 19:01 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Oleg N. Cher писал(а):
Пока что обоснования по поводу ухудшения диагностики ошибок из-за отсутствия ";" прозвучали, но они лично для меня неубедительны. Позиция ошибки, что ли, уплывает в отчёте? Нет, она не уплывает, остаётся такой же.

А после ошибки? Если собираетесь останавливаться на первой, проблем нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 17 Август, 2021 19:07 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Илья Ермаков писал(а):
Учитывая, что в 99% случаев на практике оператор заканчивается на конце строки, то аналогия с предложениями неподходящая.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 17 Август, 2021 19:32 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 518
А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это?

И еще, я правильно понял, что где-то там есть 4 страницы, описывающие формальные правила, позволяющие отказаться от ";" как разделителя? Т.е. Language Report для Оберон-3 подрастет на 3-4 страницы?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 17 Август, 2021 20:04 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 462
Откуда: Украина, Днепропетровская обл.
Trurl писал(а):
А после ошибки? Если собираетесь останавливаться на первой, проблем нет.
А в чём проблема, если не собираемся останавливаться на первой?

Изображение

У меня одного стойкое ощущение, что контраргументы просто высосаны из пальца?

adimetrius писал(а):
А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это?
Устал повторять: так исходники смотрятся чище. А запутать и сделать малочитаемыми можно и с разделителем.

adimetrius писал(а):
И еще, я правильно понял, что где-то там есть 4 страницы, описывающие формальные правила, позволяющие отказаться от ";" как разделителя? Т.е. Language Report для Оберон-3 подрастет на 3-4 страницы?
Нет, Вы неправильно поняли. Фразу "; необязательный разделитель" нет смысла рассусоливать на 4 страницы.

Это в Go всё иначе.

Я полагаю, что Language Report для Оберон-3 никогда не будет создан. Это так, самопальное творчество. Не беспокойтесь очень по этому поводу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 17 Август, 2021 23:21 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 518
Oleg N. Cher писал(а):
У меня одного стойкое ощущение, что контраргументы просто высосаны из пальца?

Это вы так обесцениваете контраргументы?

Oleg N. Cher писал(а):
adimetrius писал(а):
А каков посыл к тому, чтобы выпиливать ";" как разделитель операторов? Для чего это?
Устал повторять: так исходники смотрятся чище.
Субъективный критерий, вы не находите?

Что 4 страницы не понадобится - понял.

Еще про аргументы: мне субъективно не нравится текст без разделителей, поэтому я подыскиваю объективные аргументы против такой грамматики.

Пример меньшей устойчивости:
TYPE P = PROCEDURE (): P;
VAR p, q: P;
p := q
R()
И вот я случайно, редактируя, удаляю букву R, и смысл программы меняется. Пример, конечно, надуманный, но все же он есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 02:22 
Аватара пользователя

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

А там без разницы, есть ли ";" - потому что он в коде OP2 проверяется только для того, чтобы сгенерировать ошибку при его отсутствии!

adimetrius писал(а):
Субъективный критерий, вы не находите?
Неа, не нахожу. Чище есть чище. Вы же не пишете после каждого предложения трёхточие? Оно нужно редко. А точка часто. А в Обероне проще объяснить, что разделитель необязателен, чем объяснять, где его можно опустить (перед END и т.д.). Экономятся ценные страницы.

adimetrius писал(а):
И вот я случайно, редактируя, удаляю букву R, и смысл программы меняется. Пример, конечно, надуманный, но все же он есть.
Антон, вот я случайно удаляю скобки в R() и вызов функции превращается в обращение к переменной или константе. Ну вот как теперь с этим жить? А можно ещё придумать подобных примеров.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 08:31 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1679
Смолтокеры смотрят на все эти околоточкосзапятённые страдания с лёгкой иронией...


Вложения:
pharoCheatSheet.pdf [554.21 КБ]
Скачиваний: 41
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 08:50 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Wlad писал(а):
Смолтокеры смотрят на все эти околоточкосзапятённые страдания с лёгкой иронией...

В фортране тоже никаких проблем c ";".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 08:58 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Код:
  a := calc(n+1) 1 + calc(n+2) + calc(n+3)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 09:03 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Oleg N. Cher писал(а):
Устал повторять: так исходники смотрятся чище.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 09:23 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 462
Откуда: Украина, Днепропетровская обл.
Так. Ни двоеточий, ни запятых я убирать не буду. А в Вашем коде постом повыше ошибка.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 11:03 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 518
Oleg N. Cher писал(а):
adimetrius писал(а):
Это вы так обесцениваете контраргументы?
Ну да, именно.

Для меня это признак конца дискуссии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 12:39 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1679
Trurl писал(а):
В фортране тоже никаких проблем c ";".
не, ну Вы - сравнили! Я, конечно, понимаю, что Фортран - заслуженная числодробительная кувалда, но как-то её с самОй квинтэссенцией выражения и поддержки принципов ООП, рядом ставить... как-то несколько не эстетично даже! Не говоря о приличиях...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Август, 2021 20:58 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1401
Oleg N. Cher писал(а):
А в Вашем коде постом повыше ошибка.

Ну дык! И как её обработает компилятор?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Август, 2021 02:02 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2424
Откуда: Россия, Томск
Илья Ермаков писал(а):
В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений.
Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Август, 2021 12:06 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9447
Откуда: Россия, Орёл
Александр Ильин писал(а):
Илья Ермаков писал(а):
В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений.
Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?


Хм, может быть. я и ошибся:
https://orfogrammka.ru/%D0%BF%D1%83%D0% ... %BC%D0%B8/

"2. Точка, вопросительный и восклицательный знаки, многоточие ставятся перед закрывающей скобкой , если они относятся к конструкции, заключенной в скобках:"

По поводу вопросительного, восклицательного и многоточия-то понятно - они ставятся и перед закрывающей скобкой.
Что-то практического употребления точки перед скобкой не могу припомнить. Дико смотрится.
Видимо, если я использовал скобки в центре предложения - и внутри них есть несколько предложений.
Ааа аааа (Ааа. Ббб.) оооооо.

Но если внутри скобок нужна бы точка, но за скобкой кончается внешнее предложение, то совсем странно выглядит: .).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Август, 2021 19:39 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2424
Откуда: Россия, Томск
Илья Ермаков писал(а):
Александр Ильин писал(а):
Илья Ермаков писал(а):
В современных правилах, например, . не ставится в конце заголовка. Перед ) не ставятся, даже если внутри скобки несколько предложений.
Илья, я что-то сомневаюсь насчёт точки перед скобкой. Можете ссылку на правило найти?

Хм, может быть. я и ошибся
Ты прав, что в заголовках точка не ставится.
В скобках (когда они используются) точки ставятся в том случае, когда предложение началось и закончилось в скобках. (Вот так, например.) Другими словами, скобки могут быть вокруг одного или нескольких предложений. (В этом случае каждое предложение пишется как обычно. Со всеми знаками препинания, с большой буквы и т. д.) Либо же скобки могут быть внутри предложения (тогда это просто альтернатива выделению запятыми или тире с двух сторон, а не самостоятельное предложение), и тогда содержимое не выделяется заглавными буквами и прочим. Можно сделать восклицание (sic!) или вопрошание (но зачем?), однако не с заглавной буквы.

Нельзя (внутри скобок закончить одно предложение и начать другое. Это ошибка.). Если нужно взять в скобки несколько предложений, они все должны начать и закончиться полностью внутри скобок. Это насколько я знаю. Буду рад, если кто-то поправит или дополнит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Август, 2021 03:03 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1679
Коллеги, а - что, вообще, здесь происходит?
Вы послушайте только себя!:
Один "о моде" и "тенденциях" "на счёт употребления точки с запятой" говорит, другой - про какие-то "необязательность их написания" и "равнозначность с концом строки"...

Вы - о чём?
КАКАЯ "мода"? КАКИЕ ""тенденции"? КАКАЯ "необязательность"????
Вы - об оберонах?

Я почему и привёл табличку с синтаксисом pharo! Просто - как образец однозначного и минималистичного описания синтаксиса языка, с ясными и чёткими идеями и целями. Если и это - не иллюстрация, то - пожалте, - можно ещё меньше: https://github.com/pavel-krivanek/pharoMaterials/blob/master/postcard/pharo%20syntax%20postcard%20-%20a4.pdf Заметьте, что там - совершенно ни при чём "мода"или "необязательность", при совершенно ясном и непротиворечивом, законченном синтаксисе.

Относительно оберонов - просто по идеологии их построения, НЕ ДОЛЖНО появляться даже намёка на мысль о "необязательности" какого-то элемента синтаксиса. Он - либо обязательно ставится в данном месте, либо, никто даже не заикается о возможности его появления здесь.

Дикси.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Август, 2021 09:45 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 462
Откуда: Украина, Днепропетровская обл.
Trurl писал(а):
Ну дык! И как её обработает компилятор?
Да так же, как и с ";" обработал бы, тем более, что ";" там нет.

Изображение

Wlad писал(а):
Относительно оберонов - просто по идеологии их построения, НЕ ДОЛЖНО появляться даже намёка на мысль о "необязательности" какого-то элемента синтаксиса. Он - либо обязательно ставится в данном месте, либо, никто даже не заикается о возможности его появления здесь.
Извините, а как насчёт необязательности ";" перед END?

И интересно было бы услышать Вашу мысль по поводу убирания таки засоряющего исходник разделителя и восприятия "слитых в кучу" конструкций типа a := b b := a c := d
- мы ведь не будем заставлять программиста "мельчить", разнося это по разным строкам?

Получается, что этот разделитель нужен больше человеку - из-за особенностей восприятия. А не компилятору.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 272 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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