OberonCore
https://forum.oberoncore.ru/

Ключевые слова на родном языке
https://forum.oberoncore.ru/viewtopic.php?f=7&t=1392
Страница 4 из 10

Автор:  Info21 [ Вторник, 17 Март, 2009 15:09 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Сергей Губанов писал(а):
Можно попробовать ввести цикл с мультиусловиями останова:
Код:
ПОВТОРЯТЬ
  Задача0
ПРИ условие0 СТОП
  Задача1
ПРИ условие1 СТОП
  Задача2
ПРИ условие2 СТОП
  Задача3
ПОВТОРЕНО
Замена:
ПОВТОРЯТЬ --> LOOP
ПОВТОРЕНО --> END
ПРИ --> IF
СТОП --> THEN EXIT END


Вопрос нуждается в отдельном обсуждении, поэтому попросил перенести всё это в отдельную веточку:
viewtopic.php?f=27&t=1404

ОТ МОДЕРАТОРА:
сделано :) - И.Е.

Автор:  rus.24bb.ru [ Среда, 18 Март, 2009 09:02 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

http://rus.24bb.ru/viewtopic.php?pid=488#p488 - оригинал ветки.

Вот что получилось. Одна голова хорошо а, 2-е лучше. Может кто предложит другие варианты???
Перевод заточен под обучение. По этому некоторые термины переводятся так, чтобы не приходилось вспоминать

(19 марта 09) Частично перевод в приведён в соответствие с Глаголом.

Код:
(* Русский перевод операторов Компонентного Паскаля. Версия 19.03.09 Бетта*)

(* Переменные *)
CONST         ПОСТОЯННЫЕ

BOOLEAN              ЛОГИЧЕСКАЯ (* ЛОГИЧЕСКИЕ *)
FALSE         НЕТ
FALSE         ЛОЖЬ
TRUE          ДА
TRUE          ПРАВДА
TRUE                        ИСТИНА

VAR                ПЕРЕМЕННЫЕ  (* секция переменных*)

(*Описание переменных процедуры*)
VAR         ПЕРЕМ
VAR         ЧТЕНИЕ_ЗАПИСЬ,(* ВХ_ВЫХ?*)
IN         ЗАПИСЬ, (* ТОЛЬКО_ЗАПИСЬ, ВХ *) В??  -??- см. IN принадлежность множеству
OUT         ЧТЕНИЕ, (* ТОЛЬКО_ЧТЕНИЕ, ВЫХ *), ИЗ

NIL         ПУСТО

BYTE         БАЙТ
SHORTINT      ЦЕЛОЕ_МАЛОЕ
INTEGER      ЦЕЛОЕ
INTEGER      ЦЕЛ
LONGINT      ЦЕЛОЕ_ БОЛЬШОЕ

SET          ЦЕЛЫЕ_ДО , МНОЖЕСТВО  (ПОДМНОЖЕСТВО 0-31)

REAL         ВЕЩЕСТВЕННАЯ
SHORTREAL   ВЕЩЕСТВЕННАЯ_МАЛАЯ

CHAR      СИМВОЛ_УНИКОД
SHORTCHAR   СИМВОЛ_Latin1

POINTER              УКАЗАТЕЛЬ  (*проблемное место из зи слова ТО в цикле FOR*), ДОСТУП (* глагол*)
POINTER_TO      УКАЗАТЕЛЬ_НА (*  замена в 2-е строки *) 
POINTER TO       POINTER_TO   (* замена в 2-е строки (2-й проход??) *) ДОСТУП К (*глагол *)

TO                            К (*из Глагола*)

ARRAY         МАССИВ  (* МАССИВ_ИЗ*) (* *)
OF                 ИЗ

(* Типы и объекты *)

TYPE         ТИПЫ  (* секция объявления типов*)

WITH      ЕСЛИ_ТИП, ПРОВЕРИТЬ_ТИП
INC         ПРОВЕРИТЬ_ТИП , РАВЕН_ТИПУ

RECORD      ЗАПИСЬ

NEW         СОЗДАТЬ   (* создать объект *)
NEW         НОВЫЙ    (* атрибут метода *)
ANYREC      ПЕРЕОПРЕДЕЛЯЕМЫЙ_ТИП
ANYPTR      ЛЮБОЙ_УКАЗАТЕЛЬ_НА_ЗАПИСЬ???

(*атрибуты записи*)

ABSTRACT      ДЛЯ_НАСЛЕДОВАНИЯ
EXTENSIBLE      ПЕРЕОПРЕДЕЛЯЕМЫЙ, РАСШИРЯЕМЫЙ
LIMITED         ВНУТРИ_МОДУЛЯ
EMPTY         ПУСТОЙ   

Логические операции
OR         ИЛИ
&         И
~         НЕ
IN                    В
IS         ЯВЛЯЕТСЯ, ИЗ??, ЭЛЕМЕНТ?, ИЗ_СПИСКА, ЯВЛЯЕТСЯ_ ЭЛЕМЕНТОМ (*принадлежность множеству*) (*конфликт с   ARRAY OF - МАССИВ ИЗ*)

Математические операции
DIV         ЦЕЛАЯ_ЧАСТЬ
MOD         ОСТАТОК
ABS         ПО_МОДУЛЮ

(* Описания Процедур И МОДУЛЕЙ *)

MODULE         МОДУЛЬ

BEGIN          ИНИЦИАЛИЗАЦИЯ_МОДУЛЯ     (*синоним*), ПРИ_ЗАГРУЗКЕ_МОДУЛЯ
CLOSE         ЗАКРЫТИЕ_МОДУЛЯ

IMPORT         ДОБАВИТЬ, ДОБАВИТЬ_МОДУЛИ

PROCEDURE      ПРОЦЕДУРА
BEGIN         НАЧАЛО
END                 КОНЕЦ
RETURN         ВЫЙТИ

Ветвления

IF         ЕСЛИ
THEN         ТО
ELSE         ЕСЛИ
ELSIF      А_ЕСЛИ

CASE      ВЫБРАТЬ

(* Циклы *)

FOR         ОТ (* ДЛЯ *)
TO         ДО
BY         С_ШАГОМ?, ПО?

LOOP      ПОВТОРЯТЬ, КОЛЬЦО (*глагол*)
DO         ВЫПОЛНИТЬ

REPEAT      ВЫПОЛНЯТЬ , ПОВТОРЯТЬ?  (*глагол*)
UNTIL      ПОКА, ДО?  (*глагол*)

WHILE      ПОКА
DO         ВЫПОЛНИТЬ
RETURN      ВЫЙТИ, ВОЗВРАТ??

EXIT         ВЫХОД

Процедуры-функции

SHORT      ТОЖДЕСТВЕННО?
LONG      ТОЖДЕСТВЕННО?

MAX         МАКС
MIN         МИН

LEN         ДЛИНА
ASH         АРИФМЕТИЧЕСКИЙ_СДВИГ
BITS         БИТ???
CHR         СИМВОЛ
CAP   
ODD         ЧЁТНОСТЬ   (*ЧЁТНЫЙ - НЕЧЁТНЫЙ*)
ORD         НОМЕР_БУКВЫ

HALT         ОСТАНОВИТЬ_ПРОГРАММУ
ASSERT      ОСТАНОВИТЬ_ПРОГРАММУ_ЕСЛИ


DEC         УМЕНЬШИТЬ  /  --
INC         УВЕЛИЧИТЬ   /  ++

ENTIER      МАКС_ЦЕЛОЕ

EXCL       ИСКЛЮЧИТЬ
INCL         ВКЛЮЧИТЬ , ДОБАВИТЬ

SIZE         РАЗМЕР
INF

Автор:  igor [ Среда, 18 Март, 2009 10:04 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

При всём уважении, английские термины по сравнению с русскими более кратки и лаконичны, а главное они общепринятые.
Встаёт очевидная проблема. Либо новые адепты программирования отказываются от "копания" в традиционных исходниках (например, в том же BB), либо они должны будут выучить два варианта ключевых слов. И то и другое не приемлемо (ИМХО).
Самое интересное, что вывод, который я тут сделал (для себя, конечно :) ), был для меня очевиден и до обсуждения этой темы.

Автор:  Евгений Темиргалеев [ Среда, 18 Март, 2009 10:14 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

rus.24bb.ru писал(а):
...Перевод заточен под обучение.
1) Обучение кого? Вы перевели все, а большая часть при начальном обучении врят ли понадобится. Хорошо бы читать название форума и сообщения остальных...
Info21 писал(а):
...чисто для совсем маленьких ИЛИ начинающих ИЛИ гуманитариев ИЛИ тормозов (всех же надо (м)учить).

2) Глядя на Ваш перевод, у меня возникает впечатление, что на КП Вы не программировали и некоторые вещи вообще не понимаете. Да и некоторых других вещей тоже (перевод RETURN как ВЫЙТИ)... Как при этом Вы позволяете себе сказать что "Перевод заточен на обучение"?

Автор:  igor [ Среда, 18 Март, 2009 10:37 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Ключевые слова -- это всего лишь символы, имеющие такое сложное начертание (как иероглифы) только потому, что на клавиатуре мы таких символов не найдём. В теории формальных языков они (в том числе) так и называются -- "терминальные символы". В самом начале, когда эти символы (ключевые слова) только родились, не имело принципиального значения как их обозначить. Поскольку у нас в стране информатика была объявлена "продажной девкой империализма", авторы из других стран дали им свои названия. Нет никаких оснований для того, чтобы менять исторически сложившиеся и устоявшиеся ключевые слова. Я бы не стал "множить сущности без необходимости". По большому счёту не имеет значения как именно будут обозначены ключевые слова. Главное поменьше вносить в это изменений, чтобы не мутить людям головы.
Другое дело, если когда-то были приняты неудачные проектные решения по каким-нибудь принципиальным вопросам. Вот тут я согласен, эти решения надо сурово и мужественно менять, не взирая на меготонны написанного кода.

Автор:  igor [ Среда, 18 Март, 2009 10:58 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Я тоже патриот, в хорошем смысле этого слова. Но я признаю, что международным языком является не русский, а английский. Представляете, что будет если каждый из ложного чувства патриотизма будет считать международным языком свой родной язык?
Так вот, будет разумным оставить ключевые слова на международном :!: языке. Это стирает границы между странами. Какой-нибудь программист из Нигерии сможет свободно обмениваться исходными текстами с программистом из Бразилии.

PS Японская фирма Toshiba частенько выпускает документацию на свои электронные компоненты на японском языке. Ну я как-то скачал по работе парочку таких pdf-ников, полюбовался на иероглифы и стёр файлы, не солоно хлебавши. Но с Тошиба всё понятно, она работает на оборонку.

Автор:  Евгений Темиргалеев [ Среда, 18 Март, 2009 11:02 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Это Вы говорите от своего уровня понимания. Для начинающего может быть совсем не так. И, например, вопрос "как именно будут обозначены ключевые слова" может иметь гораздо большее значение (опять же, акцентирую внимание на тему форума :roll: ). Мы с Вами при всём желании на уровень начинающих себя не поставим, тут нужен эксперимент, наблюдение... которыми, из всех тут беседующих, пока, если не ошибаюсь, занимается только info21...

Автор:  igor [ Среда, 18 Март, 2009 11:26 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Начинающих с самого начала нужно учить правильно, чтобы потом не пришлось переучивать.
Кем будут сегодняшние новички через десять лет? Если хотя бы 1 % из них избирут для себя профессию программиста и будут писать ключевые слова на родном языке как их этому учили, то это будет катастрофа. Кто их будет потом переучивать?
Сколько сейчас языков на земле? Более 200? Что будет, если каждый начнёт писать на своём родном языке? Я тогда спрошу, а кто первым ввёл "моду" на национальные ключевые слова? :evil:
Даже в рамках постсоветского пространства возникнут проблемы. Те же братья-славяне украинцы и белорусы, а есть ещё узбеки, казахи и т. д. Даже в рамках этого форума есть представители Украины, Узбекистана и даже Израиля. Вы подумали о них?
ПРОГРАММИРОВАНИЕ ИНТЕРНАЦИОНАЛЬНО :!:

Автор:  Info21 [ Среда, 18 Март, 2009 11:48 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Игорь Лоскутов писал(а):
Я тоже патриот, в хорошем смысле этого слова. Но я признаю, что международным языком является не русский, а английский. Представляете, что будет если каждый из ложного чувства патриотизма будет считать международным языком свой родной язык?
А вот французы -- патриоты тоже, не знаю, правда, в каком смысле, хорошем или ложном -- не признают.
Le Francais est la langue de la civilization, точка.
Судя по l'ordinateur, они не так уж не правы :)
Это кстати к вопросу о ключевых словах 8)

Игорь Лоскутов писал(а):
Другое дело, если когда-то были приняты неудачные проектные решения по каким-нибудь принципиальным вопросам. Вот тут я согласен, эти решения надо сурово и мужественно менять, не взирая на меготонны написанного кода.
Да уж, "сурово и мужественно" ... уговорить толпу :mrgreen:

Автор:  Info21 [ Среда, 18 Март, 2009 11:54 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

А самым начинающим легче однозначно.

Вот ввел тип Точка и процедурку Линия -- и сразу девочка: "О! так легче!"

Проблема в разделении трудностей. Но чтобы это разделение само не стало трудностью.

Но мы, кажется, близки к оптимуму 8)

Автор:  igor [ Среда, 18 Март, 2009 12:03 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Евгений Темиргалеев писал(а):
Это Вы говорите от своего уровня понимания. Для начинающего может быть совсем не так. И, например, вопрос "как именно будут обозначены ключевые слова" может иметь гораздо большее значение (опять же, акцентирую внимание на тему форума :roll: ). Мы с Вами при всём желании на уровень начинающих себя не поставим, тут нужен эксперимент, наблюдение... которыми, из всех тут беседующих, пока, если не ошибаюсь, занимается только info21...
Главный довод моих оппонентов в этом вопросе звучит примерно так:
Цитата:
Бедным детям и так трудно понять азы программирования, а тут ещё иностраннные слова приходиться использовать. Заменим их русскими словами и учить программирование станет легче
Из этого следует, что русские слова нужны в основном на начальном этапе для того, чтобы понизить барьер вхождения. Это предполагает, что в последствии, когда этот барьер будет преодолён, русские слова будут уже как бы не нужны. У меня только один вопрос: ну и кто тогда учеников будет переучивать? Если же не переучивать, а оставить всё как есть, то см. мои посты выше.
Нельзя стратегическую цель "обучить программированию" подменять тактической целью "снизить барьер вхождения" во имя преодоления сиюминутных трудностей. Ещё Суворов говаривал: "Тяжело в уч... (Вы знаете"). Стремиться понизить планку надо, но не за счёт принесения в жертву стратегической цели. Есть и другие рычаги: методология преподавания и т. д.

PS Есть за мной один грешок: Считаю, что если что-то делать, то делать это нужно отлично, а если нет, то и вовсе лучше не делать, чтобы народ не смешить. Максималист, одним словом :)

Автор:  igor [ Среда, 18 Март, 2009 12:08 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Info21 писал(а):
Да уж, "сурово и мужественно" ... уговорить толпу :mrgreen:
Если это не сделать сейчас, то потом будет ещё сложнее. Чем раньше исправить ошибку, тем дешевле она обходится :mrgreen:

Автор:  Geniepro [ Среда, 18 Март, 2009 12:49 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Игорь Лоскутов писал(а):
Даже в рамках этого форума есть представители Украины, Узбекистана и даже Израиля. Вы подумали о них?
Не скажу за хохлов и евреев, а вот узбекам программирование на языке с узбекскими ключевыми словами точно вряд ли нужно...

Автор:  Valery Solovey [ Среда, 18 Март, 2009 12:59 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Как писал info21, в 5-м класса абстрактное мышление только начинает появляться, поэтому воспринимать абстрактно BEGIN тяжело. А если воспринимать конкретно, то это пять букв латинского алфавита, которые нужно перевести на русский, чтобы понять назначение. После выполнения такой операции забываешь, зачем её делал (выпал из контекста, для которого был нужен перевод). В 9-м классе абстрактное мышление по-сильнее будет, да и в случае нерадивого отношения к иностранным языкам слова begin, end уже знакомы. А если и не знакомы, то выучить десяток слов уже не проблема.

Но встаёт другая проблема: лозунги вроде "язык только для обучения". Если поздно взяться за перевод на стандартные термины, то после окончания обучения бывшие ученики будут выбирать другие языки в силу психологии своего возраста.

Автор:  Евгений Темиргалеев [ Среда, 18 Март, 2009 14:46 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Игорь Лоскутов писал(а):
Начинающих с самого начала нужно учить правильно,...
ПРОГРАММИРОВАНИЕ ИНТЕРНАЦИОНАЛЬНО :!:
Как я понимаю, цель обучения начинающих -- привить им базовые навыки алгоритмизации; язык при этом -- средство (которое должно меньше мешать достижению цели).
Игорь Лоскутов писал(а):
...ну и кто тогда учеников будет переучивать?...
Тот же курс информатики в старших классах...не знаю правда, общеобразовательный (наряду/по аналогии с ин. яз-ми) или специализированный. Тот же вопрос -- нужно ли именно программирование делать общеобразовательным курсом...
Игорь Лоскутов писал(а):
Кем будут сегодняшние новички через десять лет? Если хотя бы 1 % из них избирут для себя профессию программиста
В этом случае -- на момент окончания вуза -- (если не довелось переучиться во время учебы), они уже должны быть сами в состоянии переучиться на новые "символы, имеющие такое сложное начертание (как иероглифы)".

Автор:  Axcel [ Среда, 18 Март, 2009 14:52 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Есть еще ода проблема. Из того , что я увидел, я делаю однозначный вывод: на русском языке при творческом усилии можно делать классные программные тексты, наполненные глубоким смыслом, и в самом полном смысле самодокументируемые. А вот, что с этим делать ? :D

Автор:  Сергей Губанов [ Среда, 18 Март, 2009 15:05 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

>> Нет никаких оснований для того, чтобы менять исторически сложившиеся и устоявшиеся (английские) ключевые слова.

Основания есть.

Вот, например, вертолёты и подлодки мы делать умеем, и называем их своими терминами -- вертолётами и подлодками, а вовсе не английскими терминами -- геликоптёрами и субмаринами.

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

Умеение делать что-то в какой-то области тесно взаимосвязано с существованием русскоязычной терминологии в этой области.

Родная терминология -- это о-го-го что такое!

Автор:  Евгений Темиргалеев [ Среда, 18 Март, 2009 15:20 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Axcel писал(а):
...и в самом полном смысле самодокументируемые.
Мне кажется это утопией. Навроде разговорного (русского) языка программирования.

Для каждой задачи -- свои средства, ей адекватные. (Разделяй и управляй :) ). Например, как организовано в ББ:
- Mod/Aaa.odc -- программный текст кодирует алгоритм в терминах ЯП;
- Docu/Aaa.odc -- документация -- "кодирует" описание на человеческом.

Автор:  rus.24bb.ru [ Среда, 18 Март, 2009 17:16 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Про русский язык в программировании - В ЭТОЙ ветке не надо обсуждать целесообразность русского языка в программировании. Патриотизм тут не причём.
ЦЕЛИ :
1. Упростить обучение (для обучаемых)
2. Улучшить понимаемость текста (для всех)

1. Если Вам проще писать на английском - пишите и не навязывайте своё мнение другим. Это просто не вежливо. Русские операторы ДОПОЛНЯЮТ а НЕ ЗАМЕНЯЮТ английские.
2. Совместимость. Решается простым конвертером текста.
3. про 1% программистов. Русский ЯП не для 1% а для остальных 99% которые рано или поздно сядут за комп ихоть раз в жизни им придётся разбираться в скрипте для Эксела

Ещё я составлял параллельно перевод для Си и КП - чтобы было примерное единство терминов.

Важное замечание - по МОЕМУ ОПЫТУ (кстати на этот текст я затратил ~ 8 часов ) переходить надо не англо-русским словарём, а с описанием языка!! А в англо-русском словаре искать синонимы!!
Например оператор CASE в Си и КП используется в разных местах конструкции Select-Case , и соответственно переводится по разному (в СИ - ВАРИАНТ, в паскале - ВЫБРАТЬ ИЗ).
Даже в английских терминах нет единства понятий!!

тоже самое с оператором RETURN

Ещё пример

BEGIN - есть 2 варианта использования
BEGIN END - логические скобки - > НАЧАЛО КОНЦ

BEGIN - начало секции инициализации модуля - > я их логически разделил - зачем объединять 2 разных программных понятия в одном слове??
чтобы операторов было меньше???
а зачем ??? чтобы язык был проще (в обучении)??? так назови всё своими именами, чтобы увидев оператор не приходилось лезть в справочник (для редко используемых операторов) и даже задумываться - это логические скобки или инициализация модуля??? !!!
Открываем описание КП. Что выполняет оператор BEGIN в конструкции описания модуля??? он обозначает начало инициализации модуля. Так и назовём ИНИЦИАЛИЗАЦИЯ_МОДУЛЯ . что бы не ошибиться и меньше разбирать ТЕКСТ программы и больше думать над её логикой и структурой!!

Автор:  Trurl [ Среда, 18 Март, 2009 17:19 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Info21 писал(а):
А вот французы -- патриоты тоже, не знаю, правда, в каком смысле, хорошем или ложном -- не признают.

Даёшь ключевые слова на эсперанто.
Код:
MODULO Ekzemplo;
TIPO
     Dato =  RIKORDO
                jaro  : ENTJERO;
                monato: ENTJERO;
                tago  : ENTJERO;
             FINO;
     Datoj = TABELO DE Dato;
     RefDatoj = REFERENCO Datoj;

VARIABLO  s:TABELO 20 DE LITERO; f:VERECO; r: REELO;

PROCEDURO Stulta(d:Datoj;);
VARIABLO  i: ENTJERO;  a, b: ARO;
STARTO
 r := 0;
 POR i := 0 LIMO LONGO(a)-1 FARI
   SE NEPARA(d[i].tago) DO 
      ALDONI(a, d[i].tago)
   ALIE 
      ALDONI(b, d[i].tago)
   FINO;
 FINO;
 i := 31
 DUM (i > 0) KAJ (NE i EN a) FARI
   i := i - 1;
 FINO;
FINO DE Stulta.

FINO DE Ekzemplo.

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