Русские вычислители

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Русификатор C и C++

Сообщений 1 страница 47 из 47

1

Переделываю свой русификатор для C и C++ по подсказке Антона. В принципе, C и C++ русифицируются с помощью директивы

Код:
#define  esli  if

а за перевод "если" в "esli" отвечает русификатор. Но таким образом нельзя русифицировать директивы препроцессора. Поэтому делаю прямую замену "если" в "if" - через таблицу. Теперь хотелось бы обсудить содержание этой таблицы. По этой ссылке можно скачать PDF-документ Евгения Зуева: Русификация C++. Не со всем я согласен, кое что переделал и предлагаю следующее.

Отсортировано в русском алфавитном порядке:

Код:
_15           short
_16           unsigned  short
_31           int
_32           unsigned  int
_7            char
_8            unsigned  char
__ВРЕМЯ__     __TIME__
__СТАНДСИ__   __STDC__
__СТДСИ__     __STDC__
__СТРОКА__    __LINE__
__ФАЙЛ__      __FILE__
__сиплюсплюс  __cplusplus
автом         auto
автоматич     auto
без           unsigned
беззн         unsigned
беззнак       unsigned
вар           case
Код:
вариант       case
вернуть       return
вирт          virtual
виртуал       virtual
виртуальный   virtual
внеш          extern
внешний       extern
возврат       return
всем          public
вставка       include
выбор         switch
выйти         break
Код:
да            true
двойн         double
двойной       double
длин          long
длинный       long
для           for
доступ        public
доступно      public
доступный     public
друг          friend
друж          friend
Код:
если          if
если есть     ifdef
если нет      ifndef
если_есть     ifdef
если_нет      ifndef
есть          defined
заново        continue
защ           protected
защищ         protected
знак          signed
знаков        signed
знаковый      signed
и если        elif
и_если        elif
измен         mutable
изменч        mutable
Код:
иначе         else
иначе если    elif
иначе_если    elif
искл          throw
исключ        throw
исключение    throw
исп           using
использ       using
использовать  using
ИСТИНА        true
к если        endif
к_если        endif
класс         class
конец если    endif
конец_если    endif
конст         const
контроль      try
Код:
кор           short
корот         short
короткий      short
лог           bool
логич         bool
ЛОЖЬ          false
макрос        define
назад         return
нет           false
нов           new
новый         new
Код:
область       namespace
объед         union
объединение   union
операция      operator
опр           define
определить    define
отмена        undef
ошибка        error
перекл        switch
переключат    switch
переключатель switch
перехват      catch
переход       goto
Код:
переч         enum
перечисл      enum
плав          float
подстав       inline
подставл      inline
пока          while
пост          const
прагма        pragma
прагмат       pragma
прервать      break
проч          default
прочее        default
пуст          void
пустой        void
Код:
размер        sizeof
рег           register
регистр       register
своим         protected
себе          private
сим           char
симв          char
скрыт         private
скрытый       private
случ          case
случай        case
совмещ        union
совмещение    union
Код:
создать       new
стат          static
статич        static
статический   static
строка        line
структ        struct
структура     struct
тип           typedef
цел           int
цикл          do
шаблон        template
это           this
этот          this
явн           explicit
явный         explicit

Отсортировано в латинскрм алфавитном порядке:

Код:
__сиплюсплюс  __cplusplus
__ФАЙЛ__      __FILE__
__СТРОКА__    __LINE__
__СТАНДСИ__   __STDC__
__СТДСИ__     __STDC__
__ВРЕМЯ__     __TIME__
автом         auto
автоматич     auto
лог           bool
логич         bool
выйти         break
прервать      break
вар           case
вариант       case
случ          case
случай        case
перехват      catch
Код:
_7            char
сим           char
симв          char
класс         class
конст         const
пост          const
заново        continue
проч          default
прочее        default
макрос        define
опр           define
определить    define
есть          defined
цикл          do
Код:
двойн         double
двойной       double
и если        elif
и_если        elif
иначе если    elif
иначе_если    elif
иначе         else
к если        endif
к_если        endif
конец если    endif
конец_если    endif
переч         enum
перечисл      enum
ошибка        error
Код:
явн           explicit
явный         explicit
внеш          extern
внешний       extern
ЛОЖЬ          false
нет           false
плав          float
для           for
друг          friend
друж          friend
переход       goto
если          if
если есть     ifdef
если_есть     ifdef
если нет      ifndef
если_нет      ifndef
вставка       include
подстав       inline
подставл      inline
Код:
_31           int
цел           int
строка        line
длин          long
длинный       long
измен         mutable
изменч        mutable
область       namespace
нов           new
новый         new
создать       new
операция      operator
прагма        pragma
прагмат       pragma
себе          private
скрыт         private
скрытый       private
Код:
защ           protected
защищ         protected
своим         protected
всем          public
доступ        public
доступно      public
доступный     public
рег           register
регистр       register
вернуть       return
возврат       return
назад         return
_15           short
кор           short
корот         short
короткий      short
Код:
знак          signed
знаков        signed
знаковый      signed
размер        sizeof
стат          static
статич        static
статический   static
структ        struct
структура     struct
выбор         switch
перекл        switch
переключат    switch
переключатель switch
Код:
шаблон        template
это           this
этот          this
искл          throw
исключ        throw
исключение    throw
да            true
ИСТИНА        true
контроль      try
тип           typedef
отмена        undef
объед         union
объединение   union
совмещ        union
совмещение    union
Код:
без           unsigned
беззн         unsigned
беззнак       unsigned
_8            unsigned  char
_32           unsigned  int
_16           unsigned  short
исп           using
использ       using
использовать  using
вирт          virtual
виртуал       virtual
виртуальный   virtual
пуст          void
пустой        void
пока          while

Прошу высказать свои пожелания и замечания.

0

2

Знаете, что забавно в ваших переводах и что часто встречаю?

__СТАНДСИ__   __STDC__
__СТДСИ__     __STDC__
__СТРОКА__    __LINE__
__ФАЙЛ__      __FILE__


Если Вы делаете что-то в одном стиле, то нужно делать все в том же стиле. Чтобы была единая форма стиля "документа".
Что-то вы переводите как значение слова по-русски, а что-то как звучание звуков по-русски.

Line -> Строка = значение по-русски.
STDC -> СТДСИ = звучание по-русски.

Возможно я слишком придираюсь. Прошу меня извинить.

искл          throw
исключ        throw
исключение    throw


Это возможные варианты одного индентификатора по-русски?

Отредактировано Infum (03.09.2014 22:11:05)

0

3

Что значит придирки? Тут все свои и обижаться совсем незачем. И Вам извиняться не следует. Наоборот, въедливость и дотошность совсем не лишни. Всё правильно. Если есть вопросы, их лучше задать.

По стиль Вы правильно заметили. Большинство замен я взял у Евгения Александровича Зуева (ссылку на документ я давал выше). Правда, там написано, что это предварительный вариант, а окончательный я не встречал. «Отсебятины» в список замен я добавлял мало.

Думаю, для одного ключевого слова в английском можно сделать несколько вариантов на русском. Новичкам для ясности надо писать «исключение». Те, кто уже освоился и многое запомнил, могут сокращать для быстроты набора текста.

0

4

Мне вот это понравилось:

Юрий написал(а):
Код:
_8         unsigned  char
_32        unsigned  int
_16        unsigned  short

0

5

Это как раз "отсебятина".
1) Коротко
2) Бьёт в самую суть
3) Независимо от раскладки клавиатуры

Ну а поводу переделки - мне на что-то надо поставить Ubuntu, на Ubuntu - TinyCC, чтобы всё отладить, проверить работу под utf-8. Не знаю, куда поставить.

0

6

Юрий написал(а):

Не знаю, куда поставить.


Создайте разделы, да поставьте на той же машине, на которой обычно работаете. Или в ВМ работайте.

0

7

Создайте разделы, да поставьте на той же машине, на которой обычно работаете. Или в ВМ работайте.

Лень :) Честно говоря, это мне надо на недолгое время. Неохота ради этого столько возиться.  Вот если б через удалённый доступ зайти на какую-нибудь Линуксовую машину...  %-)

0

8

Если принять, что РЯП это:
1) Синтаксис и семантика конструкций C/C++. 
2) Возможность использования 100% кириллицы.
3) Выходной код на стандарте C/C++ (предназначен для последующей трансляции каким-либо готовым компилятором C/C++).

то предложенная Юрием таблица мне нравится.
Также разделяю подход, когда для одного ключевого слова на английском существует несколько вариантов на русском.

Есть вопросы:
1) Как русифицировать (и нужно ли) стандартные функции, например strcpy().
2) Как быть с русской интегрированной средой разработки IDE: поддержка быстрого набора конструкций и встроенных функций языка, вызов контекстной подсказки, вывод сообщений компилятора с указанием ошибок при использовании конструкций с русскоязычными ключевыми словами и идентификаторами.

0

9

Я бы не стал этот русификатор называть РЯП.

Как русифицировать (и нужно ли) стандартные функции, например strcpy().

Для школьников - надо бы. Для нешкольников - есть сомнения. Если человек много лет писал strcpy(), то теперь будет вспоминать, как теперь это написать по-русски. А русифицировать очень просто - добавить strcpy() в этот список, придумав русскую замену.
А вот второй вопрос - куда сложнее. Мне нравится TinyCC - компилятор чистого Си. Очень мал, очень быстр, исходные коды - открыты. По идее, сообщения можно перевести. Другое дело, что это не C++, возможности Си куда скромнее: ни ООП, ни шаблонов...
Сергей приспосабливал AkelPad под синтаксис Глагола. По идее, можно и для Си. Вот только AkelPad работает с Windows кодировками. Но есть NotePad++ - можно его попробовать. но кто это будет делать?

0

10

Юрий написал(а):

Для нешкольников - есть сомнения.


Нет никаких сомнений и быть не может. Тем более для взрослых людей! Постоянно переключать раскладку или видеть что-нибудь вроде «стрспу» — это просто ужас. Да и не РЯП это будет. Кто таким пользоваться-то захочет?

0

11

Сомнения, потому что "strcpy" сидит в моей памяти много лет. Русского названия пока нет, поэтому в памяти его нет. Сомнения связаны не с тем, что полезно или не полезно, а с привычками, которые укоренились.

0

12

Юрий написал(а):

Сомнения, потому что "strcpy" сидит в моей памяти много лет. Русского названия пока нет, поэтому в памяти его нет. Сомнения связаны не с тем, что полезно или не полезно, а с привычками, которые укоренились.

*лНоваяСтрока = Копия лСтараяСтрока;

А С уже в том месте для которого он и создавался - неонки создавать.

0

13

Через 10 лет будут другие привычки, другое программирование. И мы можем приветь "хорошие" привычки, на родном языке.

Копировать строку(7), Копировать строки[1-10].
Копировать строку(8) = Массив строк РЯП [10]

0

14

Юрий написал(а):

Если человек много лет писал strcpy(), то теперь будет вспоминать, как теперь это написать по-русски.

Вы считаете, что это "наша" целевая аудитория РЯП? Юрий, помните, в кафе вспоминали "Как на Python объявить функцию?". При изучении нового языка, процесс "вспоминать" неизбежен.

0

15

Вот что пишет мне Е.А. Зуев о русификации C++:

Стандарта на русификацию С++ нет и вряд ли таковой появится когда-либо. Наш компилятор С++ (фирма Интерстрон) поддерживает ту русификацию служебных слов. Он во вполне работоспособном состоянии и используется в нескольких реальных проектах.

Те правки, которые я внёс в стандарт русификации «Интерстрона», Евгению Александровичу не нравятся:

«наш» вариант [«Интерстрона»] представляется мне наиболее выверенным, сбалансированным и обоснованным.

Сейчас работаю над тем, чтобы русификация C/C++ была полной. Версии ранее разработанных версиях утилиты для русификации ключевых, служебных и прочих слов использовалось переопределение с помощью команд препроцессора, например:

Код:
#define    заново    continue
#define    иначе    else
#define    если    if

Но командами препроцессора нельзя переопределить сами команды препроцессора. Без этого русификация неполна.

0

16

Кто знает, что такое п-код? Нужен будет простой интерпретатор скриптового языка с русскими командами транслирующего в п-код. Чтобы можно было запускать на микроконтроллере интерпретатор и выполнять на лету без компиляции программы простейшие.
Юрий, возможно ли Ваш Си сделать интерпретатором?

0

17

P-код (P - латинская) - это вполне себе старинная технология: см. Википедию.
Английская версия этой страницы значительно подробнее: https://en.wikipedia.org/wiki/P-code_machine. К сожалению.

Юрий, возможно ли Ваш Си сделать интерпретатором?

Мой русификатор - это и не компилятор, и не интерпретатор. Хотеть от него много невозможно. Утилита делает транслитерацию с некоторыми "плюшками", не дотягивающими до компилятора.
Если нужен интерпретатор Си, мог бы посоветовать Tiny C Compiler, который мне нравится и который использую для написания своей утилиты. Вот цитата из Википедии о нём:

От других распространённых компиляторов TCC отличается прежде всего тем, что может исполнять скомпилированную им программу, то есть выполнять функцию интерпретатора. Данное свойство позволяет использовать язык Си в качестве скриптового языка. Например, для того, чтобы запустить программу на Си в качестве скрипта в оболочке Linux, достаточно вставить в начало текста программы строку:

#!/usr/local/bin/tcc -run

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

Правда, сам не пробовал это.

У меня тоже вопрос к Вам. Нет ли возможности предоставить удалённый доступ к какой-нибудь машине с Linux, чтобы опробовать работы своей утилиты под Linux?

0

18

Юрий написал(а):

У меня тоже вопрос к Вам. Нет ли возможности предоставить удалённый доступ к какой-нибудь машине с Linux, чтобы опробовать работы своей утилиты под Linux?

Можно, но только в рабочее время.

0

19

... И где результаты?? можно их выложить на гитхаб или Яндекс.Диск ?

0

20

Нет их. А Вам их хотелось бы?

0

21

в  смысле нет ?? Я думал на выхлопе будет хотя бы заголовочный файл РусификацияСи.h
заполненный операторами

#defint да true
#defint нет false
#defint правда true
#defint ложь false

Вот создал проект. Дополняйте.

--

Если хотите чтото своё задавайте страницу

-- (например)

Отредактировано repa (17.01.2016 02:27:01)

0

22

Выше шла речь об изготовлении версии этой утилиты под Linux. По этому и шла речь об удалённом доступе. А под Windows она работает. Вы хотите, чтоб её исходники были на гитхабе или тхаб.рф? Да я не против, в принципе. Мне только надо причесать код, чтоб не стыдно было. Да ещё одну ошибочку нашёл при работе с литералами в DOS-кодировке.

0

23

Кстати,

#define да true

писать не придётся. Все замены - через словарь. Так лучше.

Отредактировано Юрий (17.01.2016 14:45:19)

0

24

Обнаружил на просторах Интернета «конкурирующую» утилиту:

Native to ANSI Preprocessor for C/C++

Препроцессор для языка C/C++ с национальных языков. Принимает на вход файл с идентификаторами, зарезервированными словами на национальном языке и переводит его в верный код ANSI C/C++ на английском. Файл определения (.def) содержит словарь для выполнения перевода. Этот файл вы можете создать для любого языка используя Блокнот (notepad) для WindowsNT/Windows2000 Файл определения для русского языка прилагается. Пример перевода: исходный файл: #включить "stdafx.h" #включить целое main(целое арг_кол, символ* аргументы[]) { для(целое и = 0; и int main(int arg_kol, char* argumentw[]) { for(int i = 0; i < 10; i++) { double a = double(i * 156) / 247.4345; a = a * 150; cout << a << endl; } cout << "Приветик!"; return 0; }

Автор программы: Mickels lab (mickels@iwt.ru)

Её даже можно скачать. Сайт iwt.ru принадлежит компании из Махачкалы, вероятно и автор оттуда же.

0

25

Думал я думал, и наконец надумал выложить тексты своей утилиты на всеобщее растерзание. Пусть все делают с ней, что хотят. Денег я на этом всё равно не заработаю. Не то, чтобы я равнодушен к деньгам. Просто деньги ко мне равнодушны.

Хотел бы посоветоваться: какую лицензию для этого выбрать? А то я в этом не специалист. MIT, BSD, или какую-то ещё? Или есть отечественные лицензии? Посоветуйте что-нибудь.

0

26

Лицензия по русски это разрешение. Разрешение придумывает владелец исключительных авторских прав. В данном случае, так как программу вы разрабатывали для себя и не связаны другими обязательствами. То  как автор программы вы имеете исключительное право на эту программу.
Что хотите то и придумываете. Лицензия это разновидность договора. В России признаются только письменная форма договора. А также для ЮР лица ещё возможна через цифровую подпись.
Есть ещё GNU которая в русском законодательстве признается как общественная лицензия. Но честно доказать или признать её юридическую силу не представляется возможным. Так что только регистрация в патентном отделении.
А вот в Америке существует прецедентное право. Там проще сослаться если лицензия уже на что-то похожа. Поэтому они цепляются за существующие лицензии.

GNU - это вирусная лицензия которая требует писать код в исходных кодах. Если кто-то захочет воспользоваться каким либо файлом с GNU то ему придётся открыть свой проект под GNU. Исключение в GNU 3 для Dll(и подобных) библиотек. 
BSD - По сути даётся разрешение на посмотреть. Разрешают использовать в своих проектах до тех пор пока вы не будете зарабатывать. Как только будут заработки то обращайтесь к автору.
MIT -  уже не помню. Но честно мне не понравилось. На любое использование требуется разрешение автора. Прочитать ты можешь, но запоминать анализировать право не имеешь.
Для ученых которые написали статью это защиты своих статей от копирования. И это полезно их авторам что-бы не могли позорить их. Но с другой стороны ты не можешь доказать, что автор сделал гавно.

Я бы под BSD открывал. Обычно авторы устанавливают дополнительные ограничения, вернее устанавливают величину порога.  Типа бесплатно до тех пор пока ваш код не будет приносить прибыль больше 1000 долларов в месяц.
А также обычное дело выпуск кода под двойной лицензией.  BSD+GNU

Отредактировано Павиа (27.01.2016 18:29:09)

0

27

У GNU, BSD насколько помню идет прямая отсылка к законодательству Америке. Так что стоит ли использовать ихнюю лицензию или нет стоит подумать.

0

28

Я тоже пытаюсь выработать набор ключевых слов, только для Лиспа, где их гораздо больше.

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

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

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

Третье, что я ещё не успел прописать - есть известные русскоязычные языки, с которыми знакомы десятки-сотни тысяч людей
- это "алгоритмический язык" из школьной программы, он же Кумир, и язык 1С.

Эти языки определили некоторые де-факто стандарты. Неплохо бы постараться их не ломать.

Например, try в 1С называется "попытка", см. http://www.mista.ru/tutor_1c/lang_syntax.htm
Также там есть "продолжить" - continue и "прервать" - break, что довольно логично.

Вообще, я бы разделил процесс создания наименований на две части:
1. Перевод термина без сокращения
2. Сокращение термина.

Причём п.2. можно начинать не раньше, чем полностью готов несокращённый перевод абсолютно всех ключевых слов, в противном случае можно получить конфликтующие наборы ключевых слов.

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

Есть ещё "public domain", "общественное достояние" - делай что хочешь.

А вообще это сложная тема, я лично ещё не освоил. Особенно с учётом, что Россия - не Америка и у нас другие законы. Поэтому я пишу пока просто Copyright(C) Денис Будяк.

Отредактировано budden (28.01.2016 01:18:41)

0

29

Не понял, почему не дают вставить ссылку на мой проект. Передаю по буквам.
bitbucket точка org слеш budden слеш эль латинское два (l2)
и дальше смотрим на главной странице ссылки на документы про ключевые слова.

Отредактировано budden (28.01.2016 01:17:09)

0

30

Есть ещё "public domain", "общественное достояние" - делай что хочешь.

Оно то есть, но не работает. Нужны доказательства. Т.е вначале вы должны где-то опубликоваться что-бы подтвердить авторство, а затем опубликовать что это общественное достояние.

Неизвестные авторы искали тех на кого можно сослаться сказать что этот алгоритм является общественным достоянием.

От сюда к примеру такие алгоритмы как:
алгоритм Евклида,
Алгоритм Гаусса.

В Америке по проще. Если автор мертв значит общественное достояние. Или патент закончился значит свободно.
У нас есть право наследования. Поэтому общественным достоянием становятся только после 70 лет со дня смерти автора!
Если учесть, что автор к примеру написал алгоритм в 70-тых годах. Когда было достаточно массовое развитие. И умер в 90-2000. То свободным он будет через 70 лет.

Кстати Зелезняк против того, что он не получает доходов от своих трудов.
В Японии к примеру для создания первого шрифта фирме пришлось создать свою библиотеку. Только потому что библиотеки были общественными, а книги в них частными.

budden написал(а):

Третье, что я ещё не успел прописать - есть известные русскоязычные языки, с которыми знакомы десятки-сотни тысяч людей - это "алгоритмический язык" из школьной программы, он же Кумир, и язык 1С.

Лучше не стоит. В большинстве случаев авторы взяли словарь и скопировали слова не проводя исследований, не понимая их сути.

К примеру, "парсер состоит из лексического анализатора и грамматического". Ведь ничего не понятно, а стоит перевести так "разборщик состоит из тестореза и распределителя слов", то всё уже становиться понятным.

budden написал(а):

Также там есть "продолжить" - continue и "прервать" - break, что довольно логично.

continue не продолжает. А переходит к следующему кругу. Так что я бы перевел как следующий или далее.

Есть корни есть приставки ими надо грамотно распоряжаться при переводе.

Как правило слова имеют несколько десятков смыслов, а обыватели которые и переводили зачастую владеют только одним.
packed
- упакованный(калька).
- сжатый
Я бы перевёл как:
- впритирку
Как по мне это слово лучше передаёт смысл. Только боюсь что все уже привыкли к слову сжатый, а слово впритирку настолько позабыли, что его никто кроме меня и не поймёт.

Эти языки определили некоторые де-факто стандарты. Неплохо бы постараться их не ломать.

Дурной пример заразителен. Думаю ломать надо. А вернее надо брать всё самое лучшее. Глагол к примеру мне нравиться как язык. Все служебные слова хорошо продуманны. Разве что есть пару минусов. Как то потеря окончаний. Что привело к потере понимания существительное, глагол или наречие перед нами. Отсюда люди просто не будут знать как их произносить. А значит не с могут правильно думать.

0

31

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

Отредактировано budden (28.01.2016 13:29:32)

0

32

Также там есть "продолжить" - continue и "прервать" - break, что довольно логично.

«Заново» - лучше, чем «продолжить». «Выйти» лучше, чем «прервать». Но это на мой взгляд. Ваша идея уменьшить длину слов за счёт выкидывания гласных заслуживает внимания. Но в русском языке нет культуры таких сокращений. Соответственно, нет и стандартов. А без этого – трудно придерживаться одинаковых обозначений для одинаковых предметов.

Видимо, в этой ситуации нужно кооперироваться с тем, с кем вкусы совпадают

И ещё очень чего много совпадает, кроме вкусов.
Лицензия BSD, как мне кажется, лучше подходит к «делай, что хочешь». Поэтому МакОсь основывается на FreeBSD.

0

33

budden написал(а):

Также там есть "продолжить" - continue и "прервать" - break, что довольно логично.


Продолжить — очень нелогично. Продолжить что? Выполнение цикла? Так ведь это понимается сходу как продолжение выполнения текущего прохода.
Неискушённому человеку на ум сходу не придёт, что текущий проход как раз будет пропущен, а не продолжен.
Лучше всего вместо этого тупого дословного перевода английского слова «continue» использовать слово «пропустить», что гораздо проще понять, как пропуск оставшихся указаний текущего прохода.

0

34

> Продолжить — очень нелогично. Продолжить что? Выполнение цикла? Так ведь это понимается сходу как продолжение выполнения текущего прохода.
Да, продолжить выполнение цикла. Может и нелогично вообще, но логично для тех, кто уже знает другие языки.

0

35

budden написал(а):

> Продолжить — очень нелогично. Продолжить что? Выполнение цикла? Так ведь это понимается сходу как продолжение выполнения текущего прохода.
Да, продолжить выполнение цикла. Может и нелогично вообще, но логично для тех, кто уже знает другие языки.

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

0

36

Ну вот, я готов выложить свою утилиту в исходниках. Хотя это в какой-то мере противоречит ранее высказанным мыслям («Бесплатный софт в мышеловке»), но есть отмазка – это для людей нашего круга. Это вообще кому-то нужно? Сама утилита была скачана 366 раз с того момента, как поставил счётчик. Но вот исходники – они нужны кому-то? У меня их просили единственный раз – для русификации языка D. И всё…

0

37

Павиа написал(а):

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

Нет, так мы точно не сработаемся ;)

0

38

Павиа написал(а):

В русском продолжить, это продолжить исполнение

Исполнение как правило продолжается в любой логической конструкции. Есть исключения типа halt (остановить выполнение программы), но это нужно в коде исключительно редко. Когда мы говорим "продолжить" или "прервать", контекст всегда неоднозначен, поскольку есть множество вложенных исполняющихся операций (функция, внутри неё другая функция, внутри неё цикл, внутри неё итерация цикла). Неоднозначность неизбежна, можно лишь принять соглашение на тему её разрешения.

0

39

Исполнение как правило продолжается в любой логической конструкции. Есть исключения типа halt (остановить выполнение программы), но это нужно в коде исключительно редко. Когда мы говорим "продолжить" или "прервать", контекст всегда неоднозначен, поскольку есть множество вложенных исполняющихся операций (функция, внутри неё другая функция, внутри неё цикл, внутри неё итерация цикла). Неоднозначность неизбежна, можно лишь принять соглашение на тему её разрешения.

Контекст по-русски окружение. Так вот психология такая, что человек смотрит в центр и ищет рядом с ним.
Но речь не о окружении. Речь о семантике, о смысле которое несёт слово. У слова есть обще известное толкование.
Не все же знают Паскаль. Но зато все знают Русский язык. И если они будут читать программу на кириллице, то они и будут думать на Русском языке.

https://ru.wiktionary.org/wiki/продолжить

1) повести начатое дальше, не останавливаясь, не прекращая
2) высказать, развить дальше свою мысль, слова
3) сделать более длительным по времени; продлить, увеличить
4) делать длинным, более длинным; удлинить


Так вот к какому смыслу относится ваше? 
Что делает continue?
Он прекращает работу и идёт на новый круг.
Что противоречит 1 пункту.
Вопрос время увеличивается? Ответ нет. Время работы сокращается.
Значит и не 3 пункт.
Ко 2 и 4 пунктами наш случай просто не относится. Нет развития слов и нет ни какого предмета который бы мог удлиниться.

Так что, я поддержу Сергея с его вариантом "пропустить"

Отредактировано Павиа (07.02.2016 20:00:27)

0

40

Господа и просто товарищи! Я тут намедни задал вопрос «а нужны ли кому-то исходники русификатора» и начал честно ждать ответа. Но куда там... Вопрос утонул в рассуждениях как строить мост – вдоль речки или поперёк речки правильно – «продолжить» или «пропустить».

Между тем, вопрос про ключевые слова совершенно не актуален. В русификаторе, которому посвящена эта ветка, он решён. И торг здесь не уместен. Словам «continue» и «break» соответствуют «заново» и «выйти». Вы этим недовольны? Тогда правьте словарь, который приложен к этой программе – и проблема для русификатора (которому посвящена эта ветка!) исчерпана.

Ежели господа хорошие желают обсуждать эти ключевые слова для языка, который делает Денис, то ласково просимо в эту ветку. Ежели этот насущный вопрос не касается конкретного языка, а носит всеобщий характер, то есть ветки про словесность, а можно просто «за жизнь» поговорить.

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

Отредактировано Юрий (08.02.2016 13:00:50)

0

41

Юрий
Если в вашем коде есть наработки склонения слов, то я бы не отказался бы на них взглянуть.

0

42

Все слова в словаре, который приведен в начале темы, не склоняются и не спрягаются. Соответственно, наработок нет. И не будет, потому что привносить в язык программирования сложность и неоднозначность русского языка - это самоубийство для такого языка. Потому что на разработку уйдёт не один десяток лет. Может, с точки зрения соответствия русскому он будет хорош, но с точки зрения соответствия передовым идеям в программировании он будет ничтожен. Вам же не интересно сейчас программировать на Фортране образца средины 1950-х годов, пусть и на русском Фортране?

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

0

43

Извините. Мне такая утилита без надобности. Отмечу лишь, что без русификации сообщений компилятора проку от неё будет немного.

0

44

Да, компилятор сообщает об ошибках по-английски. А русификатор вообще ничего не сообщает: если встречена ошибка, он просто без изменений переписывает входные символы в выходной файл - с ошибками пусть компилятор разбирается.

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

0

45

Павиа написал(а):

Оно то есть, но не работает. Нужны доказательства. Т.е вначале вы должны где-то опубликоваться что-бы подтвердить авторство, а затем опубликовать что это общественное достояние.


Вроде бы можно получить авторское свидетельство на своё произведение, в данном случае на программу для ЭВМ, в каком-то федеральном ведомстве.
А затем уже можно распространять своё произведения, как того захочешь, а доказывать свои исключительные права этим свидетельством.

Павиа написал(а):

Лучше не стоит. В большинстве случаев авторы взяли словарь и скопировали слова не проводя исследований, не понимая их сути.
К примеру, "парсер состоит из лексического анализатора и грамматического". Ведь ничего не понятно, а стоит перевести так "разборщик состоит из тестореза и распределителя слов", то всё уже становиться понятным.


Согласен с вами.

Павиа написал(а):

Дурной пример заразителен. Думаю ломать надо. А вернее надо брать всё самое лучшее. Глагол к примеру мне нравиться как язык. Все служебные слова хорошо продуманны. Разве что есть пару минусов. Как то потеря окончаний. Что привело к потере понимания существительное, глагол или наречие перед нами. Отсюда люди просто не будут знать как их произносить. А значит не с могут правильно думать.


Расскажите, пожалуйста, поподробнее про недостатки — с вашей точки зрения, — Глагола.

0

46

Склонение слов допустимо не в любом месте языка, а в каких-то определённых языковых построениях, где это склонение естественно читающим ожидается.
Уверен, что в таких местах нужна будет поддержка лишь одного падежа. Скорее всего, родительного. И мест таких будет всего несколько.
Такая ограниченная поддержка склонения названий, с одной стороны, не сделает язык запутанным и сложным, сохранит его математическую строгость («формализованность»), а с другой стороны, наоборот, сделает писание на нём привычным и удобочитаемым.

0

47

Расскажите, пожалуйста, поподробнее про недостатки — с вашей точки зрения, — Глагола.

Только, пожалуйста, в соответствующей ветке.

0



форум на 24bb Создать форум бесплатно