hi,
КОНЦЕПТУАЛЬНЫЙ ВОПРОС!!!
во всех адских буках with и use обзывают
как спецификаторы контекста
в описаниях/буках по другим языкам программирования
вместо понятия "контекст" используется понятия
"область действия" и "область видимости",
и, imho, это более ясно отображает смысл
что если использовать следующие обзывательства:
with ---> спецификатор _области_видимости_
use ---> спецификатор _области_действия_
use type ---> спецификатор _области_действия_[типа]_
а от использования "контекст" отказаться
мне кажется, что так будет лучше, понятнее
и "ближе к людям" :)
...хотя и придется вылавливать "контекст" по всему тексту
Alex
Oleksandr Havva wrote:
во всех адских буках with и use обзывают
как спецификаторы контекста
Разрешите сделать предложение:
with - спецификатор _контекста_
use - спецификатор _раскрытия_видимости_
use type - спецификатор _раскрытия_видимости_типа_
Vadim Godunko wrote:
Oleksandr Havva wrote:
во всех адских буках with и use обзывают
как спецификаторы контекста
Разрешите сделать предложение:
with - спецификатор _контекста_
use - спецификатор _раскрытия_видимости_
use type - спецификатор _раскрытия_видимости_типа_
Я бы поддержал!
в описаниях/буках по другим языкам программирования
вместо понятия "контекст" используется понятия
"область действия" и "область видимости",
и, imho, это более ясно отображает смысл
что если использовать следующие обзывательства:
with ---> спецификатор _области_видимости_
В Аде есть понятие declarative region. Очень близко к
области видимости. Видимость же на уровне межмодульных
связей определяется все-таки по-другому, на нее есть
специальная глава в RM:
10.1.6 Environment-Level Visibility Rules
Так что я бы явно разделил русские термины.
use ---> спецификатор _области_действия_
Опять же, вариант Вадима позволяет не путать со scope.
use type ---> спецификатор _области_действия_[типа]_
Ну, если использовать предложение Вадима, то целиком!
hi,
Vadim Godunko wrote:
Oleksandr Havva wrote:
>
во всех адских буках with и use обзывают
как спецификаторы контекста
>
Разрешите сделать предложение:
>
with - спецификатор _контекста_
use - спецификатор _раскрытия_видимости_
use type - спецификатор _раскрытия_видимости_типа_
В принципе, нечто подобное уже традиционно используется
всеми адскими апологетами:
with ---> спецификатор совместности контекста
use ---> спецификатор использования контекста
И похоже, что ты не врубился в суть идеи переобзывательства :(
(возможно, другие товарисчи тоже)
Я полностью согласен с тем, что это устоялось в адских книжках
и всем присутствующим это ясно и понятно но...
Помниться, когда я сам только начинал ковыряться с Адой,
то чтобы врубиться в смысл этих изречений
понадобилось некоторое время, а это не радует
Знач, вторая попытка
Все это крутится вокруг "scope rules".
"scope rules" присутствует не только в Аде,
но и в других языках программирования.
Отличие Ады в том, что она различает
"видимость" и "непосредственную доступность" сущности.
Что делает "with"?
Он расширяет "область видимости",
т.е. если у нас есть модуль Unit_A,
в котором описано Some_A,
то мы _НЕ_ можем обратиться/использовать
Some_A из модуля Unit_B, пока в модуле Unit_B
не _расширим_ "область видимости"
с помощью: "with Unit_A"
Только после этого Some_A будет доступно
с помощью полной точечной нотации,
то есть оно теперь _видимо_ из модуля Unit_B
(приватность не трогаем)
Что делает "use"?
Он позволяет непосредственно обратиться/использовать
Some_A из модуля Unit_B, без точечной нотации.
то есть "use" вводит сущности модуля Unit_A
в непосредственную "область действия" модуля Unit_B.
теперь идея понятна???
кстати, заметку товарища Рыбина я уже тоже прочитал
и пока не вижу, чтобы такой подход _противоречил_
понятию "declarative region" или тому, что написано
в RM ("10.1.6 Environment-Level Visibility Rules"),
или вносил какие-либо неоднозначности(!)
наоборот. мне кажется, что так яснее выразить различия
"видимости" и "непосредственной доступности"
в описаниях/буках по другим языкам программирования
вместо понятия "контекст" используется понятия
"область действия" и "область видимости",
и, imho, это более ясно отображает смысл
>
что если использовать следующие обзывательства:
with ---> спецификатор _области_видимости_
use ---> спецификатор _области_действия_
use type ---> спецификатор _области_действия_[типа]_
>
а от использования "контекст" отказаться
>
мне кажется, что так будет лучше, понятнее
и "ближе к людям" :)
>
...хотя и придется вылавливать "контекст" по всему тексту
>
Alex
Alex
Oleksandr Havva wrote:
ну тогда "общее" название для with и use - спецификаторы контекста
with - спецификатор _видимости_
use - спецификатор _непосредственной_доступности_
use type - спецификатор _непосредственной_доступности_типа_
А может раскрытия/открытия непосредственной доступности.
hi,
Vadim Godunko wrote:
Oleksandr Havva wrote:
>
ну тогда "общее" название для with и use - спецификаторы контекста >
with - спецификатор _видимости_
use - спецификатор _непосредственной_доступности_
use type - спецификатор _непосредственной_доступности_типа_
>
А может раскрытия/открытия непосредственной доступности.
похоже, что меня "контекст" напрягает, а тебя "область"
:)))
Alex
Oleksandr Havva wrote:
ну тогда "общее" название для with и use - спецификаторы контекста
with - спецификатор _видимости_
use - спецификатор _непосредственной_доступности_
use type - спецификатор _непосредственной_доступности_типа_
А может раскрытия/открытия непосредственной доступности.
похоже, что меня "контекст" напрягает, а тебя "область"
Я не против "области". Но использовать "доступность" без уточнения - тоже не хорошо.
Vadim Godunko wrote:
Oleksandr Havva wrote:
>ну тогда "общее" название для with и use - спецификаторы контекста
>with - спецификатор _видимости_
>use - спецификатор _непосредственной_доступности_
>use type - спецификатор _непосредственной_доступности_типа_
>А может раскрытия/открытия непосредственной доступности.
похоже, что меня "контекст" напрягает, а тебя "область"
Я не против "области". Но использовать "доступность" без уточнения - тоже не хорошо.
А меня напрягает "видимость" в связи со спецификатором with! И - сильно напрягает!
Hello!
On Sat, 29 Mar 2003, Sergey I. Rybin wrote:
>ну тогда "общее" название для with и use - спецификаторы контекста
>with - спецификатор _видимости_
>use - спецификатор _непосредственной_доступности_
>use type - спецификатор _непосредственной_доступности_типа_
>А может раскрытия/открытия непосредственной доступности.
похоже, что меня "контекст" напрягает, а тебя "область"
Я не против "области". Но использовать "доступность" без уточнения - тоже не хорошо.
А меня напрягает "видимость" в связи со спецификатором with! И - сильно напрягает!
В упор не могу понять, чем не подходит "спецификатор использования" для "use"?
Sincerely yours Cyril Sazonov
hi,
"Sergey I. Rybin" wrote:
Vadim Godunko wrote:
>
Oleksandr Havva wrote:
>
>ну тогда "общее" название для with и use - спецификаторы контекста >
>with - спецификатор _видимости_
>use - спецификатор _непосредственной_доступности_
>use type - спецификатор _непосредственной_доступности_типа_
>
>
А меня напрягает "видимость" в связи со спецификатором with! И - сильно напрягает!
а популярно объяснить можно?
Alex
А меня напрягает "видимость" в связи со спецификатором with! И - сильно напрягает!
а популярно объяснить можно?
Так я ж объяснил! Или опять письма пропадают??? :(((
Дело в том, что для компилируемых модулей стандарт определяет свои собственные правила видимости (10.1.6). В конечном итоге они сводятся к той "обычной" видимости, что описана в главе 8 (куда им деваться!), но для меня принципиальный
момент в том, как именно сводятся. И как устроена видимость в самих спецификациях with и use, которые пропадают после того, как многомодульная программа преобразована в эквивалентную программу-монолит.
Поэтому при переводе with clause я бы постарался отразить эту РАЗНИЦУ, а не сводить на уровне терминов описание МЕЖМОДУЛЬНЫХ СВЯЗЕЙ к ОБЫЧНОЙ видимости. with clause описывают, СОВМЕСТНО С КАКИМИ другими модулями (или - В КОНТЕКСТЕ каких других модулей должен компилироваться данный модуль. Она именно и в первую очередь про это, а уж потом, путем различных трансформаций, применения "as if" подхода и рассмотрения некой абстрактной environmrent task мы переходим собственно к видимости.
Именно поэтому я обеими руками за "спецификацию контекста".
"Sergey I. Rybin" wrote:
А меня напрягает "видимость" в связи со спецификатором with! И - сильно напрягает!
>
а популярно объяснить можно?
>
Так я ж объяснил! Или опять письма пропадают??? :(((
письма не пропадают :)
...но вот с первого раза я не врубился,
что меня слегка "унесло" в рассуждениях :(
эту тему надо оставлять "as is",
а то получится, что "лучшее - враг хорошего"
Alex
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти