LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

А была и обратная статья о том, что на родном языке кодить лучше. Например, русские программисты кодируют на 30% медленнее англоязычных и это можно приписать тому, что язык неродной (или придётся признать, что мы глупее американцев :))

Вот она:

http://compiler.su/russkij-yazyk-i-programmirovanie.php

Кроме того, есть примеры использования РЯ в программировании. Русскоязычный PL/1 отвечает, к примеру, за стыковку на МКС (расчёт баллистики) и используется для обработки фотографий, вот фрагмент кода:

http://www.вече.программирование-по-русски.рф/viewtopic.php?t=61

/*
 ИЩЕТ В ТЕКУЩЕЙ ПАПКЕ ФАЙЛЫ ISS*.TXT, ИЗВЛЕКАЕТ ИЗ НИХ:
 ИМЯ ФАЙЛА NASA PHOTO ID (СТРОКА 1),
 Lens ID (СТРОКА 17),
 Focus Mode (СТРОКА 19)
*/
EXIFTXT:PROC(ПАРАМ) MAIN;

%INCLUDE 'Z:SERVICE.DCL';

ОПС ПАРАМ ТЕКСТ(*)РД;

?DO_KONEC=ДА;
РАЗОБРАТЬ_ОДИН_ФАЙЛ(ПАРАМ);

РАЗОБРАТЬ_ОДИН_ФАЙЛ:PROC(ИМЯ);

ОПИСАНИЕ
ИМЯ       CHAR(*)VAR,
(CCC,CC1) CHAR(*)VAR,
(
FILENAME,
LENSID,
FOCUSMODE
)                  CHAR(*)VAR,
(I,J)              FIXED(31),
V720               BIT,
F_EXIF             FILE;

КОГДА НЕТ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

ОТКРЫТЬ ФАЙЛ(F_EXIF) ДЛЯ_ВВОДА ТЕКСТОВЫЙ ПО_ИМЕНИ(ИМЯ);

КОГДА КОНЕЦ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

PUT SKIP;
I=0;
V720 = НЕТ;
FILENAME,
LENSID,
FOCUSMODE = '';

ЦИКЛ ПОВТОРЯЯ;
   READ FILE(F_EXIF) INTO(CCC);
   I+=1;
//   ЕСЛИ I ^= 1 & I ^= 17 & I ^= 19 ТОГДА ОПЯТЬ;
   ССС=ЗАМЕНИТЬ(CCC,' ','^I');

   J=ИСКАТЬ(CCC,':');
   ЕСЛИ J=0 ТОГДА ОПЯТЬ;

   CC1=ПОДСТРОКА(CCC,1,J);
   СС1=ОЧИСТИТЬ(CC1);

   ЕСЛИ J=ДЛИНА(ССС)
      ТОГДА ССС='';
      ИНАЧЕ CCC=ПОДСТРОКА(CCC,J+1);
   ССС=ОЧИСТИТЬ(CCC);

   ЕСЛИ I = 1  & ИСКАТЬ(СС1,'ExifToolVersion') = 1 ТОГДА
      ЕСЛИ index(ССС,'7.')=1 ТОГДА V720 = ДА;

   ЕСЛИ V720
      ТОГДА
      {;
      ПРОВЕРИТЬ(2,  'FileName ' ,FILENAME);
      ПРОВЕРИТЬ(39, 'FocusMode ',FOCUSMODE);
      ПРОВЕРИТЬ(146,'LensID '   ,LENSID);
      };
      ИНАЧЕ
      {;
      ПРОВЕРИТЬ(1,  'NASA PHOTO ID:',FILENAME);
      ПРОВЕРИТЬ(17, 'Lens ID:'      ,LENSID);
      ПРОВЕРИТЬ(19, 'Focus Mode:'   ,FOCUSMODE);
      };

КОНЕЦ;

НА_ВЫХОД:
PUT EDIT(FILENAME,';',LENSID,';',FOCUSMODE)(A);
ВОЗВРАТ;

НА_СООБЩЕНИЕ: PUT SKIP LIST(ИМЯ,I,CC1,CCC);

ПРОВЕРИТЬ:PROC(I1,ОБРАЗЕЦ,КУДА);
ОПИСАНИЕ
I1             FIXED(31),
(ОБРАЗЕЦ,КУДА) CHAR(*)VAR;
 
//ЕСЛИ I ^= I1 ТОГДА ВОЗВРАТ;
ЕСЛИ ИСКАТЬ(СС1,ОБРАЗЕЦ)=1
   ТОГДА КУДА=ССС;
//   ИНАЧЕ ИДТИ НА_СООБЩЕНИЕ;

КОНЕЦ ПРОВЕРИТЬ;
КОНЕЦ РАЗОБРАТЬ_ОДИН_ФАЙЛ;

END EXIFTXT;

На языке Графит-Флокс описаны алгоритмы работы ступеней ракет, которые нас охраняют, а 1С используется очень широко.

Притом 1С вынесли всех конкурентов, невзирая на мифические трудности программирования на родном языке. И это понятно: раз вся экосистема на русском языке, то сотрудников искать проще и платить им можно меньше, поскольку без знания языка в англоязычную контору они в любом случае не смогут пойти работать. Это касается не только программистов, но и вообще всех задействованных в процессе специалистов (техписов, аналитиков, педагогов, эникейшиков).

Исправление den73, :

А была и обратная статья о том, что на родном языке кодить лучше.

Вот она:

http://compiler.su/russkij-yazyk-i-programmirovanie.php

Кроме того, есть примеры использования РЯ в программировании. Русскоязычный PL/1 отвечает, к примеру, за стыковку на МКС (расчёт баллистики) и используется для обработки фотографий, вот фрагмент кода:

http://www.вече.программирование-по-русски.рф/viewtopic.php?t=61

/*
 ИЩЕТ В ТЕКУЩЕЙ ПАПКЕ ФАЙЛЫ ISS*.TXT, ИЗВЛЕКАЕТ ИЗ НИХ:
 ИМЯ ФАЙЛА NASA PHOTO ID (СТРОКА 1),
 Lens ID (СТРОКА 17),
 Focus Mode (СТРОКА 19)
*/
EXIFTXT:PROC(ПАРАМ) MAIN;

%INCLUDE 'Z:SERVICE.DCL';

ОПС ПАРАМ ТЕКСТ(*)РД;

?DO_KONEC=ДА;
РАЗОБРАТЬ_ОДИН_ФАЙЛ(ПАРАМ);

РАЗОБРАТЬ_ОДИН_ФАЙЛ:PROC(ИМЯ);

ОПИСАНИЕ
ИМЯ       CHAR(*)VAR,
(CCC,CC1) CHAR(*)VAR,
(
FILENAME,
LENSID,
FOCUSMODE
)                  CHAR(*)VAR,
(I,J)              FIXED(31),
V720               BIT,
F_EXIF             FILE;

КОГДА НЕТ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

ОТКРЫТЬ ФАЙЛ(F_EXIF) ДЛЯ_ВВОДА ТЕКСТОВЫЙ ПО_ИМЕНИ(ИМЯ);

КОГДА КОНЕЦ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

PUT SKIP;
I=0;
V720 = НЕТ;
FILENAME,
LENSID,
FOCUSMODE = '';

ЦИКЛ ПОВТОРЯЯ;
   READ FILE(F_EXIF) INTO(CCC);
   I+=1;
//   ЕСЛИ I ^= 1 & I ^= 17 & I ^= 19 ТОГДА ОПЯТЬ;
   ССС=ЗАМЕНИТЬ(CCC,' ','^I');

   J=ИСКАТЬ(CCC,':');
   ЕСЛИ J=0 ТОГДА ОПЯТЬ;

   CC1=ПОДСТРОКА(CCC,1,J);
   СС1=ОЧИСТИТЬ(CC1);

   ЕСЛИ J=ДЛИНА(ССС)
      ТОГДА ССС='';
      ИНАЧЕ CCC=ПОДСТРОКА(CCC,J+1);
   ССС=ОЧИСТИТЬ(CCC);

   ЕСЛИ I = 1  & ИСКАТЬ(СС1,'ExifToolVersion') = 1 ТОГДА
      ЕСЛИ index(ССС,'7.')=1 ТОГДА V720 = ДА;

   ЕСЛИ V720
      ТОГДА
      {;
      ПРОВЕРИТЬ(2,  'FileName ' ,FILENAME);
      ПРОВЕРИТЬ(39, 'FocusMode ',FOCUSMODE);
      ПРОВЕРИТЬ(146,'LensID '   ,LENSID);
      };
      ИНАЧЕ
      {;
      ПРОВЕРИТЬ(1,  'NASA PHOTO ID:',FILENAME);
      ПРОВЕРИТЬ(17, 'Lens ID:'      ,LENSID);
      ПРОВЕРИТЬ(19, 'Focus Mode:'   ,FOCUSMODE);
      };

КОНЕЦ;

НА_ВЫХОД:
PUT EDIT(FILENAME,';',LENSID,';',FOCUSMODE)(A);
ВОЗВРАТ;

НА_СООБЩЕНИЕ: PUT SKIP LIST(ИМЯ,I,CC1,CCC);

ПРОВЕРИТЬ:PROC(I1,ОБРАЗЕЦ,КУДА);
ОПИСАНИЕ
I1             FIXED(31),
(ОБРАЗЕЦ,КУДА) CHAR(*)VAR;
 
//ЕСЛИ I ^= I1 ТОГДА ВОЗВРАТ;
ЕСЛИ ИСКАТЬ(СС1,ОБРАЗЕЦ)=1
   ТОГДА КУДА=ССС;
//   ИНАЧЕ ИДТИ НА_СООБЩЕНИЕ;

КОНЕЦ ПРОВЕРИТЬ;
КОНЕЦ РАЗОБРАТЬ_ОДИН_ФАЙЛ;

END EXIFTXT;

На языке Графит-Флокс описаны алгоритмы работы ступеней ракет, которые нас охраняют, а 1С используется очень широко.

Притом 1С вынесли всех конкурентов, невзирая на мифические трудности программирования на родном языке. И это понятно: раз вся экосистема на русском языке, то сотрудников искать проще и платить им можно меньше, поскольку без знания языка в англоязычную контору они в любом случае не смогут пойти работать. Это касается не только программистов, но и вообще всех задействованных в процессе специалистов (техписов, аналитиков, педагогов, эникейшиков).

Исправление den73, :

А была и обратная статья о том, что на родном языке кодить лучше.

Вот она:

http://compiler.su/russkij-yazyk-i-programmirovanie.php

Кроме того, есть примеры использования РЯ в программировании. Русскоязычный PL/1 отвечает, к примеру, за стыковку на МКС (расчёт баллистики) и используется для обработки фотографий, вот фрагмент кода:

http://www.вече.программирование-по-русски.рф/viewtopic.php?t=61

/*
 ИЩЕТ В ТЕКУЩЕЙ ПАПКЕ ФАЙЛЫ ISS*.TXT, ИЗВЛЕКАЕТ ИЗ НИХ:
 ИМЯ ФАЙЛА NASA PHOTO ID (СТРОКА 1),
 Lens ID (СТРОКА 17),
 Focus Mode (СТРОКА 19)
*/
EXIFTXT:PROC(ПАРАМ) MAIN;

%INCLUDE 'Z:SERVICE.DCL';

ОПС ПАРАМ ТЕКСТ(*)РД;

?DO_KONEC=ДА;
РАЗОБРАТЬ_ОДИН_ФАЙЛ(ПАРАМ);

РАЗОБРАТЬ_ОДИН_ФАЙЛ:PROC(ИМЯ);

ОПИСАНИЕ
ИМЯ       CHAR(*)VAR,
(CCC,CC1) CHAR(*)VAR,
(
FILENAME,
LENSID,
FOCUSMODE
)                  CHAR(*)VAR,
(I,J)              FIXED(31),
V720               BIT,
F_EXIF             FILE;

КОГДА НЕТ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

ОТКРЫТЬ ФАЙЛ(F_EXIF) ДЛЯ_ВВОДА ТЕКСТОВЫЙ ПО_ИМЕНИ(ИМЯ);

КОГДА КОНЕЦ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

PUT SKIP;
I=0;
V720 = НЕТ;
FILENAME,
LENSID,
FOCUSMODE = '';

ЦИКЛ ПОВТОРЯЯ;
   READ FILE(F_EXIF) INTO(CCC);
   I+=1;
//   ЕСЛИ I ^= 1 & I ^= 17 & I ^= 19 ТОГДА ОПЯТЬ;
   ССС=ЗАМЕНИТЬ(CCC,' ','^I');

   J=ИСКАТЬ(CCC,':');
   ЕСЛИ J=0 ТОГДА ОПЯТЬ;

   CC1=ПОДСТРОКА(CCC,1,J);
   СС1=ОЧИСТИТЬ(CC1);

   ЕСЛИ J=ДЛИНА(ССС)
      ТОГДА ССС='';
      ИНАЧЕ CCC=ПОДСТРОКА(CCC,J+1);
   ССС=ОЧИСТИТЬ(CCC);

   ЕСЛИ I = 1  & ИСКАТЬ(СС1,'ExifToolVersion') = 1 ТОГДА
      ЕСЛИ index(ССС,'7.')=1 ТОГДА V720 = ДА;

   ЕСЛИ V720
      ТОГДА
      {;
      ПРОВЕРИТЬ(2,  'FileName ' ,FILENAME);
      ПРОВЕРИТЬ(39, 'FocusMode ',FOCUSMODE);
      ПРОВЕРИТЬ(146,'LensID '   ,LENSID);
      };
      ИНАЧЕ
      {;
      ПРОВЕРИТЬ(1,  'NASA PHOTO ID:',FILENAME);
      ПРОВЕРИТЬ(17, 'Lens ID:'      ,LENSID);
      ПРОВЕРИТЬ(19, 'Focus Mode:'   ,FOCUSMODE);
      };

КОНЕЦ;

НА_ВЫХОД:
PUT EDIT(FILENAME,';',LENSID,';',FOCUSMODE)(A);
ВОЗВРАТ;

НА_СООБЩЕНИЕ: PUT SKIP LIST(ИМЯ,I,CC1,CCC);

ПРОВЕРИТЬ:PROC(I1,ОБРАЗЕЦ,КУДА);
ОПИСАНИЕ
I1             FIXED(31),
(ОБРАЗЕЦ,КУДА) CHAR(*)VAR;
 
//ЕСЛИ I ^= I1 ТОГДА ВОЗВРАТ;
ЕСЛИ ИСКАТЬ(СС1,ОБРАЗЕЦ)=1
   ТОГДА КУДА=ССС;
//   ИНАЧЕ ИДТИ НА_СООБЩЕНИЕ;

КОНЕЦ ПРОВЕРИТЬ;
КОНЕЦ РАЗОБРАТЬ_ОДИН_ФАЙЛ;

END EXIFTXT;

На языке Графит-Флокс описаны алгоритмы работы ступеней ракет, которые нас охраняют, а 1С используется очень широко.

Притом 1С вынесли всех конкурентов, невзирая на мифические трудности программирования на родном языке.

Исходная версия den73, :

А была и обратная статья о том, что на родном языке кодить лучше.

Вот она:

http://compiler.su/russkij-yazyk-i-programmirovanie.php

Кроме того, есть примеры использования РЯ в программировании. Русскоязычный PL/1 отвечает, к примеру, за стыковку на МКС (расчёт баллистики) и используется для обработки фотографий, вот фрагмент кода:

http://www.вече.программирование-по-русски.рф/viewtopic.php?t=61 [code] /* ИЩЕТ В ТЕКУЩЕЙ ПАПКЕ ФАЙЛЫ ISS*.TXT, ИЗВЛЕКАЕТ ИЗ НИХ: ИМЯ ФАЙЛА NASA PHOTO ID (СТРОКА 1), Lens ID (СТРОКА 17), Focus Mode (СТРОКА 19) */ EXIFTXT:PROC(ПАРАМ) MAIN;

%INCLUDE ‘Z:SERVICE.DCL’;

ОПС ПАРАМ ТЕКСТ(*)РД;

?DO_KONEC=ДА; РАЗОБРАТЬ_ОДИН_ФАЙЛ(ПАРАМ);

РАЗОБРАТЬ_ОДИН_ФАЙЛ:PROC(ИМЯ);

ОПИСАНИЕ ИМЯ CHAR()VAR, (CCC,CC1) CHAR()VAR, ( FILENAME, LENSID, FOCUSMODE ) CHAR(*)VAR, (I,J) FIXED(31), V720 BIT, F_EXIF FILE;

КОГДА НЕТ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

ОТКРЫТЬ ФАЙЛ(F_EXIF) ДЛЯ_ВВОДА ТЕКСТОВЫЙ ПО_ИМЕНИ(ИМЯ);

КОГДА КОНЕЦ_ФАЙЛА(F_EXIF) ИДТИ НА_ВЫХОД;

PUT SKIP; I=0; V720 = НЕТ; FILENAME, LENSID, FOCUSMODE = '';

ЦИКЛ ПОВТОРЯЯ; READ FILE(F_EXIF) INTO(CCC); I+=1; // ЕСЛИ I ^= 1 & I ^= 17 & I ^= 19 ТОГДА ОПЯТЬ; ССС=ЗАМЕНИТЬ(CCC,’ ‘,’^I’);

J=ИСКАТЬ(CCC,‘:’); ЕСЛИ J=0 ТОГДА ОПЯТЬ;

CC1=ПОДСТРОКА(CCC,1,J); СС1=ОЧИСТИТЬ(CC1);

ЕСЛИ J=ДЛИНА(ССС) ТОГДА ССС=''; ИНАЧЕ CCC=ПОДСТРОКА(CCC,J+1); ССС=ОЧИСТИТЬ(CCC);

ЕСЛИ I = 1 & ИСКАТЬ(СС1,‘ExifToolVersion’) = 1 ТОГДА ЕСЛИ index(ССС,‘7.’)=1 ТОГДА V720 = ДА;

ЕСЛИ V720 ТОГДА {; ПРОВЕРИТЬ(2, ’FileName ’ ,FILENAME); ПРОВЕРИТЬ(39, ’FocusMode ’,FOCUSMODE); ПРОВЕРИТЬ(146,’LensID ’ ,LENSID); }; ИНАЧЕ {; ПРОВЕРИТЬ(1, ‘NASA PHOTO ID:’,FILENAME); ПРОВЕРИТЬ(17, ‘Lens ID:’ ,LENSID); ПРОВЕРИТЬ(19, ‘Focus Mode:’ ,FOCUSMODE); };

КОНЕЦ;

НА_ВЫХОД: PUT EDIT(FILENAME,‘;’,LENSID,‘;’,FOCUSMODE)(A); ВОЗВРАТ;

НА_СООБЩЕНИЕ: PUT SKIP LIST(ИМЯ,I,CC1,CCC);

ПРОВЕРИТЬ:PROC(I1,ОБРАЗЕЦ,КУДА); ОПИСАНИЕ I1 FIXED(31), (ОБРАЗЕЦ,КУДА) CHAR(*)VAR;

//ЕСЛИ I ^= I1 ТОГДА ВОЗВРАТ; ЕСЛИ ИСКАТЬ(СС1,ОБРАЗЕЦ)=1 ТОГДА КУДА=ССС; // ИНАЧЕ ИДТИ НА_СООБЩЕНИЕ;

КОНЕЦ ПРОВЕРИТЬ; КОНЕЦ РАЗОБРАТЬ_ОДИН_ФАЙЛ;

END EXIFTXT; [/code]

На языке Графит-Флокс описаны алгоритмы работы ступеней ракет, которые нас охраняют, а 1С используется очень широко.

Притом 1С вынесли всех конкурентов, невзирая на мифические трудности программирования на родном языке.