Ada_Ru форум

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

operator

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

Сообщения

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

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

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

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

нет такой буквы как "оператор"!
усё... умер, засох и отвалился

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

Alex



Maxim Reznik
Re: [ada_ru] operator
2002-10-21 10:19:31
Oleksandr Havva пишет:

>hi,
>специательно для Максима:
>зачисть в словарике
>operator ---> знак операции
>нет такой буквы как "оператор"!
>усё... умер, засох и отвалился
>
>это ж устаканили еще фиг его знает когда
>
Может я что-то пропустил, но голосования по operator не было.

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

Я, кстати, глядел свои буквари и почти в половине используется
operator -> оператор, взять хотя бы
"Ахо, Компиляторы: принципы, технологии инструменты".
Так, что термин совсем не новый.

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

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

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

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


Максим
Dmitriy Anisimkov
Re: [ada_ru] operator
2002-10-21 10:31:50
> Я, кстати, глядел свои буквари и почти в половине используется
> operator -> оператор, взять хотя бы
> "Ахо, Компиляторы: принципы, технологии инструменты".
> Так, что термин совсем не новый.
>
> А как быть с operator_symbol? Решили?
>
> Ну, вообщем, если все все помнят, то предлагаю проголосовать.
> Если нет - почитать архив и проголосовать.
>
> Вариантов всего два (при условии statement = инструкция)
> 1) operator ---> знак операции
>
> 2)operator ---> оператор

И у меня было ощущение что похоронили все таки "знак операции".
Я за "Оператор".
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 10:48:17
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



Dmitriy Anisimkov
Re: [ada_ru] operator
2002-10-21 11:20:19
> "знак операции" АДНАЗНАЧНА!!! :))))))))))
>

A "and", "or", "xor" тоже знаки операции что ли ?
Я все время думал что это операторы.
Vadim Godunko
Re: [ada_ru] operator
2002-10-21 11:23:08
Dmitriy Anisimkov wrote:
>>"знак операции" АДНАЗНАЧНА!!! :))))))))))
> 
> A "and", "or", "xor" тоже знаки операции что ли ?
> Я все время думал что это операторы.
> 

Извините, конечно, но почему-бы не договориться так:
   operator       =>  оператор, в языке он представляется как
   operator sign  =>  знак оператора ("+", "-", "and", "or" и т.д.
                                      если кто путается)
   operation      =>  операция


Вадим
Sergei Lodyagin
Re: [ada_ru] operator
2002-10-21 11:42:36
> > Вариантов всего два (при условии statement = инструкция)
> > 1) operator ---> знак операции
> >
> > 2)operator ---> оператор
>

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

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

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

a + b

тогда "оператор +".
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 11:56:02
hi,

Dmitriy Anisimkov wrote:

> > "знак операции" АДНАЗНАЧНА!!! :))))))))))
> >
>
> A "and", "or", "xor" тоже знаки операции что ли ?
> Я все время думал что это операторы.

ес-сно!!!
это "знаки логических операций" или
"знаки операций" Булевой алгебры:
"ЛОГИЧЕСКОЕ И", "ЛОГИЧЕСКОЕ ИЛИ", логическая операция
"ИСКЛЮЧАЮЩЕЕ ИЛИ" соответственно.

повторяю, в традиционной русскоязычной трактовке:
     "оператор - элемент  текста  программы,
     выражающий   целостное законченное действие."
такое пишется во всех толковых словарях
(во всяком случае, тех что я видел)

как следствие придется порождать цельный докУмент
который будет разъяснять в каком контексте
"оператор" надо понимать так, а в каком - эдак.
_дешевле_ от него отказаться


Alex


Dmitriy Anisimkov
Re: [ada_ru] operator
2002-10-21 12:01:02
> > > Вариантов всего два (при условии statement = инструкция)
> > > 1) operator ---> знак операции
> > >
> > > 2)operator ---> оператор
> >
>
> statement - это всё-таки "оператор" а не инструкция.
> Assignment statement - оператор присваивания.
>
> "Знак операции" и "оператор" - в зависимости от контекста.
> Если речь о лексике - тогда "знак операции".
> Если о
>
> functon "+" (A, B: Integer) return Integer;
>
> a + b
>
> тогда "оператор +".

термин должен быть точным, особенно когда в оригинале встречаютсяя
и operator  и operation.
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 12:07:05
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


Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 12:19:33
hi,

Sergei Lodyagin wrote:

> > > Вариантов всего два (при условии statement = инструкция)
> > > 1) operator ---> знак операции
> > >
> > > 2)operator ---> оператор
> >
>
> statement - это всё-таки "оператор" а не инструкция.
> Assignment statement - оператор присваивания.
>
> "Знак операции" и "оператор" - в зависимости от контекста.

вопросы на засыпку
- трактат о зависимости от контекста кто писАть возьметься?
- каков объем этого трактата?

> Если речь о лексике - тогда "знак операции".
> Если о
>
> functon "+" (A, B: Integer) return Integer;
>
> a + b
>
> тогда "оператор +".

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

ведь функции:
       function "and" (...
тоже есть. все честно???


Alex

Vadim Godunko
Re: [ada_ru] operator
2002-10-21 12:45:20
Sergei Lodyagin wrote:
> 
> statement - это всё-таки "оператор" а не инструкция.

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

И тогда 5(1):

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

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

Вадим
Maxim Reznik
Re: [ada_ru] operator
2002-10-21 12:49:37
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 - адресуемый убиваем насмерть? Оставляем косвенно доступный объект?
Sergei Lodyagin
Re: [ada_ru] operator
2002-10-21 12:56:59
> Я голосую за operator - оператор.

Поддерживаю.
Хотя, считаю, что тупо подставлять терминологию при переводе нельзя
(если речь не идёт про синтаксические диаграммы).
Всё-таки перевод - это искусство (даже технический). Здесь
на первом месте должен быть хороший вкус.

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

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

Можно ещё "объект, видимый по ссылке".
Sergei Lodyagin
Re: [ada_ru] operator
2002-10-21 12:59:45
> А еще в одной книжке я встречал statement => утверждение. И даже в
> контексте C неплохо звучало.

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

--
Сергей Лодягин
Sergei Lodyagin
Re: [ada_ru] operator
2002-10-21 13:05:37
> > Если речь о лексике - тогда "знак операции".
> > Если о
> >
> > functon "+" (A, B: Integer) return Integer;
> >
> > a + b
> >
> > тогда "оператор +".
>
> термин должен быть точным, особенно когда в оригинале встречаютсяя
> и operator  и operation.

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

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

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

Контекст нельзя убивать. Чай не робот книжку переводит - зачем столько
формализма?
Давайте лучше две книжки переведём вместо трактатов. А потом ошибки
поисправляем.
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 13:09:37
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



Sergei Lodyagin
Re: [ada_ru] operator
2002-10-21 13:34:42
> > An operator is a function whose designator is an operator_symbol.
>
> функция реализующая действие _знака_операции_
> именем которой _знак_ операции_, взятый в двойные кавычки
>
> не корректно или не соответствует действительности???

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

Оператор - это функция, в качестве имени которой используется
символом_операции?
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 13:39:31
hi,

Sergei Lodyagin wrote:

> Хм... Давайте с РУССКИМ разберёмся.
>
> Вот я вижу: 3 + 5
>
> Что такое +? Знак операции или математическое действие? Оба ответа
> правильны.

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

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

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

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


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


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

Alex



Dmitriy Anisimkov
Re: [ada_ru] operator
2002-10-21 13:41:26
> > 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 - адресуемый убиваем насмерть? Оставляем косвенно доступный
объект?
Oleksandr Havva
Re: [ada_ru] operator
2002-10-21 14:10:05
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

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