Mein Ansatz. Der Kern ist der Motor. - Seite 73

 
Maxim Kuznetsov:
vielleicht wurde er angewiesen, die Kernel-Engine zu schreiben... damit er nicht durch das Forum abgelenkt wird :-)

Die nächste Aufgabe bestand, soweit ich mich erinnere, darin, auf eine Leinwand zu schreiben.

"Ich werde auf einer Leinwand schreiben, nachdem ich auf einer Matratze gelegen habe" ))))

 
Реter Konow:

George, ich verstehe nicht - was hat mein Ansatz damit zu tun? Ich biete eine GUI-Verbindungsschnittstelle an, die mit einer leichtgewichtigen Markup-Sprache erstellt wird. Wer und warum sollte mein Konzept lernen wollen?

Alles, was ich vorschlage, ist viel einfacher als die einfachste MMS.

Das ist es nicht. Ich habe es mir angesehen, und es ist komplizierter. Das liegt daran, dass man viele Gelegenheiten auf einmal hat, bei denen man sich merken muss, was, wo, wo und wie. Und mein Gedächtnis ist viel schlechter als Ihres. Für diejenigen, die sich alles merken können, ist es also wirklich nicht kompliziert. Und für diejenigen, die sich nicht erinnern können?

Ihre Auszeichnungssprache ist nur ein Beispiel für Ihren Ansatz, wenn "alles immer verfügbar ist".

Aber noch einmal: Die Frage ist nicht, ob diese Auszeichnungssprache gut ist, ob der Ansatz gut ist, ob die Implementierung gut ist.

Die Hauptfrage sollte sein, wer es braucht, wer die Zielgruppe ist.

Ich habe es schon mehr als einmal gesagt - ich sehe es nicht. Sie haben eingewandt, dass "es so aussehen wird". Na ja... wir warten...

 
Das System kann nicht richtig funktionieren. Das weiß ich aus meinem Beruf. :) Wir danken Ihnen für Ihre Unterstützung. Jetzt werde ich auch die Aufhebung der Sperre für alle fordern. (Nur für den Fall. Nur für den Fall eines Versehens. :))
 
Georgiy Merts:

Nein, das ist es nicht. Ich habe nachgesehen - und ich sehe, dass es komplizierter ist als das. Eben weil sich viele Möglichkeiten auf einmal bieten, bei denen man sich merken muss, was, wo, wo und wie. Und mein Gedächtnis ist viel schlechter als Ihres. Für diejenigen, die sich alles merken können, ist es also wirklich nicht kompliziert. Und für diejenigen, die sich nicht erinnern können?

Ihre Auszeichnungssprache ist nur ein Beispiel für Ihren Ansatz, wenn "alles immer verfügbar ist".

Aber noch einmal: Die Frage ist nicht, ob diese Auszeichnungssprache gut ist, ob der Ansatz gut ist, ob die Umsetzung gut ist.

Die Hauptfrage sollte sein, wer es braucht, wer die Zielgruppe ist.

Ich habe es schon mehr als einmal gesagt - ich sehe es nicht. Sie haben eingewandt, dass "es so aussehen wird". Na ja... wir warten...

Vasiliy Sokolov:

Tut mir leid, Piotr, aber alles, was Sie bisher präsentiert haben, sind ein paar höllische Zeilen eines MQL-Programms mit Dutzenden von Parametern und Aufrufen von unbekannten Dingen. Wenn dies ein Prototyp Ihrer Auszeichnungssprache ist, bin ich schon erschrocken.

Nun, hier ist eine Lösung mit zwei Fenstern von gestern. Hier ist ein Beispiel für ihren Code in der Auszeichnungssprache:

(Was daran so höllisch kompliziert sein soll, erschließt sich mir ehrlich gesagt nicht).

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD,"Enter text",   

END_GROUP,
//----------------------------------
"Enter text", H_C2C,  "Edit box 1", 0,
"Enter text", ON_LEFT,"Edit box 1", -20,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2",  W_ICON,99,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX,"T_1",
             "This window's",
             "appearance controlled",
             "by user's programm.",
             END,

END_GROUP,
//----------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
"T_1",FONT_SIZE,20,
"T_1",text,N_COLOR,(int)C'255,110,10',
"T_1",text,TEXT_FONT,"Arial Bold",
"T_1",N_COLOR,(int)C'240,240,240',

//====================================================================================================================
END_WINDOW,

Natürlich ist nicht alles ohne Erklärungen klar, aber auch ohne sie kann man vieles auf einmal verstehen (wie es mir scheint...).

 

Und das Ergebnis:


 
Реter Konow:

Was daran so höllisch kompliziert sein soll, erschließt sich mir ehrlich gesagt nicht.

Ich habe nicht "verdammt viel" gesagt. Ich habe gesagt, dass man viel auswendig lernen muss.

Solange man an dem Projekt selbst arbeitet, sieht man sich die Beschreibung an, und es ist nicht so kritisch. Sie behalten alles in Ihrem Kopf. Aber jetzt, wo Sie die Schnittstelle geschaffen haben, wechseln Sie zu anderen Bereichen. Und dann, einen Monat später, müssen Sie etwas ändern. Man schlägt es auf und stellt fest, dass man nichts versteht, und muss alles noch einmal von vorne anfangen.

Es ist eine Sache, wenn die Struktur der Beschreibung selbst so beschaffen ist, dass man etwas physisch einfach nicht verwechseln kann. Denn wenn Sie etwas "falsch" machen, lässt sich das Projekt nicht kompilieren. Und es ist eine ganz andere Sache, wenn man leicht etwas durcheinander bringen kann, aber niemand hält einen auf, man geht den Code durch - "alles scheint in Ordnung zu sein", und dann wird der Fehler im unpassendsten Moment gefunden.


Aber das sind keine wirklich ernsten Probleme. Ihr Hauptproblem, Peter, ist das Zielpublikum. Es gibt keins.

 
Georgiy Merts:

....

Aber all das ist nicht wirklich ein großes Problem. Ihr Hauptproblem, Peter, ist das Zielpublikum. Es gibt keins.

Wissen Sie, George, ich hatte ein Projekt im Sinn, bei dem ich etwas Großes machen wollte. Das heißt, ich hoffte auf eine Zielgruppe aller MMS-Nutzer.

Vielleicht habe ich mich geirrt. Vielleicht brauchen es nicht so viele Menschen. Wer weiß... Das Leben wird es zeigen...))

 
Реter Konow:

Vielleicht habe ich mich geirrt. Vielleicht brauchen es nicht viele Menschen. Wer weiß... Das Leben wird es zeigen...))

Dafür gibt es die "Option B".

Wie immer kann ich meine eigene Liga als Beispiel anführen - anfangs dachte ich, sie würden sich dafür interessieren und mir bei der Optimierung helfen. Nur zwei Personen haben geantwortet. Aber ich hatte "Option B" - ich habe mir einen neuen Computer gekauft und brauche keine Hilfe mehr, weil ich die Liga in nicht geringem Maße selbst geschaffen habe - um immer einen "Pool von TSs" zu haben, die schon seit einiger Zeit an der Demo arbeiten. Und ich habe es jetzt, indem ich die Möglichkeit studiere, die besten von ihnen wirklich auszuwählen.

Genauso wie Sie es brauchen - damit das Ergebnis Ihres Projekts für Sie von Nutzen sein kann. Dann benutzen Sie es und geben vor den Teilnehmern damit an. Wenn jemand Interesse zeigt, teilen Sie mit ihm (oder verkaufen). Wenn sie nicht auftauchen, brauchen Sie sie selbst. In jedem Fall haben Sie gewonnen.

 
Реter Konow:

(Was daran so höllisch kompliziert sein soll, ist mir ehrlich gesagt nicht klar.)

//+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1",  W_ICON,98,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1", GAP,30,  BUTTON, "Button 2", 

__, CHECKBOX, "Checkbox 1",  GAP,100,  EDIT, "Edit box 1",  W,130,
__, CHECKBOX, "Checkbox 2",
__, CHECKBOX, "Checkbox 3",

END_GROUP,
//----------------------------------
i,AT,_X2X,"MF",10,  _Y2Y,"MF",10,
//----------------------------------
i,Y_GAP,20,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W,150,  H,100,   N_COLOR,(int)C'235,235,235', END,
//----------------------------------

...

Fragen Sie das wirklich, oder machen Sie nur Witze? Sie haben eine höllische Kette von Hunderten von Variablendefinitionen, die Sie als eine Art Tabelle ausgeben wollen. Die Pseudo-Tabelle selbst ist schief, unstrukturiert und enthält obskure Akronyme.

Und genau das ist es auch:

void Sync_params(int ID){for(int a1 = 0; a1 < All_params; a1++){if((int)P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){for(int a1 = 0; a1 < All_params; a1++){if(P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];if(P_CORE[a1][_SYNC_ID] != NULL)Sync_params((int)P_CORE[a1][_SYNC_ID]);EventChartCustom(0,_SYNC_P_CORE,(int)P_CORE[a1][_ELEMENT],0,P_CORE[a1][_CURRENT_VALUE]);}}}

Haben Sie sich diese Formatierung selbst ausgedacht? Gut für Sie, Sie haben alle Chancen, den ersten Platz bei ioccc.org zu belegen .

Aber Kumpel, so schreibst du nicht. ÜBERHAUPT NICHT. Niemand kann diesen Code verwenden.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov:

Aber Kumpel, so schreibst du nicht. ÜBERHAUPT NICHT. Niemand kann diesen Code verwenden.

Vasiliy, Hände weg von Peter!!!

Kommen Sie dem Mann nicht in die Quere.

Ich möchte die Zielgruppe sehen!!! Jemand wird sagen "Ich habe diese Bibliothek an meinen Expert Advisor angehängt und benutze sie"!

Grund der Beschwerde: