Escribir código en ruso. Ventajas e inconvenientes de un programa de este tipo. - página 4

 
Nikolay Demko:

No hay problema, el cromosoma 47 es el poder.

La OOP fue creada por los más inteligentes, los profesores. Pasaron años perfeccionándolo y modificándolo para adaptarlo a las necesidades de los programadores, de modo que fuera lo más cómodo para escribir programas.

La POO de MQ también es refinada en términos de seguridad del código.

¿Quieres convertirte en profeta de una nueva religión? No hay problema, después de todo, es tu momento.

Cada uno es libre de programar como quiera. Sólo quería saber lo que no me ha quedado claro durante mucho tiempo...
 
Alexander Antoshkin:

Si el mundo está torcido, entonces mi mente está torcida, pero no veo en esta relativa confusión ni ideología, ni visión del mundo

sino a los imbéciles que me rodean, una vara, para que se resignen a su perdición. )))))))

¿De qué estás hablando?
 

Los nombres de las variables rusas pueden convertirse en abracadabra en algún momento y no hay nada que hacer al respecto. Así es imposible averiguar qué variable es cada una. El uso de nombres de variables en cirílico parece muy peligroso.

Pero el otro día me sorprendió descubrir que no sólo las variables de entrada tienen un comentario después de la variable. Si después de la declaración de una variable pongo un comentario en el idioma ruso nativo, entonces cuando escribo esta variable obtengo una pista de lo que significa.

Algo así

int ticket1 = 0; // Это тикет ордеров на покупку.

esto es lo que vemos.


¿Quizás sea mejor no arriesgarse?

 
Alexey Viktorov:

Los nombres de las variables rusas pueden convertirse en abracadabra en algún momento y no hay nada que hacer al respecto. Así es imposible averiguar qué variable es cada una. Utilizar nombres de variables en caracteres cirílicos es demasiado peligroso.

Pero el otro día me sorprendió descubrir que no sólo las variables de entrada tienen un comentario después de la variable. Si después de la declaración de una variable pongo un comentario en el idioma ruso nativo, entonces cuando escribo esta variable obtengo una pista de lo que significa.

Algo así

esto es lo que vemos.


¿Quizás sea mejor no arriesgarse?

Extraño... Estuve programando completamente en ruso durante tres años y esto nunca ocurrió... ¿Puede ser alguna construcción antigua?
 
Реter Konow:

El principio de mi enfoque es el siguiente:

1. indexamos las llamadas a las funciones de software. Dividimos las funciones propiamente dichas en aquellas que comprueban eventos (funciones lógicas, - devuelven sí/no), funciones procedimentales (funciones ejecutivas) y funciones computacionales.

2. Crear un núcleo lógico como un array global tridimensional. Aquí asignamos índices de funciones lógicas en una determinada jerarquía (separados según la importancia de los eventos que comprueban: eventos globales y locales). Creamos una especie de perímetro de estos eventos en el campo del núcleo.

3. Indexamos las funciones procedimentales y computacionales en los extremos de las cadenas lógicas.

4. Crear un motor lógico que haga un bucle alrededor de los eventos del perímetro en el núcleo con una frecuencia de temporizador y llame a las funciones necesarias a través de sus índices.

5. Reconstruir el programa sólo consistirá en reconstruir cadenas lógicas específicas o construir otras nuevas.

Imagina cómo será este código en tu núcleo:

#include <Math\Alglib\complex.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   complex a; a.re=3; a.im=2;
   complex b; b.re=1; b.im=4;

   a+=b; // тут мы складываем два комплексных числа а и b, и присваиваем результат в а

   Print("a(",a.re,":",a.im,")");
   Print("a(re:im)");
   
  }
//+------------------------------------------------------------------+
 
Nikolay Demko:

Imagina cómo sería este código en tu núcleo:

No lo has entendido bien. Las funciones no se ordenan en absoluto. Estarán ordenados por los índices de sus llamadas en el núcleo, y estarán en las cadenas lógicas que seguirá el motor.

Ejemplo: Escribimos todas las funciones que necesitamos y las apilamos. Sólo tenemos que organizar sus llamadas. En el centro. En cadenas lógicas. Toda la organización del programa se creará no en clases que se heredan unas a otras, sino en una matriz en forma de cadenas de índices de llamadas de funciones particulares.

Las funciones propiamente dichas se dividirán en tres tipos: lógicas (comprobación de convenciones), procedimentales y computacionales...

 
Реter Konow:
Es extraño... Llevo tres años programando exclusivamente en ruso y nunca he tenido nada parecido... ¿Puede ser una construcción antigua?

Una vez instalé el software de Matemáticas de un amigo, trabajó en él, todo estaba bien, pero luego tuve que moverlo a un nuevo ordenador y se perdió. De alguna manera era difícil de hackear y se instalaba copiando algunas carpetas y archivos. Pero una nueva versión con generador de claves apareció en la web... Todo el conjunto bien, se ejecuta, entiende el alfabeto cirílico, pero el trabajo de la versión antigua, no entendía el alfabeto cirílico. Como no he probado nada no ha funcionado.

Y la segunda razón es que si el código se coloca en CodeBase o un producto en el mercado, el código o producto se duplica en otros sitios y allí es preferible utilizar Aglian.

 
Реter Konow:

Lo has entendido todo mal. La alternativa a la POO en forma de núcleo sólo estaría en la organización del programa. En lugar de separar las funciones y las variables en clases, se repartirán en sus funciones. Las funciones no se ordenarán en absoluto. Lo que se ordenará serán los índices de sus llamadas en el núcleo, y estarán en las cadenas lógicas que seguirá el motor.

Ejemplo: Escribimos todas las funciones que necesitamos y las apilamos. Sólo tenemos que organizar sus llamadas. En el centro. En cadenas lógicas. Toda la organización del programa se creará no en clases que se heredan unas a otras, sino en una matriz en forma de cadenas de llamadas de funciones particulares.

Las funciones propiamente dichas se dividirán en tres tipos: lógicas (comprobación de eventos), procedimentales y computacionales...

¿No has podido ver el código descompilado de estos tres años?

Me temo que las cadenas de índices serán tan difíciles de leer como las variables descompiladas.

 
Alexey Viktorov:

Una vez instalé el software de matemáticas de un amigo, estaba trabajando en él, todo estaba bien, pero luego tuve que moverlo a un nuevo ordenador y se perdió. De alguna manera era difícil de hackear y se instalaba copiando algunas carpetas y archivos. Pero una nueva versión con generador de claves apareció en la web... Todo el conjunto bien, se ejecuta, entiende el alfabeto cirílico, pero el trabajo de la versión antigua, no entendía el alfabeto cirílico. Como no he probado nada no ha funcionado.

Y la segunda razón, si el código se coloca en CodeBase o producto en el mercado, el código o producto se duplica en otros sitios y no es preferible aglitskiy.

Un caso interesante.

Sobre el mercado, ¿el código no está cerrado para el software allí?

 
Реter Konow:

Un caso interesante.

Sobre el mercado, es un código de software cerrado, ¿no?

¿Qué pasa con las impresiones y las alertas? Y comentarios sobre las variables de entrada.