OberonCore
https://forum.oberoncore.ru/

Терминология перевода
https://forum.oberoncore.ru/viewtopic.php?f=4&t=321
Страница 4 из 5

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 14:26 ]
Заголовок сообщения:  Re: Терминология перевода

Geniepro писал(а):
Alexey Veselovsky писал(а):
Код:
Voo();
Вот кто тут знак, а кто операция?

Это оператор вызова функции (процедуры).

Нет. Это statement - ProcedureCall.
Вызовом функции это быть не может.

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 14:27 ]
Заголовок сообщения:  Re: Терминология перевода

Valery Solovey писал(а):
Alexey Veselovsky писал(а):
Ну какой же это знак?
Код:
Voo();
Вот кто тут знак, а кто операция?
Вы же сами привели синтаксическое правило для знака операции. По этому правилу нельзя построить Voo().

Извиняюсь, не правильно прочитал ваше сообщение.

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 14:32 ]
Заголовок сообщения:  Re: Терминология перевода

Но вообще, переводить оператор, как знак операции, а statement как оператор.. Это вносит определенную путаницу. Вот я например уже запустался.

Автор:  Valery Solovey [ Вторник, 21 Декабрь, 2010 14:38 ]
Заголовок сообщения:  Re: Терминология перевода

Alexey Veselovsky писал(а):
Valery Solovey писал(а):
Alexey Veselovsky писал(а):
Ну какой же это знак?
Код:
Voo();
Вот кто тут знак, а кто операция?
Вы же сами привели синтаксическое правило для знака операции. По этому правилу нельзя построить Voo().

Извиняюсь, не правильно прочитал ваше сообщение.
То есть, неправильно? Я плохо передал мысль?

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 14:39 ]
Заголовок сообщения:  Re: Терминология перевода

Цитата:
Так предложено переводить operator как "знак операции", а не как "оператор".

У меня сработала "автозамена" и я прочитал как:
Цитата:
Так предложено переводить statement как "знак операции", а не как "оператор".

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

Автор:  Geniepro [ Вторник, 21 Декабрь, 2010 14:50 ]
Заголовок сообщения:  Re: Терминология перевода

Вариант:
statement -- действие
operator -- операция

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 14:58 ]
Заголовок сообщения:  Re: Терминология перевода

я бы предпочел:
operator -- оператор
statement -- инструкция (возможно составная). команда в принципе да, тоже подходит. Но никак не оператор.

Программа (для машины Тьюринга) это таки последовательность инструкций исполнителю.

Автор:  kemiisto [ Вторник, 21 Декабрь, 2010 14:59 ]
Заголовок сообщения:  Re: Терминология перевода

Alexey Veselovsky писал(а):
Но вообще, переводить оператор, как знак операции, а statement как оператор.. Это вносит определенную путаницу. Вот я например уже запустался.

Тем не менее. "Statement" можно ещё как "инструкция" переводить. Возможно так будет меньше путаницы. Хотя это вопрос привычки. Я вот уже привык, что оператор = оператор языка программирования.

Но "operator" в любом случае не как "оператор", а как "операция". Потому как даже Педивикия права, в том, что
Цитата:
Programming languages generally support a set of operators that are similar to operations in mathematics.


Дефиниции примерно такие:
Цитата:
An operator is a mapping from one vector space or module to another.
In its simplest meaning in mathematics and logic, an operation is an action or procedure which produces a new value from one or more input values.

Похоже, что операция - более общий термин. Оператор - частный случай операциию. То есть тут ошибка в выборе английского термина. Всё-таки в ЯП у нас операции. Хотя чёрт его знает ...

Вот ещё ссылочка. С камушком в огород С. :)
Цитата:
Примечание: Английское слово operator, соответствующее термину «операция», иногда ошибочно переводят как «оператор». На самом деле (по историческим причинам) русский термин «оператор» обозначает то же, что и «инструкция», которой соответствует английское statement. Путаница усугубилась тем, что в языке «Си» присваивание и инкремент/декремент являются и операторами, и операциями.

Автор:  Илья Ермаков [ Вторник, 21 Декабрь, 2010 17:03 ]
Заголовок сообщения:  Re: Терминология перевода

Я обычно преподаю "инструкция".

Но понравился вариант Geniepro - просто "действие".

Автор:  kemiisto [ Вторник, 21 Декабрь, 2010 17:15 ]
Заголовок сообщения:  Re: Терминология перевода

Илья Ермаков писал(а):
Я обычно преподаю "инструкция".

Но понравился вариант Geniepro - просто "действие".

Узко. Может в Оберонах и так, но во многих языках (имеется ввиду терминология, используемая в стандартах, сообщениях) statements делятся на две группы: executable и non-executable. Non-executable statement - не(вы|ис)полняемое действие? Не(вы|ис)полняемая инструкция? Нехорошо. Не(вы|ис)полняемый оператор - лучше.

Автор:  Илья Ермаков [ Вторник, 21 Декабрь, 2010 17:22 ]
Заголовок сообщения:  Re: Терминология перевода

Ну, например, объявление переменной в С/С++ сопряжено обычно с инициализацией, чем не действие...
Обычно именно в этот момент на стеке выделяется место (либо в том же блоке, где объявление) - тоже, как бы, действие... Размещения переменной.

Не говоря про то, что если в Обероне проще и нет коллизий, то и надо назвать проще, что нам Сплюсы?

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 17:23 ]
Заголовок сообщения:  Re: Терминология перевода

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

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 17:28 ]
Заголовок сообщения:  Re: Терминология перевода

А вот в Haskell'e, судя по всему, statement не нужен совсем. Потому как всё есть выражение.

Автор:  kemiisto [ Вторник, 21 Декабрь, 2010 17:33 ]
Заголовок сообщения:  Re: Терминология перевода

Alexey Veselovsky писал(а):
Пример невыполняемой инструкции дайте пожалуйста.

Запросто. И речь, кстати, не о ++.

Слышали хоть раз, что программа (ну или лучше модуль) на императивном языке программирования есть последовательность этих самых statements? Вот в Оберонах это не так. В грамматике как написано:
Цитата:
Module = MODULE ident ";" [ImportList] DeclarationSequence
[BEGIN StatementSequence] END ident "." .

Модуль - есть последовательность, включяющая ключевое слова MODULE, последовательность объявлений, последовательность инструкций, ключевое слова END.

Ну вот. А вот, скажем, в Fortran, модуль таки последовательность statements. Далее цитирую из стандарта:
Цитата:
Each Fortran statement is classi ed as either an executable statement or a nonexecutable statement.

An executable statement is an instruction to perform or control an action. Thus, the executable statements of a
program unit determine the behavior of the program unit.

Nonexecutable statements are used to con gure the program environment in which actions take place.

Всякие там MODULE, END, Declarations - это statements. Nonexecutable statements.

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 17:35 ]
Заголовок сообщения:  Re: Терминология перевода

Инструкции относящиеся разным исполнителям:
обычный statement, это иструкция рантайм-исполнителю.
не исполняемый statement -- это инструкция компилятору. исполнителю времени компиляции.

Автор:  Илья Ермаков [ Вторник, 21 Декабрь, 2010 17:36 ]
Заголовок сообщения:  Re: Терминология перевода

В варианте Фортрана более подходящим переводом будет какие-нибудь "фразы".

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 17:46 ]
Заголовок сообщения:  Re: Терминология перевода

Предложения.

Автор:  kemiisto [ Вторник, 21 Декабрь, 2010 17:50 ]
Заголовок сообщения:  Re: Терминология перевода

Alexey Veselovsky писал(а):
Предложения.

Это да.

Оператор Вас не устроил только из-за инерции Вашего мышления. А так - нисколечку не хуже.

Автор:  Info21 [ Вторник, 21 Декабрь, 2010 17:55 ]
Заголовок сообщения:  Re: Терминология перевода

kemiisto писал(а):
Оператор Вас не устроил только из-за инерции Вашего мышления.
Из-за объективного факта постоянной путаницы оператор-операция, усугубляющейся разныи использованием в английском и русском.

Командой можно обойтись во всех случаях. Инструкцией тоже.
Команда детям проще, но немножко интерферирует с обероновским понятием команды как экспортированной процедуры без параметров. Может быть, этот пункт можно как-то замылить в объяснениях, тогда команда будет предпочтительней.

Автор:  Alexey Veselovsky [ Вторник, 21 Декабрь, 2010 17:56 ]
Заголовок сообщения:  Re: Терминология перевода

kemiisto писал(а):
Alexey Veselovsky писал(а):
Предложения.

Это да.

Оператор Вас не устроил только из-за инерции Вашего мышления. А так - нисколечку не хуже.

Оператор меня не устроил из за того, что я буду гарантированно путаться, потому что бОльшую часть программерской литературы читаю на английском, а там operator это не statement. В процессе чтения я на русский не перевожу.

Встретив в русском тексте слово которое звучит также как и английское operator я чисто рефлексорно думаю что это нифига не statement, а вполне себе operator.

А statement<->предложение хорош применительно к фортрану, но не к оберону. Вот так то.

Страница 4 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/