OberonCore https://forum.oberoncore.ru/ |
|
Ключевые слова на родном языке https://forum.oberoncore.ru/viewtopic.php?f=7&t=1392 |
Страница 2 из 10 |
Автор: | Trurl [ Среда, 11 Март, 2009 18:17 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): Ещё думал про объявления массивов: Вектор = МАССИВ 3 ИЗ ЧИСЛО; Матрица = МАССИВ 3, 3 ИЗ ЧИСЛО; Это выглядит уродливо. Надо идтить до конца. Код: ТИП ЧИСЛО(род.:ЧИСЛА,... МН ЧИСЛА, род.:ЧИСЕЛ,..) = ... Вектор = МАССИВ 3 ИЗ ЧИСЕЛ; можно даже навернуть Код: ТИП ОКНО(ПАРАДИГМА: ЧИСЛО) = ...
|
Автор: | А.П. [ Среда, 11 Март, 2009 18:56 ] |
Заголовок сообщения: | Re: Ключевый слова на родном языке |
Info21 писал(а): соединил с И21-ной черепашкой. Попробовал, работает!!! Очень мелкие замечания. 1) В модуле Edit появились накладки: м - это МОДУЛЬ или МАССИВ? 2) Некоторые сокращения (в моем варианте Edit'а) для команд черепашки теперь совпадают с сокращениями для ключевых слов. Ну, это нетрудно развести. 3) С падежами и родами, думаю, можно несколько минимизировать проблему, например, разрешить только ЦЕЛ. ВЕЩ, ПЕРЕМЕННЫЕ,... |
Автор: | Info21 [ Среда, 11 Март, 2009 19:40 ] |
Заголовок сообщения: | Re: Ключевый слова на родном языке |
А.П. писал(а): м - это МОДУЛЬ или МАССИВ? МАССИВ. Модули лучше, видимо, через пункт меню создавать. |
Автор: | Борис Рюмшин [ Среда, 11 Март, 2009 20:36 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Ещё к вопросу о... Может такая вот шняга (как назвал её автор ) лучшая замена русскоязычным идентификаторам, с которыми возникают проблемы при переходе к 1.6. И компилятор трогать не надо. Надо только механизм доработать на замену не словарных слов транслитом. |
Автор: | Info21 [ Среда, 11 Март, 2009 20:56 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Борис Рюмшин писал(а): .. Может такая вот шняга (как назвал её автор ) лучшая замена русскоязычным идентификаторам, с которыми возникают проблемы при переходе к 1.6. И компилятор трогать не надо. ... А правда, почему нет.
|
Автор: | Info21 [ Среда, 11 Март, 2009 21:02 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Info21 писал(а): Борис Рюмшин писал(а): .. И компилятор трогать не надо. ... А правда, почему нет. |
Автор: | Димыч [ Среда, 11 Март, 2009 21:03 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): Ещё думал про объявления массивов: Вектор = МАССИВ 3 ИЗ ЧИСЛО; Матрица = МАССИВ 3, 3 ИЗ ЧИСЛО; Это выглядит уродливо. А если объявлять массивы так: Вектор = МАССИВ(ЧИСЛО, 3); Матрица = МАССИВ(ЧИСЛО, 3, 3) то вроде выглядит нормально. Не кидайтесь сразу помидорами из-за ввода дополнительных идентификаторов. Может так: Вектор = МАССИВ ДЛИНОЙ 3 ИЗ ЭЛЕМЕНТОВ ЧИСЛО или Матрица = МАССИВ ДЛИНОЙ 3, 3 ИЗ ЭЛЕМЕНТОВ ЧИСЛО два дополнительных слова несколько уточняют смысл и не надо менять падеж. |
Автор: | Info21 [ Среда, 11 Март, 2009 21:05 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Димыч писал(а): Может так: из, F5 --> ИЗ_ЭЛЕМЕНТОВ
Вектор = МАССИВ ДЛИНОЙ 3 ИЗ ЭЛЕМЕНТОВ ЧИСЛО |
Автор: | Евгений Темиргалеев [ Среда, 11 Март, 2009 22:50 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Борис Рюмшин писал(а): .. И компилятор трогать не надо. ... Info21 писал(а): Только скорость компиляции может заметно упасть. Впрочем, для учебных задач это не важно. Не забывайте, что есть не только ошибки компиляции, но и выполнения - окно трэпа, выделение участка исходника при щелчке по синим ромбикам, метаинформация...
|
Автор: | А.П. [ Четверг, 12 Март, 2009 06:54 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Димыч писал(а): Может так: Вектор = МАССИВ ДЛИНОЙ 3 ИЗ ЭЛЕМЕНТОВ ЧИСЛО или Матрица = МАССИВ ДЛИНОЙ 3, 3 ИЗ ЭЛЕМЕНТОВ ЧИСЛО Я, когда начинаю объяснять многомерные массивы, даю примерно следующее: "Представим себе одномерный массив как строку клеток в тетрадке. Номер клетки - это номер элемента массива, его индекс. Все клетки принимают на хранение значения только одного и того же типа, единого для всего массива. В одну клетку можно занести ровно одно значение. Теперь возьмем целую страницу таких строк, получим двумерный массив. Чтобы обратиться к какому-то его элементу, надо указать номер строки и номер клетки в строке. Причем номер строки будем называть старшим индексом и писать его будем левее номера клетки в строке. Добавим третье измерение - номер страницы в тетрадке. Третье измерение указываем левее второго. Четвертое измерение - номер тетрадки на полке стеллажа. Пятое измерение - номер стеллажа в комнате. Шестое - номер комнаты на этаже. Седьмое - номер этажа в здании". Таким образом, каждое следующее, более старшее измерение, указываем левее остальных: этаж, комната, стеллаж, полка, тетрадка, страница, строка, номер в строке. При этом уточняем, что во всем массиве размер по каждому измерению одинаковый: длины строк, высота страниц, объем тетрадок, длины полок, высоты стеллажей и т.д., а нумерация по каждому измерению начинается всегда с нуля. И уясняем, что при старте нашей программы в клетках, скорее всего, будет находиться мусор, оставшийся от работы предыдущих программ, поэтому массив, задуманный как накопитель сумм, обязательно надо сначала зачистить! Обычно такое объяснение вопросов не вызывает, индексы со значениями перестают путать. Хотя реально дальше второго измерения в учебной практике ходить не доводилось. В свете сказанного предлагаю оставить упрощенный вариант описания массива: а : МАССИВ 3, 5 ЦЕЛ; б : МАССИВ 10 ВЕЩ; в : МАССИВ 23 ЛИТЕР; х : МАССИВ 102 БАЙТ; Слово ИЗ некоторое время еще проговариваем, подразумеваем, но не пишем. Окончаниями русских названий типов не заморачиваемся, их просто отбрасываем. Грубовато по отношению к великому и могучему, но ведь и язык строим не вполне естественный |
Автор: | Александр Ильин [ Четверг, 12 Март, 2009 10:06 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
х : МАССИВ ИЗ 102 БАЙТ; |
Автор: | Info21 [ Четверг, 12 Март, 2009 10:16 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Александр Ильин писал(а): х : МАССИВ ИЗ 102 БАЙТ; То есть обратный перевод должен быть МАССИВ_ИЗ --> ARRAY, и БАЙТ --> OF BYTE?Аналогично ЦЕЛЫХ --> OF INTEGER и т.д.? Кстати, БАЙТ или БАЙТОВ? Или подразумевается сокращение? Если сокращение, то оно обудет путаться с конструкцией VAR b: BYTE? |
Автор: | igor [ Четверг, 12 Март, 2009 10:35 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Немного оффтопа, но к месту А.П. писал(а): Номер клетки - это номер элемента массива, его индекс. Номер или индекс? На заре своей программисткой деятельности, изрядно позапутавшись в различных способах нумерации элементов, я в конце концов принял для себя соглашение: Цитата: Номер и индекс -- это не одно и то же. Номера начинаются с единицы, а индексы с нуля. Таким образом в слове "ПРИВЕТ" буква "Т" имеет шестой номер, но индекс у неё равен 5. Это, может быть, не общепринятое соглашение, но никогда не даёт мне запутаться. Если локальная переменная в программе названа "i" или там "j", "k", то это индекс, если "n", "num" -- номер.
|
Автор: | Александр Ильин [ Четверг, 12 Март, 2009 11:14 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Info21 писал(а): Кстати, БАЙТ или БАЙТОВ? Или подразумевается сокращение? Если сокращение, то оно обудет путаться с конструкцией VAR b: BYTE? Я слово "байт" склоняю так: байт, байта, байту, байт, байтом, о байте. "Байтов" у меня нету, но правильно ли это - не поручусь.ПЕРЕМЕННЫЕ б: БАЙТ; м: МАССИВ ИЗ 2 БАЙТ; При переводе, наверное, придётся делать перестановку слов: МАССИВ ИЗ 2 БАЙТ -> ARRAY OF 2 BYTE -> ARRAY 2 OF BYTE. С другой стороны, можно ввести "БАЙТОВ" = "OF BYTE" и "ЦЕЛЫХ" = "OF INTEGER", в то время как "БАЙТ" = "BYTE" и "ЦЕЛОЕ" = "INTEGER". А вообще, интересно получится: МАССИВ ИЗ 1 БАЙТОВ -- массив из одних байтов : )) |
Автор: | rus.24bb.ru [ Четверг, 12 Март, 2009 11:38 ] |
Заголовок сообщения: | Re: Ключевый слова на родном языке |
Сергей Губанов писал(а): Info21 писал(а): как будто пыль со стекла стерли. Да, как прояснение. Название придумал для языка: Ясносказ. Начал писать транслятор этого хозяйства на C# с использованием русских идентификаторов. Через несколько дней стал совершенно по другому смотреть на код. Функции стал называть с маленькой буквы, так как они вызываются в середине "предложения", и заглавные буквы там не к месту. Отказался от верБлюЖачей нотации в_пользу_символов_подчёркивания (хотя при написании английскими буквами верБлюЖачесть никакого диссонанса не вызывает). http://rus.24bb.ru/viewtopic.php?pid=211#p211 - может вот эта вещь будет интересна - преревод делал Зуев для компилятора Си Интерстрон Код: // Заголовочный файл для русификации служебных слов Си++
// Его имя должно быть c_rus.h или си.h // !!! Модификация 2008 года: Русские ключевые слова Си++. Версия от 20 мая 2008 г. // Cоставлен для проекта http://rus.24bb.ru - Языки программирования с русским синтаксисом // Версия от 20 мая 2008 г. // Финальная тестовая версия 0.9 // Разработан на основе идей: // * Проект C11 (Е. Зуев, Интерстрон) // * Графический язык "Дракон" Графит-ФлОкс - Владимир ПАРОНДЖАНОВ // * Язык программирования Глагол //////////////////////////////////////////////////////////////////////// // При модификации учитывалось что: // * На понимание алгоритма, уходит гораздо больше времени, чем на на понимание команд // (см. Язык Дракон) // * Писать программы необходимо на том языке на котором думаешь // ** отсюда надо писать русские *.h файлы для библиотек и править переводы их // справочных систем // * Много синонимов - меньше слов для переменных, функций пользователя // * Не надо изобретать правила к которым потом за уши притягивается практика // ** сокращений надо избегать но не любой ценой (лог, цел) // ** синонимов надо избегать но не любой ценой (правда, да, ложь, нет) ///////////////////////////////////////////////////////////////////////////// // // ИЗМЕНЕНО - #define И and // ИЗМЕНЕНО #define и_присв and_eq //#define ассем asm #define ассемблер asm // альтернативное #define авто auto //ИЗМЕНЕНО //#define автом auto //#define автоматич auto // альтернативное //#define автоматический auto // альтернативное //#define автоматическая auto // альтернативное //#define автоматическое auto // альтернативное //#define автоматические auto // альтернативное #define бит_и bitand #define лог bool // альтернативное //#define логич bool // альтернативное //#define логический bool // альтернативное //#define логическая bool // альтернативное //#define логическое bool // альтернативное //#define логические bool // альтернативное #define прервать break #define вариант case #define перехват catch #define символ char //ИЗМЕНЕНО //#define сим char //#define симв char // альтернативное //#define символьный char // альтернативное //#define символьная char // альтернативное //#define символьное char // альтернативное //#define символьные char // альтернативное #define класс class #define бит_не compl #define конст const #define константа const // альтернативное //#define константный const // альтернативное //#define константная const // альтернативное //#define константное const // альтернативное //#define константные const // альтернативное #define конст_прив const_cast #define продолжить continue //ИЗМЕНЕНО #define повторить continue //ИЗМЕНЕНО //#define итерация continue #define проч default #define прочие default // альтернативное #define прочее default // альтернативное #define удалить delete #define цикл do #define выполнить do // ИЗМЕНЕНО //#define двойн double //#define двойной double // альтернативное //#define двойная double // альтернативное //#define двойное double // альтернативное //#define двойные double // альтернативное //#define двойн_точн double // альтернативное #define двойной_точности double // альтернативное #define дин_прив dynamic_cast #define иначе else //#define перечисл enum #define перечисление enum // альтернативное //#define явн explicit #define явная explicit // альтернативное //#define явный explicit // альтернативное #define внеш extern //#define внешний extern // альтернативное //#define внешняя extern // альтернативное //#define внешнее extern // альтернативное //#define внешние extern // альтернативное #define ложь false #define НЕТ false // ИЗМЕНЕНО #define веществ float // ИЗМЕНЕНО //#define плав float //#define плавающий float // альтернативное //#define плавающая float // альтернативное //#define плавающее float // альтернативное //#define плавающие float // альтернативное #define для for //Необходимо другое слово!! //#define друж friend //#define друг friend // альтернативное //#define дружеств friend // альтернативное #define дружественный friend // альтернативное //#define дружественная friend // альтернативное //#define дружественные friend // альтернативное #define переход goto #define если if #define подставл inline //#define подставляемая inline // альтернативное //#define подставляемые inline // альтернативное #define цел int //#define целый int // альтернативное //#define целая int // альтернативное #define целое int // альтернативное #define целые int // альтернативное #define большое long //#define длин long //#define длинный long // альтернативное //#define длинная long // альтернативное //#define длинное long // альтернативное //#define длинные long // альтернативное #define меняется mutable // ИЗМЕНЕНО //#define изменч mutable //#define изменчивый mutable // альтернативное //#define изменчивая mutable // альтернативное //#define изменчивое mutable // альтернативное //#define изменчивые mutable // альтернативное #define область_имён namespace //ИЗМЕНЕНО #define область_имен namespace //ИЗМЕНЕНО //#define область namespace #define создать new //ИЗМЕНЕНО #define НЕ not //#define лог_не not #define не_равно not_eq #define операция operator #define ИЛИ or // ИЗМЕНЕНО //#define лог_или or #define или_присв or_eq #define для_себя private // ИЗМЕНЕНО //#define себе private //#define скрытый private // альтернативное //#define скрытая private // альтернативное //#define скрытое private // альтернативное //#define скрытые private // альтернативное #define закрытый protected // ИЗМЕНЕНО #define для_своих protected // ИЗМЕНЕНО //#define своим protected //#define защищ protected // альтернативное //#define защищенный protected // альтернативное //#define защищенная protected // альтернативное //#define защищенное protected // альтернативное //#define защищенные protected // альтернативное #define общий public // ИЗМЕНЕНО #define для_всех public // ИЗМЕНЕНО //#define всем public //#define доступный public // альтернативное //#define доступная public // альтернативное //#define доступное public // альтернативное //#define доступные public // альтернативное #define регистр register // ИЗМЕНЕНО //#define рег register //#define регистровый register // альтернативное //#define регистровая register // альтернативное //#define регистровое register // альтернативное //#define регистровые register // альтернативное #define тип_прив reinterpret_cast #define возврат return #define кор short //#define короткий short // альтернативное //#define короткая short // альтернативное //#define короткое short // альтернативное //#define короткие short // альтернативное #define со_знаком signed //#define знаковый signed // альтернативное //#define знаковая signed // альтернативное //#define знаковое signed // альтернативное //#define знаковые signed // альтернативное #define размер sizeof #define стат static #define статич static //#define статический static // альтернативное //#define статическая static // альтернативное //#define статическое static // альтернативное //#define статические static // альтернативное #define стат_прив static_cast //#define структ struct #define структура struct // альтернативное #define выбор switch #define шаблон template #define этот this #define исключение throw #define контроль try #define тип typedef #define есть_тип typeid #define имя_типа typename //#define совмещ union #define совмещение union // альтернативное #define без_знака unsigned //#define беззнаковый unsigned // альтернативное //#define беззнаковая unsigned // альтернативное //#define беззнаковое unsigned // альтернативное //#define беззнаковые unsigned // альтернативное //#define использ using #define использовать using // альтернативное #define вирт virtual #define виртуальный virtual // альтернативное //#define виртуальная virtual // альтернативное //#define виртуальное virtual // альтернативное //#define виртуальные virtual // альтернативное #define пусто void //ИЗМЕНЕНО //#define пуст void //#define пустой void // альтернативное //#define пустая void // альтернативное //#define пустое void // альтернативное //#define пустые void // альтернативное #define ненадеж volatile #define ненадежный volatile // альтернативное #define ненадежная volatile // альтернативное #define ненадежное volatile // альтернативное #define ненадежные volatile // альтернативное #define шсим wchar_t #define широкий_симв wchar_t // альтернативное #define широкая_симв wchar_t // альтернативное #define широкое_симв wchar_t // альтернативное #define широкие_симв wchar_t // альтернативное #define пока while #define ИЛИ_НЕ xor // ИЗМЕНЕНО //#define искл_или xor #define искл_присв xor_eq /////////////////////////////////////////////////////// // РУСИФИКАЦИЯ ФЦНКЦИЙ БИБЛИОТЕК - НЕ СОРТИРОВАННЫЕ #define начало main ///////////////////////////////////////////////////////////////////////////// /// ПРЕПРОЦЕССОР - ПОКА НЕ ПЕРЕВЕДЁН // #define #макрос #опред #определить // В данном случае предпочтение было отдано существительным, в первую // очередь, потому, что это позволило избежать сокращений и получить краткие и // выразительные названия. // Заметим, что "макрос" - корректная форма единственного числа для данного понятия. // Именно такой перевод английского macro был принят в отечественной // профессиональной литературе, начиная с 70-х гг. (см., например, М.Кемпбел-Келли, // "Введение в макросы": Пер. с англ./ Под ред. Э.З.Любимского.- М.: Сов. Радио, // 1978). Общеупотребительный в устной речи (иногда проникающий и в печатные // тексты) вульгаризм "макро" возник только в последнее время. // defined есть Если директива #ifdef переводится как // #если_есть, то некоторую ее модификацию естественно перевести // аналогично. Пример: #если ( есть М1 || есть М2 ) … // #elif #инес #иначе_если #ин_если #ин_ес // Перевод директивы #elif как #инес выглядит наиболее кратко и вместе с тем // читабельно. Кроме того, именно так традиционно переводится служебное слово // elif в тех языках программирования, в которых оно имеется (например, в Алгол-68). // #else #иначе Было бы странно, если бы директивы #if и #else были бы переведены как-либо // иначе, имея ввиду одноименные служебные слова самого языка. // #endif #конес #конец_если #кон_если #конесли #илсе // Директива #endif переведена как #конес,- в духе #если и #инес. // "Стильный" перевод как #илсе - перевернутой начальной директивы, сам // по себе очень привлекательный (и используемый, в частности, для // аналогичного служебного слова в Алголе-68), был отвергнут, так как в данном случае // он противоречил бы общему стилю данных предложений. // #error #ошибка // #if #если // #ifdef #если_есть #еслиесть #если_опред // #ifndef #если_нет #еслинет #если_не_опред // Предлагаемый перевод #ifdef // #ifndef как, соответственно, // #если_есть и #если_нет,представляется наиболее точным из возможных: директива "срабатывает", если // ранее уже было (еще не было) определение макроса с указанным именем. // #include #вставка #вставить #внести Здесь также использовано // существительное; быть может, перевод #вставить так же нагляден и точен, но // для единообразия (чтобы директивы определения макроса, его отмены и // использования представлялись существительными) была выбрана указанная форма. // #line #строка // #pragma #прагмат #прагма Практически единственный возможный перевод. Вариант #опция, в принципе, // тоже допустим, но он несет оттенок жаргона, используемого в устной речи. К предложенному варианту перевода // полностью относится комментарий для директивы #макрос (имея ввиду распространенность вульгарного перевода // "прагма"). // #undef #отмена #отмен #отменить // Предпочтение было отдано // существительным; см. #define. // __DATE__ __ДАТА__ // __FILE__ __ФАЙЛ__ // __LINE__ __СТРОКА__ // __TIME__ __ВРЕМЯ__ // __cplusplus __сиплюсплюс // __STDC__ __СТАНДСИ__ __СТДСИ__ // Имена предопределенных макросов либо имеют совершенно однозначный и краткий // перевод, либо представляют собой неудобопроизносимые сокращения, // возникшие исторически по произволу создателей языков Си и Си++. // Поэтому не следует надеяться исправить дело, пытаясь ввести для них // некие "красивые" эквиваленты на русском языке |
Автор: | rus.24bb.ru [ Четверг, 12 Март, 2009 11:40 ] |
Заголовок сообщения: | Re: Ключевый слова на родном языке |
Сергей Губанов писал(а): Info21 писал(а): как будто пыль со стекла стерли. Да, как прояснение. Название придумал для языка: Ясносказ. Начал писать транслятор этого хозяйства на C# с использованием русских идентификаторов. Через несколько дней стал совершенно по другому смотреть на код. Функции стал называть с маленькой буквы, так как они вызываются в середине "предложения", и заглавные буквы там не к месту. Отказался от верБлюЖачей нотации в_пользу_символов_подчёркивания (хотя при написании английскими буквами верБлюЖачесть никакого диссонанса не вызывает). http://rus.24bb.ru/viewtopic.php?pid=447#p447 - вот человек по моему делает нечто подобное. |
Автор: | Борис Рюмшин [ Четверг, 12 Март, 2009 11:44 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
А тут так тихо было........ Русский орфографический словарь Российской академии наук. Отв. ред. В. В. Лопатин. © Электронная версия, «ГРАМОТА.РУ», 2001–2007. байт, -а, р. мн. -ов, счетн. ф. байт |
Автор: | Info21 [ Четверг, 12 Март, 2009 11:46 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Александр Ильин писал(а): ... Я слово "байт" склоняю так ... но правильно ли это - не поручусь. Счетная форма всё-таки, выходит, байт, а не байтов.Александр Ильин писал(а): ... При переводе, наверное, придётся делать перестановку слов ... Боюсь, этак можно нагромоздить барьер для перехода от родноязычных ключевых слов к английским. Видимо, надо всё же стремиться к соответствию 1:1. Хотя в разделе объявлений вариации с падежами по большому счету вряд ли могут породить злокачественные проблемы, особенно если продумать работу F5 и алгоритмы перевода. Но хочется попроще. |
Автор: | Сергей Губанов [ Четверг, 12 Март, 2009 12:02 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
>> Видимо, надо всё же стремиться к соответствию 1:1. Сначала надо придумать грамматику инвариантную относительно склонения по падежам (перед Виртом такой задачи не стояло). Только в этой грамматике будет возможно соответствие 1:1. ---------- Кроме объявления массивов склонение по падежам может возникать ещё в отношениях IS, IN. Надо над их "инвариантными" аналогами подумать. ----- Кстати, вместо DIV можно бы использовать просто ":". |
Автор: | rus.24bb.ru [ Четверг, 12 Март, 2009 12:05 ] |
Заголовок сообщения: | Re: Ключевые слова на родном языке |
Сергей Губанов писал(а): Я как раз последние несколько дней размышлял над переводом служебных слов. Сообщаю до чего доразмышлялся (вдруг вам понравится?): ЕСЛИ * СДЕЛАТЬ * {АЕСЛИ * СДЕЛАТЬ *} [ ИНАЧЕ * ] СДЕЛАНО ПОКА * ВЫПОЛНЯТЬ * {АПОКА * ВЫПОЛНЯТЬ *} ВЫПОЛНЕНО ПОВТОРЯТЬ * ОСТАНОВ * PROCEDURE BEGIN [ RETURN ] END --> ЗАДАЧА РЕШЕНИЕ [ ОТВЕТ ] РЕШЕНО BOOLEAN, TRUE, FALSE --> УТВЕРЖДЕНИЕ, ДА, НЕТ MODULE [ IMPORT ] [ BEGIN ] [ CLOSE ] END --> МОДУЛЬ [ ИМПОРТ ] [ ЗАГРУЗКА ] [ ВЫГРУЗКА ] КОНЕЦ Сергей Губанов писал(а): Я как раз последние несколько дней размышлял над переводом служебных слов. Сообщаю до чего доразмышлялся (вдруг вам понравится?): ЕСЛИ * СДЕЛАТЬ * {АЕСЛИ * СДЕЛАТЬ *} [ ИНАЧЕ * ] СДЕЛАНО ПОКА * ВЫПОЛНЯТЬ * {АПОКА * ВЫПОЛНЯТЬ *} ВЫПОЛНЕНО ПОВТОРЯТЬ * ОСТАНОВ * PROCEDURE BEGIN [ RETURN ] END --> ЗАДАЧА РЕШЕНИЕ [ ОТВЕТ ] РЕШЕНО BOOLEAN, TRUE, FALSE --> УТВЕРЖДЕНИЕ, ДА, НЕТ MODULE [ IMPORT ] [ BEGIN ] [ CLOSE ] END --> МОДУЛЬ [ ИМПОРТ ] [ ЗАГРУЗКА ] [ ВЫГРУЗКА ] КОНЕЦ Проблема с разными вариантами перевода о которых много спорят - на самом деле уникальная возможность сделать СИНОНИМЫ для некоторых операторов!! Пример: BOOLEAN, TRUE, FALSE --> ЛОГИЧЕСКИЕ (для описания переменных), ДА, НЕТ + синонимы -> ПРАВДА, ЛОЖЬ !! По моему весьма желательно чтобы все (или почти все) переводы языков программирования на русский соответствовали единому стандарту. Т.е. чтобы в оператор PRINT (Бэйсик), printf (Си), Write (паскаль), MsgBox(VB) - в русских переводах обозначались ОДНИМ словом например "Сообщение", но уж не как не "печать" которое и в английском является рудиментом от эпохи матричных принтеров. Это значительно упростит обучение и работу в дальнейшем и станет сильной стороной ЯП с русскими операторами!! Основа по моему д.б. 1С(широко распространён) и Зуевский перевод Си для проекта С11. Отличия от этих терминов по моему должны быть хотя бы обоснованы. |
Страница 2 из 10 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |