Ada_Ru форум

Обсуждение языка Ада

operator

Оставить новое сообщение

Сообщения

Oleksandr Havva
operator
2002-10-21 09:11:30

hi,

специательно для Максима:

зачисть в словарике

operator ---> знак операции

нет такой буквы как "оператор"!

усё... умер, засох и отвалился

это ж устаканили еще фиг его знает когда

Alex

Oleksandr Havva пишет:

 

hi,

специательно для Максима:

зачисть в словарике

operator ---> знак операции

нет такой буквы как "оператор"!

усё... умер, засох и отвалился

 

это ж устаканили еще фиг его знает когда

 

Может я что-то пропустил, но голосования по operator не было.

 

А дисскусия кончилась на том, что мы с Димой пытались получить

от тебя аргументы.

 

Я, кстати, глядел свои буквари и почти в половине используется

operator -> оператор, взять хотя бы

"Ахо, Компиляторы: принципы, технологии инструменты".

Так, что термин совсем не новый.

 

А как быть с operator_symbol? Решили?

 

Ну, вообщем, если все все помнят, то предлагаю проголосовать.

Если нет - почитать архив и проголосовать.

 

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

 

2)operator ---> оператор

 

 

Максим

Я, кстати, глядел свои буквари и почти в половине используется

operator -> оператор, взять хотя бы

"Ахо, Компиляторы: принципы, технологии инструменты".

Так, что термин совсем не новый.

 

А как быть с operator_symbol? Решили?

 

Ну, вообщем, если все все помнят, то предлагаю проголосовать.

Если нет - почитать архив и проголосовать.

 

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

 

2)operator ---> оператор

 

И у меня было ощущение что похоронили все таки "знак операции".

Я за "Оператор".

hi,

Maxim Reznik wrote:

Может я что-то пропустил, но голосования по operator не было.

эт точно :(

А дисскусия кончилась на том, что мы с Димой пытались получить

от тебя аргументы.

млин... я кажисть все "наезды" на эту идею достаточно красиво "отбил" извлечь архивы в студию???

кстати, в новой редакции я нигде "оператор" не пользую и смысл

от этого не страдает (звучание, кстати, тоже)

Я, кстати, глядел свои буквари и почти в половине используется

operator -> оператор, взять хотя бы

"Ахо, Компиляторы: принципы, технологии инструменты".

Так, что термин совсем не новый.

термин - не новый. проблема в различии русской и английской трактовок, что существенно, и, кстати, толковый аглицкий словарь объясняет

термин (английское понятие) "operator" именно как знак операции:

"operator: a symbol or function denoting an operation (e.g. x, +)"

по русскому компутерному словарю:

"operator: знак операции; операция.

Подразумевает не столько действия для выполнения операции,

сколько обозначение операции в тексте."

"operator:

так что по смыслу - все честно, а остальное - это корректность

построения предложения (imho, ес-сно)"

кстати, "operator" в большинстве случаев переводят именно

как "операция", что с точки зрения Ады - не есть верно

А как быть с operator_symbol? Решили?

млин... "символ/комбинация символов" используемый(ая)

в качестве "знака операции"

Ну, вообщем, если все все помнят, то предлагаю проголосовать.

Если нет - почитать архив и проголосовать.

>

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

>

2)operator ---> оператор

"знак операции" АДНАЗНАЧНА!!! :))))))))))

Максим

Alex

"знак операции" АДНАЗНАЧНА!!! :))))))))))

 

 

A "and", "or", "xor" тоже знаки операции что ли ?

Я все время думал что это операторы.

Dmitriy Anisimkov wrote:

"знак операции" АДНАЗНАЧНА!!! :))))))))))

 

A "and", "or", "xor" тоже знаки операции что ли ?

Я все время думал что это операторы.

 

 

Извините, конечно, но почему-бы не договориться так:

operator => оператор, в языке он представляется как

operator sign => знак оператора ("+", "-", "and", "or" и т.д.

если кто путается)

operation => операция

 

 

Вадим

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

 

2)operator ---> оператор

 

 

statement - это всё-таки "оператор" а не инструкция.

Assignment statement - оператор присваивания.

 

"Знак операции" и "оператор" - в зависимости от контекста.

Если речь о лексике - тогда "знак операции".

Если о

 

functon "+" (A, B: Integer) return Integer;

 

a + b

 

тогда "оператор +".

hi,

Dmitriy Anisimkov wrote:

"знак операции" АДНАЗНАЧНА!!! :))))))))))

>

>

A "and", "or", "xor" тоже знаки операции что ли ?

Я все время думал что это операторы.

ес-сно!!!

это "знаки логических операций" или

"знаки операций" Булевой алгебры:

"ЛОГИЧЕСКОЕ И", "ЛОГИЧЕСКОЕ ИЛИ", логическая операция

"ИСКЛЮЧАЮЩЕЕ ИЛИ" соответственно.

повторяю, в традиционной русскоязычной трактовке:

"оператор - элемент текста программы,

выражающий целостное законченное действие."

такое пишется во всех толковых словарях

(во всяком случае, тех что я видел)

как следствие придется порождать цельный докУмент

который будет разъяснять в каком контексте

"оператор" надо понимать так, а в каком - эдак.

_дешевле_ от него отказаться

Alex

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

 

2)operator ---> оператор

 

 

statement - это всё-таки "оператор" а не инструкция.

Assignment statement - оператор присваивания.

 

"Знак операции" и "оператор" - в зависимости от контекста.

Если речь о лексике - тогда "знак операции".

Если о

 

functon "+" (A, B: Integer) return Integer;

 

a + b

 

тогда "оператор +".

 

термин должен быть точным, особенно когда в оригинале встречаютсяя и operator и operation.

hi,

Vadim Godunko wrote:

Dmitriy Anisimkov wrote:

>"знак операции" АДНАЗНАЧНА!!! :))))))))))

>

A "and", "or", "xor" тоже знаки операции что ли ?

Я все время думал что это операторы.

>

>

Извините, конечно, но почему-бы не договориться так:

operator => оператор, в языке он представляется как

operator sign => знак оператора ("+", "-", "and", "or" и т.д. если кто путается)

operation => операция

>

Вадим

вообче, идея:

"оператор" ---> "знак операции"

не моя, и сначала она мне самому показалась довольно странной,

но опосля долгих выкрутасов с переводами, оказывается, что

это самый _дешевый_ способ избавиться от тучи неоднозначностей

и громоздкостей

а после того что надыбал в толковом аглицком словаре:

operator: symbol or function denoting an operation (e.g. x, +) ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^

operator: знак обозначающий операцию

все ваще _адназначна_ и _красива_

Alex

hi,

Sergei Lodyagin wrote:

Вариантов всего два (при условии statement = инструкция)

1) operator ---> знак операции

>

2)operator ---> оператор

>

>

statement - это всё-таки "оператор" а не инструкция.

Assignment statement - оператор присваивания.

>

"Знак операции" и "оператор" - в зависимости от контекста.

вопросы на засыпку

- трактат о зависимости от контекста кто писАть возьметься?

- каков объем этого трактата?

Если речь о лексике - тогда "знак операции".

Если о

>

functon "+" (A, B: Integer) return Integer;

>

a + b

>

тогда "оператор +".

а не проще и точнее:

функция реализующая действие _знака_операции_ '+'

именем которой является "+" (или знак операции,

взятый в двойные кавычки)

ведь функции:

function "and" (...

тоже есть. все честно???

Alex

Sergei Lodyagin wrote:

 

statement - это всё-таки "оператор" а не инструкция.

 

А еще в одной книжке я встречал statement => утверждение. И даже в контексте C неплохо звучало.

 

И тогда 5(1):

 

_Утверждение_ определяет действие, исполняемое в процессе выполнения программы.

 

Assignment statement - оператор присваивания.

 

Получаем "утверждение присваивания".

 

Вадим

Oleksandr Havva пишет:

 

"знак операции" АДНАЗНАЧНА!!! :))))))))))

Ну попробуй подставь все это в перевод ARM:

An operator is a function whose designator is an operator_symbol.

или

A predefined operator, or other language-defined operation such as assignment or a membership test, that operates on a type, is called a predefined operation of the type.

 

Я голосую за operator - оператор.

 

Максим

 

PS Вот бы все таки послушать "начальника транспортного цеха"!

А то он опять скажет "ничего сказать не имею".

8-)

 

PPS

aliased - адресуемый убиваем насмерть? Оставляем косвенно доступный объект?

Я голосую за operator - оператор.

 

Поддерживаю.

Хотя, считаю, что тупо подставлять терминологию при переводе нельзя (если речь не идёт про синтаксические диаграммы).

Всё-таки перевод - это искусство (даже технический). Здесь

на первом месте должен быть хороший вкус.

 

aliased - адресуемый убиваем насмерть? Оставляем косвенно доступный

объект?

 

"косвенно доступный" - хорошо.

Хотя само слово "алиас" уже вошло в русский с книжками по Юниксу. Но "косвенно доступный" - точнее отражает смысл. Да и прилагательного от "алиас" нет.

 

Можно ещё "объект, видимый по ссылке".

А еще в одной книжке я встречал statement => утверждение. И даже в контексте C неплохо звучало.

 

В любой книге по ЛОГИЧЕСКОМУ программированию уместен такой перевод. ОПЕРАТОР предполагает действие, а потому употребляется, когда речь идёт об императивном языке.

 

--

Сергей Лодягин

Если речь о лексике - тогда "знак операции".

Если о

 

functon "+" (A, B: Integer) return Integer;

 

a + b

 

тогда "оператор +".

 

термин должен быть точным, особенно когда в оригинале встречаютсяя и operator и operation.

 

Хм... Давайте с РУССКИМ разберёмся.

 

Вот я вижу: 3 + 5

 

Что такое +? Знак операции или математическое действие? Оба ответа правильны.

 

Контекст нельзя убивать. Чай не робот книжку переводит - зачем столько формализма?

Давайте лучше две книжки переведём вместо трактатов. А потом ошибки поисправляем.

hi,

Maxim Reznik wrote:

Oleksandr Havva пишет:

>

>"знак операции" АДНАЗНАЧНА!!! :))))))))))

>

>

Ну попробуй подставь все это в перевод ARM:

An operator is a function whose designator is an operator_symbol.

функция реализующая действие _знака_операции_

именем которой _знак_ операции_, взятый в двойные кавычки

не корректно или не соответствует действительности???

или

A predefined operator, or other language-defined operation such as assignment or a membership test, that operates on a type, is called a predefined operation of the type.

предопределенные _знаки_операций_, и/или прочие предопределенные языком операции, такие как присваивание или проверка принадлежности, которые выполняются над типом, называются предопределенными

операциями этого типа

все честно???

>

>

Я голосую за operator - оператор.

>

Максим

>

PS Вот бы все таки послушать "начальника транспортного цеха"!

А то он опять скажет "ничего сказать не имею".

8-)

а кто такой "начальник транспортного цеха"???

>

PPS

aliased - адресуемый убиваем насмерть? Оставляем косвенно доступный объект?

imho, косвенно доступный - логически более правильно

Alex

An operator is a function whose designator is an operator_symbol.

 

функция реализующая действие _знака_операции_

именем которой _знак_ операции_, взятый в двойные кавычки

 

не корректно или не соответствует действительности???

 

Корректно, только мозги закручиваются. Разве не лучше:

 

Оператор - это функция, в качестве имени которой используется

символом_операции?

hi,

Sergei Lodyagin wrote:

Хм... Давайте с РУССКИМ разберёмся.

>

Вот я вижу: 3 + 5

>

Что такое +? Знак операции или математическое действие? Оба ответа правильны.

здесь, символом '+' (плюс) указывается _знак_операции_ математического действия _операция_ сложения

_знак_операции_, взятый в двойные кавычки, является _именем_ функции... это важно в контексте языка программирования Ада, поскольку

_имена_ функций (_знаки_операций_) допускают совмещение

это есть _ключевая_ идея такого подхода иначе

порождается туча неоднозначностей

как противоположность:

_операция_ присваивания в Аде - _не_ функция и _не_ допускает совмещения

поэтому стандарт делает строгое различие между

"operator" и "operation"

Контекст нельзя убивать. Чай не робот книжку переводит - зачем столько формализма?

Давайте лучше две книжки переведём вместо трактатов. А потом ошибки поисправляем.

Alex

An operator is a function whose designator is an operator_symbol.

 

функция реализующая действие _знака_операции_

именем которой _знак_ операции_, взятый в двойные кавычки

 

не корректно или не соответствует действительности???

 

А так.

 

Оператор это функция, которая обозначается символом оператора.

 

как яснее ?

 

или

A predefined operator, or other language-defined operation such as assignment or a membership test, that operates on a type, is called a predefined operation of the type.

 

предопределенные _знаки_операций_, и/или прочие предопределенные языком операции, такие как присваивание или проверка принадлежности, которые выполняются над типом, называются предопределенными

операциями этого типа

 

все честно???

 

 

А так.

 

Предопределенный оператор, или другая предопределенная языком операция, такая как присваивание или проверка принадлежности, которая выполняется над типом, называется предопределенной операцией этого типа.

 

Что хуже ?

 

 

Я голосую за operator - оператор.

 

Максим

 

PS Вот бы все таки послушать "начальника транспортного цеха"!

А то он опять скажет "ничего сказать не имею".

8-)

 

а кто такой "начальник транспортного цеха"???

 

 

PPS

aliased - адресуемый убиваем насмерть? Оставляем косвенно доступный

объект?

hi,

Dmitriy Anisimkov wrote:

Оператор это функция, которая обозначается символом оператора.

>

как яснее ?

>

А так.

>

Предопределенный оператор, или другая предопределенная языком операция, такая как присваивание или проверка принадлежности, которая выполняется над типом, называется предопределенной операцией этого типа.

>

Что хуже ?

хуже всего то, что есть традиция русскоязычной трактовки "оператор"-а как:

"элемент текста программы, выражающий целостное законченное действие." что есть совсем другая вестчь, и это _надо_ учитывать

пример из летних "игр" по этому поводу:

----------------------------------------------------------------------------

Написал письмо автору с просьбой привести пример простого выражения в роли оператора.

хи-хи ^^^^^^^^^^^^^

а оператор у тебя здесь что подразумевает???

----------------------------------------------------------------------------

отказ от использования "оператор"-а позволяет

_малой_кровью_ добиться _однозначности_

определений и понятий

еще пара цитат из старых споров/объяснений:

1)-----------------------------------------------------------

Я предложил бы такой странный вариант: исключить слово "оператор" к

дьяволу

из-за традиционного русского перевода "statement / operator" как

"оператор /

операция":

>

Но зачем же отказываться от практически не вызывающего сомнений statement

<-> оператор??!!

Люди ж именно так и РАЗГОВАРИВАЮТ по поводу практически ЛЮБОГО языка! Или

нет?

Да, конечно. Но это такая кастрация -- самый безболезненный способ избежать неоднозначности порождённой переводчиками чёрт знает сколько лет назад.

>

statement -- предложение

expression -- выражение

operator -- операция

operation -- операция

>

Но ведь в Адском стандарте operator и operation - вещи СУЩЕСТВЕННО разные!

И это тоже верно. Наиболее точно соответствует английскому "operator" русское

"знак операции". В русском слово оператор в этом значении мне встречалось лишь

в обороте "оператор набла" ( что он делает -- убей, не помю !) ) в сопромате,

если не путаю.

Ох, не скоро мы договоримся по этому, казалось бы, простенькому вопросу...

Это место давно и плотно заминировано. Убил бы того переводчика, что первым перевёл "statement" как "оператор".

Sincerely yours Cyril Sazonov

2)-----------------------------------------------------------

Но ведь в Адском стандарте operator и operation - вещи СУЩЕСТВЕННО разные!

>

И это тоже верно. Наиболее точно соответствует английскому "operator" русское

"знак операции". В русском слово оператор в этом значении мне

встречалось

лишь

в обороте "оператор набла" ( что он делает -- убей, не помю !) ) в сопромате,

если не путаю.

>

А что такое "знак операции" ?

Строка обозначающая некое действие над операндами. Своего рода имя функции ( а

Ada'е -- именно функция ) с несколько необычными правилами вызова.

Простейший пример -- математические операции: бинарный плюс, например.

A + B , что эквивалентно + ( A , B )

Операция насколько я знаю не нуждается в знаке.

У чисел может быть знак + или -. А вот у операции ... не знаю.

Унарный плюс/минус как раз и есть знак операции: -5 -- вызов функции "-" с параметром 5, т.е. эквивалентная запись - ( 5 )

Почему бы не перевесити operator как "оператор".

Потому, что в английском словом оператор называется знак операции, а в русском

предложение языка.

Говорят же на русском "оператор присваивания"

Кстати, вот ещё одна мина. Особенно поганая из-за того, как используется присваивание в C++.

В Ada'e ":=" не является операцией и не может быть перегружен. Строка "A := B

;" -- именно в _предложение_ языка или, в принятой в русском традиции перевода, оператор. Я понимаю, что "предложение присваивания" звучит непривычно и несколько некрасиво, что "оператор присваивания" традиционен.

В C/C++ "=" -- именно _операция_ присваивания, т.е. функция, возвращающая значение, и -- вот уродство! -- побочным эффектом меняющая значение одного из

свох параметров ( по определению, у функции _все_ параметры предназначены _только_ для передачи данных в неё ).

Таким образом, в C/C++ ( с нюансами в зависимости от контекста ): A = B -- операция присваиваиния,

A = B ; -- оператор присваивания ( т.е. предложение присваивания ).

Вот какая терминологическая мина. Особенно важно это отличие в связи с широким

распространением C/C++ -- нужно почеркнуть, что в Ada'е ( и вообще, во всех алгольных языках ) ":=" не возвращает значения и ничего не курочит побочным эффектом и, вообще, не имеет побочных эффектов, не может быть перегружен, т.е. не является функцией.

Поэтому я считаю, что везде, где это возможно надо воздерживаться от употребления слова "оператор", поскольку однозначность -- одна из важнейших составляющих надёжности, которая, в свою очередь, является одной из важнейших

черт Ada'ы. Мир мы таким образом не изменим и не сломаем сложившуюся традицию,

но в рамках документов по Ada'е избежим неоднозначностей перевода.

Sincerely yours Cyril Sazonov --------------------------------------------------------------------

Alex

Новое сообщение:
Страницы: 1 2 3

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти