OOP vs. prozedurale Programmierung - Seite 29

 
Dmitiry Ananiev:

Schauen Sie sich die Aufträge auf dem Freiberuflermarkt an. Es gibt kaum einen Auftrag, der nicht innerhalb eines Tages erledigt werden kann. Es wird mehr Zeit darauf verwendet, sich auf die Aufgabenstellung zu einigen, die Fragen des Kunden zu beantworten, sie auf den Kopf zu stellen und den Auftrag anzunehmen/auszuführen. Natürlich ist es schön, das gleiche Tetris in MQL5 schreiben zu können. Aber diese Sprache ist für etwas anderes gedacht.
Der auf vorgefertigten Strategien basierende Expert Advisor Wizard ist ein Beispiel für die Verwendung von OOP. Ich habe es einmal versucht und es verstanden. Aber jetzt weiß ich nicht mehr, wie das alles funktioniert.
Der verfahrensorientierte Stil beschreibt alles klar und deutlich. Raten Sie mal, wann ich komplett auf OOP umsteigen werde?

Ein anderes Beispiel: Sie haben ein Bild, das Sie beschriften möchten. Werden Sie einfach Paint verwenden oder Photoshop mit Hunderten von Plug-ins bestücken? Ja, solange du Photoshop herunterlädst, werde ich alles in Paint machen und diese Aufgabe vergessen.



Persönlich werde ich nur MT5 verwenden, wenn auch nur für seine Geschwindigkeit. Für die Entwicklung verwende ich MT4, weil es einfacher ist, zu sehen, wann und wo ein Programm langsamer wird. OOP oder nicht, MT5 ist immer noch viel cooler.
 
Реter Konow:
Nun, ich persönlich werde nur mit MT5 arbeiten, zumindest wegen seiner Geschwindigkeit. Für die Entwicklung verwende ich MT4, weil es einfacher ist, zu sehen, wann und worauf das Programm verzögert. OOP oder nicht, MT5 ist immer noch viel cooler.
Klingt wie: Ich habe einen Cruzak und meine Frau hat einen Smart. Der Cruzak ist ein Ding. Deshalb nehme ich den Smart, um tagsüber Lebensmittel einzukaufen und abends ein Bier zu trinken. Weil er leichter zu parken ist, nicht viel Benzin verbraucht und kaum Reparaturen benötigt.
 
Реter Konow:

Sie scherzen, aber in meiner Vorstellung habe ich eine solche Einstellung zu diesem Ansatz, dass ich nicht darüber hinwegkomme. Es scheint, dass ich mit der Zeit einen Selbstverbesserungsmechanismus für das System in Gang setzen kann. Wenn ich einen logischen Kernel erstelle und ihn nach dem Zufallsprinzip verschiedene Mechanismen erzeugen lasse. Dann müssen Sie nur noch auswählen und die richtigen auswählen. Dann schleifen Sie sie ein wenig aus... Dank des Kernels können unglaubliche Dinge getan werden.


Tut mir leid, Peter :) aber es ist einfacher, oder besser gesagt bequemer, es mit Klassen zu tun.

 
Dmitiry Ananiev:
Klingt wie: Ich habe einen Cruzak und meine Frau hat einen Smart. Der Cruzak ist ein Ding. Deshalb fahre ich mit dem Smart, um tagsüber einzukaufen und abends ein Bier zu trinken. Weil es einfacher zu parken ist, nicht viel Benzin verbraucht und nicht viel repariert werden muss.

Witzig. Aber für mich ist der wirkliche Vorteil im Moment die Langsamkeit von MT4. Bis ich es fertig entwickelt habe. Ich kann einfach besser sehen, wenn es langsam ist... Das ist kein Scherz.

Dann brauche ich es nicht mehr, verdammt noch mal.)

 
Dmitiry Ananiev:

Schauen Sie sich freiberufliche Aufträge an. Selten kann ein Auftrag an einem Tag realisiert werden. Mehr Zeit wird darauf verwendet, die Aufgabenstellung zu vereinbaren, die Fragen des Kunden zu beantworten, sich einzumischen und die Arbeit anzunehmen/abzuliefern.

...
Der prozedurale Stil macht alles klar. Raten Sie mal, wann ich komplett auf OOP umsteigen werde?

Ein anderes Beispiel: Sie haben ein Bild, das mit einer Bildunterschrift versehen werden muss. Ein einfaches Paint oder Photoshop mit hunderten von Plugins verwenden? Bis Sie Photoshop heruntergeladen haben, werde ich alles zum fünften Mal in Paint gemacht haben und diese Aufgabe vergessen haben.

Wenn Sie keinen Wegwerfcode schreiben würden - dann wäre die Verwendung von OOP wirklich gerechtfertigt. Ich verwende zum Beispiel OOP, weil es mir zu teuer ist, Fehler in bereits veröffentlichten Produkten zu finden.
 
Nikolai Semko:

Tut mir leid, Pjotr :) aber es ist einfacher, oder besser gesagt bequemer, es mit Klassen zu tun.

Wie gesagt, "jedem das Seine"). Ich bin kreativ, also komme ich auf solche Ideen). Was ist daran falsch?

 

Wie ist es zu erklären, dass viele Makler die Plattform MQL4 als populär bezeichnen, diesen Beinamen aber nicht auf MQL5 anwenden?

Der Unterschied liegt natürlich in der OOP, die viel schwieriger zu beherrschen ist, und folglich auch in der Fehlersuche und Unterstützung des geschriebenen Codes.

Für professionelle Programmierer ist diese Anforderung nicht kritisch, im Gegenteil, sie profitieren aus vielen Gründen von "je komplizierter, desto besser", da Programmierer in der Regel nach Stunden bezahlt werden, und mit einem komplexen Code kann man einfach mehr pro Stunde verdienen. Außerdem wird es dadurch für andere Programmierer schwieriger, den Code zu entziffern und zu verstehen, was die Abhängigkeit des Arbeitgebers von diesem Programmierer erhöht usw.

Es liegt auch auf der Hand, dass diese Regel für Handelszwecke, bei denen die Bezahlung oder die eigene Zeit in der Regel projektbezogen und nicht stundenweise erfolgt, nicht funktioniert.

 
Vasiliy Sokolov:
Wenn Sie nicht nur einmaligen Code schreiben würden, wäre OOP wirklich gerechtfertigt. Ich verwende zum Beispiel OOP, weil es mir zu teuer ist, Fehler in bereits veröffentlichten Produkten zu finden.

Ich bin absolut einverstanden. Dies ist der Hauptvorteil von OOP.

 
Andrei:

..

Der Unterschied liegt natürlich in der OOP, die viel schwieriger zu beherrschen ist, und folglich auch in der Fehlersuche und Unterstützung des geschriebenen Codes.

Für professionelle Programmierer ist diese Anforderung nicht entscheidend, im Gegenteil, für sie ist es aus vielen Gründen profitabler, "je komplexer, desto besser" zu sein, da Programmierer in der Regel nach Stunden bezahlt werden und man mit komplexem Code mehr pro Stunde verdienen kann. Außerdem wird es für andere Programmierer schwierig, den Code zu entziffern und zu verstehen, was die Abhängigkeit des Arbeitgebers von diesem Programmierer erhöht usw.

...

Du liegst wirklich falsch. Der Arbeitgeber ist nicht der Idiot, als den Sie ihn darzustellen versuchen. Niemand wird mehr bezahlen, schon gar nicht für einen verworrenen Code. Jeder möchte Geld sparen - ein Projekt schnell umsetzen, ein Minimum an Arbeitsstunden aufwenden und gleichzeitig ein funktionierendes System erhalten, das nicht neu geschrieben und geändert werden muss. Deshalb verlangen sie genau dieses OOP zu wissen.
 
Andrei:

Wie ist es zu erklären, dass viele Makler die Plattform MQL4 als populär bezeichnen, aber diesen Beinamen nicht auf MQL5 anwenden?

Der Unterschied liegt natürlich in der OOP, die viel schwieriger zu beherrschen ist, und folglich auch in der Fehlersuche und Wartung des geschriebenen Codes.


Aber in MQL5 können Sie auch prozedural programmieren. Dies ist nicht C#. Was ist mit der Tatsache, dass es weniger populär ist - die Zeit fließt und die Welt verändert sich... Aber die Plattform hat eine Menge Vorteile, die MT4 nicht hat. Sind diese Vorteile nicht bedeutungslos?
Grund der Beschwerde: