OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Ноябрь, 2019 21:25

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Пятница, 17 Май, 2019 10:36 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1438
Comdiv писал(а):
Цитата:
Objects declared in a procedure P are not accessible within a procedure Q that is itself local to P. That is, objects must be either strictly local or global in order to be accessible

Что-то вообще странное. Получается, переиначены на корню классические правила видимостей.
Обоснования есть такому кардинальному изменению идеологии?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Пятница, 17 Май, 2019 10:37 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1438
Comdiv писал(а):
Цитата:
Objects declared in a procedure P are not accessible within a procedure Q that is itself local to P. That is, objects must be either strictly local or global in order to be accessible

Что-то вообще странное. Получается, переиначены на корню классические правила видимостей.
Обоснования есть такому кардинальному изменению идеологии?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Пятница, 17 Май, 2019 10:52 

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Воскресенье, 19 Май, 2019 14:06 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1438
Comdiv писал(а):
Упрощается генерация кода. Локальные же процедуры остаются исключительно для удобства, чтобы не выносить в область видимости модуля специфичный для процедуры код.

Да, но меняется набор доступных сущностей для таких вложенных процедур.
А мне, например, в Дельфи или КП, как раз логика ограничения вложенностей процедур, как "утилит" работы с внутренними переменными процедур, куда они были вложены, очень даже нравилась. Всё логично было. В Си мне этого часто ОЧЕНЬ недостовало. Там происходило "замусоривание" именами в ненужных уровнях и областях видимости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Воскресенье, 19 Май, 2019 21:41 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 956
Откуда: Киев
По опыту кодирования в Оберон>=07 замусоривания и с ним не происходит, но с локальными переменными работать надо, передавая их в качестве параметров локальным же процедурам. На мой взгляд, это правильно. Но, конечно, следовало бы разрешить использовать локальные константы, типы и процедуры.

Кстати, GNU C поддерживает локальные функции в паскалевском смысле.


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

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


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

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


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

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