Writing code in Russian. Pros and cons of such a programme. - page 9

 

I remember programming back in school in Russian. We were writing simple algorithms back then...

It's a cool topic, but pointless for the vast majority of coders, imho.

Those who know how to code are unlikely to retrain in Russian. In short, art for art's sake is not art.

I think Roche will ban this topic to you for an article.

 
Few people think about it, but to some extent it leads to Americanisation and a weakening of their national interests.
 

You're right - the subject is pointless.

There is no difference in essence. You can use defines to redefine most of the constructions so that they are in Russian.

But what is the point?

Usually the English text disturbs the reader when it has a lot of unfamiliar words and constructions. In programming, a very limited number of these elements, so everything is very quickly remembered, and then - no longer disturbing.

Indeed, in 1C - all in Russian, and also works without problems. Although, it looks, in my opinion, not very familiar.

 
pavlick_:

Exactly. The entry threshold for non-English speakers is much higher. I learned English myself from all kinds of reference books and documentation. Spent a lot of time in the early stages to understand the material. I think it is necessary to have "Cyrillic C++" (not only writing operators, but also documentation), and then it will get "meat" and community. There are, after all, a bunch of languages, why shouldn't some be Russian? Just teach children, just read the documentation, the number of native programmers (and their level) will increase many times over. Give a beginner Russian-speaking programmer something likehttp://en.cppreference.com/w/cpp/atomic/memory_order and all his desire to code will disappear.

In the meantime, it turns out that it is easier for them to deal with high technology and for us to grow vegetables.

I propose people who like (or will like in the future) to program in their native language, unite into their small community, to create common standards of Russian programming terminology, so we can freely share the open source code among themselves. And to switch to a different approach in the future. I already have a proposal on this subject. I will write an article and publish it or post it on the forum.

I invite all the skeptics to compete with me. You write a program using English and OOP, while I use Russian and my approach. The program that is more concise, clear and simple, and at the same time fully performs the task will be recognized as the best.

 
Реter Konow:

I suggest all the skeptics to compete with me. You write a program using English and the OOP, while I use Russian and my approach. The program which is more concise, clear and simple, and at the same time fully performs the task will be recognized as the best.

No, it isn't. ONE program is written. And then - all Russian identifiers - replace them with English ones. (Comments - leave them in Russian).

And we see that its comprehensibility has not changed at all.

 

The better

пук(дро ё=0; ё<10; ё++)
{
   уц (ё>5)

     выходиз_цыкла;
} 

than

for(int i=0; i<10; i++)
{
   if (i>5)
     continue; 
} 

?

In Russian it is either longer or uglier.

It is easier for non-English speaking programmers to write with English operators, because they do not have a semantic meaning and are just a symbol for a particular action.

That is, they are just symbols, not words. If one uses Cyrillic letters for the abbreviated names of operators that do not carry any lexical meaning, one still needs to memorize them when learning the language, which is no different from classical programming languages.

Someone just started writing code in English characters earlier than people in other languages, there are more programmers, that's how it is.

I just use russian comments for all variables whenever possible, and names of variables are composed of not more than 3 meaningful words. I think this is optimal for code understanding. I know some programmers who often use single-letter variable names, and do not bother writing comments, and do not have any trouble reading their code (or someone else's), even after many years. It confirms my words about the symbolic representation of the code without lexical sense, it just takes habit and training, it's like ability to read a whole word instead of alphabetically or syllabically. But I repeat my way seems to be the most optimal, it's easier to read my code and other coders read my code without too much trouble.

That is, code readability is better ensured through the stylistic uniformity than through long variable names or numerous loops written in one line.

 
George Merts:

No, it isn't. ONE program is written. And then - all Russian identifiers - replace them with English ones. (Comments - leave them in Russian).

And we see that its readability - has not changed.

You can do it this way, but why? Is it impossible to say it all at once in Russian?
 
Vladimir Zubov:
Knowledge of foreign languages enriches a person in the spiritual plan and not only, but also pushes the boundaries and opens up new horizons.

Except that for some reason they do not force any of their children to learn a foreign language, Russian, Chinese, etc.. And for some reason for us to know their language opens up something....

You can, of course, learn English, but only to be able to interrogate prisoners without an interpreter)))). We started to learn German after...

 
Andrey Dik:

The better

than

?

In Russian it is either longer or uglier.

It is easier for non-English speaking programmers to write with English operators, because they are not meaningful and are just symbols for a specific action.

That is, they are just symbols, not words. If one uses Cyrillic letters for the abbreviated names of operators that do not carry any lexical meaning, one still needs to memorize them when learning the language, which is no different from classical programming languages.

Someone just started writing code in English characters earlier than people in other languages, there are more programmers, that's how it is.

I just use russian comments for all variables whenever possible, and names of variables are composed of not more than 3 meaningful words. I think this is optimal for code understanding. I know some programmers who often use single-letter variable names, and do not bother writing comments, and do not have any trouble reading their code (or someone else's), even after many years. It confirms my words about the symbolic representation of the code without lexical sense, it just takes habit and training, it's like ability to read a whole word instead of alphabetically or syllabically. But I repeat my way seems to be the most optimal, it's easier to read my code and other coders read my code without too much trouble.

That is, greater code readability is ensured due to the stylistic uniformity rather than long variable names or a lot of loops written in one line.

This is better, for instance:

 for(int Позиция = Исходная_позиция; Позиция < 3000; Позиция += Шаг)
   {
    Номер_кнопки    = Номер_кнопки_по_позиции(Позиция);
    //------------------------------------------------
    if(G_CORE[_TASKBAR][Номер_кнопки][_OBJECT_HIDE])
      {
       //-------------------
       G_CORE[_TASKBAR][Номер_стираемой_кнопки][_X]     = G_CORE[_TASKBAR][Номер_последней_кнопки][_X];
       G_CORE[_TASKBAR][Номер_стираемой_кнопки + 1][_X] = G_CORE[_TASKBAR][Номер_последней_кнопки + 1][_X];
       G_CORE[_TASKBAR][Номер_стираемой_кнопки + 2][_X] = G_CORE[_TASKBAR][Номер_последней_кнопки + 2][_X];
       G_CORE[_TASKBAR][Номер_стираемой_кнопки + 3][_X] = G_CORE[_TASKBAR][Номер_последней_кнопки + 3][_X];
       G_CORE[_TASKBAR][Номер_стираемой_кнопки + 4][_X] = G_CORE[_TASKBAR][Номер_последней_кнопки + 4][_X];
       //-------------------
       //Alert("Ротация_кнопок_таскбара  -  новая Позиция стертой кнопки   ",G_CORE[_TASKBAR][Номер_стираемой_кнопки][_X]);
       break;
      }
 
Реter Konow:

Better like this:

Starting variable names with lowercase letters makes you have to press the Shift key. I have set "List of names after 2 characters" and the first 2 characters of the variable are always capitalised. It's easier for me that way.