Code auf Russisch schreiben. Vor- und Nachteile eines solchen Programms. - Seite 4

 
Nikolay Demko:

Kein Problem, das 47. Chromosom ist Macht.

OOP wurde von den klügsten Menschen, den Professoren, entwickelt. Sie verbrachten Jahre damit, es zu verfeinern und zu modifizieren, um es an die Bedürfnisse der Programmierer anzupassen, so dass es am bequemsten war , Programme zu schreiben.

Das OOP von MQ ist auch im Hinblick auf die Codesicherheit verfeinert.

Sie wollen Prophet einer neuen Religion werden? Kein Problem, es ist ja Ihre Zeit.

Jeder kann programmieren, wie er will. Ich wollte nur herausfinden, was mir seit langem unklar ist...
 
Alexander Antoshkin:

Wenn die Welt krumm ist, dann ist auch mein Geist krumm, aber ich sehe in diesem relativen Durcheinander keine Ideologie, keine Weltanschauung

sondern für die Arschlöcher um mich herum eine Rute, damit sie sich in ihr Schicksal fügen. )))))))

Was soll das heißen?
 

Russische Variablennamen können irgendwann zu Abrakadabra werden, und Sie können nichts dagegen tun. Auf diese Weise ist es unmöglich, herauszufinden, welche Variable welche ist. Die Verwendung von Variablennamen in kyrillischer Schrift erscheint sehr gefährlich.

Aber neulich habe ich mit Erstaunen festgestellt, dass nicht nur Eingabevariablen einen Kommentar nach der Variable haben. Wenn ich nach der Deklaration einer Variablen einen Kommentar in der russischen Muttersprache einfüge, erhalte ich bei der Eingabe dieser Variable einen Hinweis auf ihre Bedeutung.

Etwa so

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

Das ist es, was wir sehen.


Vielleicht ist es besser, das Risiko nicht einzugehen?

 
Alexey Viktorov:

Russische Variablennamen können irgendwann zu Abrakadabra werden, und Sie können nichts dagegen tun. Auf diese Weise ist es unmöglich, herauszufinden, welche Variable welche ist. Die Verwendung von Variablennamen in kyrillischer Schrift erscheint sehr gefährlich.

Aber neulich habe ich mit Erstaunen festgestellt, dass nicht nur Eingabevariablen einen Kommentar nach der Variable haben. Wenn ich nach der Deklaration einer Variablen einen Kommentar in der russischen Muttersprache einfüge, erhalte ich bei der Eingabe dieser Variable einen Hinweis auf ihre Bedeutung.

Etwa so

Das ist es, was wir sehen.


Vielleicht ist es besser, das Risiko nicht einzugehen?

Seltsam... Ich habe drei Jahre lang ausschließlich auf Russisch programmiert, und das ist nie passiert... Vielleicht eine alte Version?
 
Реter Konow:

Das Prinzip meines Ansatzes lautet wie folgt:

1. Wir indexieren Aufrufe von Softwarefunktionen. Wir unterteilen die Funktionen selbst in solche, die Ereignisse überprüfen (logische Funktionen, - Rückgabe ja/nein), prozedurale Funktionen (ausführende Funktionen) und Rechenfunktionen.

2. Erstellen eines logischen Kerns als globales dreidimensionales Array. Hier ordnen wir die Indizes der logischen Funktionen in einer bestimmten Hierarchie zu (getrennt nach der Bedeutung der Ereignisse, die sie prüfen: globale und lokale Ereignisse). Wir schaffen eine Art Perimeter für diese Ereignisse im Kernbereich.

3. Wir indizieren prozedurale und rechnerische Funktionen an den Enden von logischen Ketten.

4. Erstellen Sie eine Logik-Engine, die eine Schleife um die Perimeter-Ereignisse im Kernel mit Timer-Frequenz durchläuft und die erforderlichen Funktionen über ihre Indizes aufruft.

5. Das Programm wird nur bestimmte logische Ketten wiederherstellen oder neue erstellen.

Stellen Sie sich vor, wie dieser Code auf Ihrem Kernel aussehen wird:

#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:

Stellen Sie sich vor, wie dieser Code auf Ihrem Kernel aussehen würde:

Das ist nicht ganz richtig: Die Funktionen werden gar nicht geordnet. Sie werden nach den Indizes ihrer Aufrufe im Kernel geordnet und befinden sich in den logischen Ketten, die die Maschine durchläuft.

Beispiel: Wir schreiben alle Funktionen, die wir brauchen, und stapeln sie zusammen. Wir müssen nur ihre Anrufe organisieren. Im Kern. In logischen Ketten. Die gesamte Organisation des Programms wird nicht in Klassen erstellt, die voneinander geerbt werden, sondern in einem Array in Form von Ketten von Indizes von Aufrufen bestimmter Funktionen.

Die Funktionen selbst werden in drei Typen unterteilt: logische (Überprüfung von Konventionen), prozedurale und rechnerische Funktionen...

 
Реter Konow:
Es ist seltsam... Ich programmiere seit drei Jahren ausschließlich auf Russisch und habe noch nie so etwas erlebt... Kann es sich um eine alte Version handeln?

Ich habe einmal die Mathematiksoftware eines Freundes installiert, er hat daran gearbeitet, alles war in Ordnung, aber dann musste ich sie auf einen neuen Computer übertragen und sie ging verloren. Irgendwie war es schwierig, es zu hacken und zu installieren, indem man einige Ordner und Dateien kopiert hat. Aber eine neuere Version mit Schlüsselgenerator erschien im Internet... Alle gut eingestellt, läuft, versteht das kyrillische Alphabet, aber die Arbeit der alten Version, nicht verstehen, das kyrillische Alphabet. Da ich nichts versucht habe, hat es nicht funktioniert.

Und der zweite Grund ist, dass, wenn der Code in CodeBase oder ein Produkt auf dem Marktplatz platziert wird, der Code oder das Produkt auf anderen Websites dupliziert wird und dort Aglian vorzuziehen ist.

 
Реter Konow:

Sie haben das völlig falsch verstanden. Die Alternative zu OOP in Form eines Kernels läge nur in der Organisation des Programms. Anstatt Funktionen und Variablen in Klassen zu unterteilen, werden sie auf ihre Funktionen verteilt. Die Funktionen werden überhaupt nicht geordnet. Geordnet werden die Indizes ihrer Aufrufe im Kernel, und zwar in den logischen Ketten, denen die Maschine folgen wird.

Beispiel: Wir schreiben alle Funktionen, die wir brauchen, und stapeln sie zusammen. Wir müssen nur ihre Anrufe organisieren. Im Kern. In logischen Ketten. Die gesamte Organisation des Programms wird nicht in Klassen erstellt, die voneinander geerbt werden, sondern in Form von Ketten von Aufrufen bestimmter Funktionen.

Die Funktionen selbst werden in drei Typen unterteilt: Logische (Ereignisprüfung), prozedurale und rechnerische Funktionen...

Hatten Sie noch keine Gelegenheit, den dekompilierten Code dieser drei Jahre zu sehen?

Ich fürchte, die Indexketten werden genauso schwer zu lesen sein wie die dekompilierten Variablen.

 
Alexey Viktorov:

Ich habe einmal die Mathematiksoftware eines Freundes installiert, er hat daran gearbeitet, alles war in Ordnung, aber dann musste ich sie auf einen neuen Computer übertragen und sie ging verloren. Irgendwie war es schwierig, es zu hacken und zu installieren, indem man einige Ordner und Dateien kopiert hat. Aber eine neuere Version mit Schlüsselgenerator erschien im Internet... Alle gut eingestellt, läuft, versteht das kyrillische Alphabet, aber die Arbeit der alten Version, nicht verstehen, das kyrillische Alphabet. Da ich nichts versucht habe, hat es nicht funktioniert.

Und der zweite Grund, wenn der Code in CodeBase oder Produkt auf dem Markt platziert wird, ist der Code oder Produkt an anderen Standorten dupliziert und es ist vorzuziehen aglitskiy.

Interessanter Fall.

Was den Marktplatz betrifft, ist der Code für die Software dort nicht geschlossen?

 
Реter Konow:

Interessanter Fall.

Was den Marktplatz betrifft, so handelt es sich doch um einen geschlossenen Softwarecode, oder?

Was ist mit Ausdrucken und Ausschreibungen? Und Kommentare zu den Eingabevariablen.