Écrire du code en russe. Avantages et inconvénients d'un tel programme. - page 9

 

Je me souviens de la programmation à l'école en russe. Nous écrivions des algorithmes simples à l'époque...

C'est un sujet intéressant, mais inutile pour la grande majorité des codeurs, à mon avis.

Il est peu probable que ceux qui savent coder se recyclent en russe. En bref, l'art pour l'art n'est pas de l'art.

Je pense que Roche va vous interdire ce sujet pour un article.

 
Peu de gens y pensent, mais dans une certaine mesure, cela conduit à une américanisation et à un affaiblissement de leurs intérêts nationaux.
 

Vous avez raison - le sujet est sans intérêt.

Il n'y a pas de différence dans l'essence. Vous pouvez utiliser les définitions pour redéfinir la plupart des constructions afin qu'elles soient en russe.

Mais quel est l'intérêt ?

En général, le texte anglais perturbe le lecteur lorsqu'il comporte un grand nombre de mots et de constructions inconnus. Dans la programmation, un nombre très limité de ces éléments, donc tout est très vite mémorisé, et ensuite - plus dérangeant.

En effet, en 1C - tout est en russe, et fonctionne également sans problèmes. Bien que, à mon avis, il ne soit pas très familier.

 
pavlick_:

Exactement. Le seuil d'entrée pour les non-anglophones est beaucoup plus élevé. J'ai appris l'anglais moi-même à partir de toutes sortes de livres de référence et de documentation. J'ai passé beaucoup de temps au début pour comprendre la matière. Je pense qu'il est nécessaire d'avoir un "C++ cyrillique" (pas seulement l'écriture des opérateurs, mais aussi la documentation), et alors il aura de la "viande" et une communauté. Après tout, il existe un tas de langues, pourquoi certaines ne seraient-elles pas russes ? Il suffit d'enseigner aux enfants, de lire la documentation, le nombre de programmeurs natifs (et leur niveau) augmentera de plusieurs fois. Donnez à un programmeur russophone débutant quelque chose commehttp://en.cppreference.com/w/cpp/atomic/memory_order et toute son envie de coder disparaîtra.

En attendant, il s'avère qu'il est plus facile pour eux de s'occuper de la haute technologie et pour nous de cultiver des légumes.

Je propose que les personnes qui aiment (ou aimeront à l'avenir) programmer dans leur langue maternelle, s'unissent au sein de leur petite communauté, pour créer des normes communes de la terminologie de programmation russe, afin de pouvoir partager librement le code source ouvert entre eux. Et de passer à une approche différente à l'avenir. J'ai déjà une proposition sur ce sujet. Je vais écrire un article et le publier ou le poster sur le forum.

J'invite tous les sceptiques à concourir avec moi. Vous écrivez un programme en utilisant l'anglais et la POO, tandis que j'utilise le russe et mon approche. Le programme qui est le plus concis, le plus clair et le plus simple, tout en accomplissant pleinement la tâche, sera reconnu comme le meilleur.

 
Реter Konow:

Je propose à tous les sceptiques de concourir avec moi. Vous écrivez un programme en utilisant l'anglais et la POO, tandis que j'utilise le russe et mon approche. Le programme qui est le plus concis, le plus clair et le plus simple, tout en accomplissant pleinement la tâche, sera reconnu comme le meilleur.

Non, ça ne l'est pas. UN programme est écrit. Et ensuite - tous les identifiants russes - les remplacer par des identifiants anglais. (Commentaires - laissez-les en russe).

Et nous constatons que sa compréhensibilité n'a pas changé du tout.

 

Le meilleur

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

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

que

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

?

En russe, c'est soit plus long, soit plus moche.

Il est plus facile pour les programmeurs non anglophones d'écrire avec des opérateurs anglais, car ils n'ont pas de signification sémantique et sont juste un symbole pour une action particulière.

C'est-à-dire qu'il ne s'agit que de symboles, pas de mots. Si l'on utilise des lettres cyrilliques pour les noms abrégés des opérateurs qui n'ont pas de signification lexicale, il faut quand même les mémoriser lors de l'apprentissage du langage, ce qui n'est pas différent des langages de programmation classiques.

Quelqu'un a commencé à écrire du code en caractères anglais plus tôt que les gens dans d'autres langues, il y a plus de programmeurs, c'est comme ça.

J'utilise simplement des commentaires russes pour toutes les variables lorsque c'est possible, et les noms des variables sont composés de pas plus de 3 mots significatifs. Je pense que c'est optimal pour la compréhension du code. Je connais des programmeurs qui utilisent souvent des noms de variables en une seule lettre, sans prendre la peine d'écrire des commentaires, et qui n'ont aucun problème à lire leur code (ou celui de quelqu'un d'autre), même après de nombreuses années. Cela confirme mes propos sur la représentation symbolique du code sans sens lexical, il faut juste de l'habitude et de l'entraînement, c'est comme la capacité de lire un mot entier au lieu d'un mot alphabétique ou syllabique. Mais je le répète, ma méthode semble être la plus optimale, il est plus facile de lire mon code et les autres codeurs le lisent sans trop de problèmes.

En d'autres termes, la lisibilité du code est mieux assurée par l'uniformité stylistique que par de longs noms de variables ou de nombreuses boucles écrites sur une seule ligne.

 
George Merts:

Non, ça ne l'est pas. UN programme est écrit. Et ensuite - tous les identifiants russes - les remplacer par des identifiants anglais. (Commentaires - laissez-les en russe).

Et nous constatons que son caractère compréhensible - n'a pas changé.

Vous pouvez le faire de cette façon, mais pourquoi ? Est-il impossible de tout dire en même temps en russe ?
 
Vladimir Zubov:
La connaissance des langues étrangères enrichit une personne sur le plan spirituel et permet non seulement de repousser les limites, mais aussi d'ouvrir de nouveaux horizons.

Sauf que, pour une raison quelconque, ils ne forcent aucun de leurs enfants à apprendre une langue étrangère, le russe, le chinois, etc. Et pour une raison quelconque, le fait que nous connaissions leur langue nous ouvre quelque chose : .....

Vous pouvez, bien sûr, apprendre l'anglais, mais uniquement pour pouvoir interroger les prisonniers sans interprète)))). Nous avons commencé à apprendre l'allemand après...

 
Andrey Dik:

Le meilleur

que

?

En russe, c'est soit plus long, soit plus moche.

Il est plus facile pour les programmeurs non anglophones d'écrire avec des opérateurs anglais, car ils n'ont pas de signification sémantique et sont juste un symbole pour une action particulière.

C'est-à-dire qu'il ne s'agit que de symboles, pas de mots. Si l'on utilise des lettres cyrilliques pour les noms abrégés des opérateurs qui n'ont pas de signification lexicale, il faut quand même les mémoriser lors de l'apprentissage du langage, ce qui n'est pas différent des langages de programmation classiques.

Quelqu'un a commencé à écrire du code en caractères anglais plus tôt que les gens dans d'autres langues, il y a plus de programmeurs, c'est comme ça.

J'utilise simplement des commentaires russes pour toutes les variables lorsque c'est possible, et les noms des variables ne sont pas composés de plus de 3 mots significatifs. Je pense que c'est optimal pour la compréhension du code. Je connais des programmeurs qui utilisent souvent des noms de variables en une seule lettre, sans prendre la peine d'écrire des commentaires, et qui n'ont aucun problème à lire leur code (ou celui de quelqu'un d'autre), même après de nombreuses années. Cela confirme mes propos sur la représentation symbolique du code sans sens lexical, il faut juste de l'habitude et de l'entraînement, c'est comme la capacité de lire un mot entier au lieu d'un mot alphabétique ou syllabique. Mais je le répète, ma méthode semble être la plus optimale, il est plus facile de lire mon code et les autres codeurs le lisent sans trop de problèmes.

En d'autres termes, une plus grande lisibilité du code est assurée grâce à l'uniformité stylistique plutôt qu'à de longs noms de variables ou à un grand nombre de boucles écrites sur une seule ligne.

C'est mieux, par exemple :

 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:

C'est mieux comme ça :

Le fait de commencer les noms de variables par des lettres minuscules vous oblige à appuyer sur la touche Shift. J'ai défini "Liste des noms après 2 caractères" et les 2 premiers caractères de la variable sont toujours en majuscules. C'est plus facile pour moi de cette façon.
Raison: