PLO - Seite 4

 
mrProF:

Mein Fehler - "Es gibt keine Aufgabe, die in OOP geschrieben werden kann und ohne OOP nicht geschrieben werden kann".


So habe ich es aus irgendeinem Grund verstanden.
 
Versuchen Sie, Listen, Bäume und Graphen in MQL4 zu implementieren. Dies ist nicht möglich. In MQL5 ist das leicht zu bewerkstelligen; man muss nicht einmal das Rad neu erfinden, man kann Code in С++ finden und ihn mit minimalen Nacharbeiten verwenden. Und natürlich sind die Typen, die ich als Beispiel genannt habe, besser als Klassen konzipiert. Neuronale Netze, Fuzzy-Logik und viele andere Dinge können jetzt in MQL5 implementiert werden. Es besteht jedoch kein Zweifel daran, dass jedes Werkzeug für die zu lösende Aufgabe geeignet sein sollte, und OOP sollte nur dann eingesetzt werden, wenn es notwendig ist. Das Geschrei derjenigen, die über neue Funktionen schimpfen, ist lächerlich. Wenn es Ihnen nicht gefällt, verwenden Sie es nicht, niemand zwingt Sie, es zu verwenden. Verwenden Sie die funktionale Programmierung.
 
FoxRex:
Versuchen Sie, Listen, Bäume und Graphen in MQL4 zu implementieren. Dies ist nicht möglich. In MQL5 ist es einfach zu machen, man muss das Rad nicht neu erfinden, man muss nur etwas Code in С++ finden und ihn mit minimalen Nacharbeiten verwenden. Und natürlich sind die Typen, die ich als Beispiel genannt habe, besser als Klassen konzipiert. Neuronale Netze, Fuzzy-Logik und viele andere Dinge können jetzt in MQL5 implementiert werden. Es besteht jedoch kein Zweifel daran, dass jedes Werkzeug für die zu lösende Aufgabe geeignet sein sollte, und OOP sollte nur dann eingesetzt werden, wenn es notwendig ist. Das Geschrei derjenigen, die über neue Funktionen schimpfen, ist lächerlich. Wenn es Ihnen nicht gefällt, verwenden Sie es nicht, niemand zwingt Sie, es zu verwenden. Verwenden Sie die funktionale Programmierung.

Verwechseln Sie nicht "unmöglich" und "schwierig", es gibt keine Aufgabe, die nicht durch prozedurale Programmierung gelöst werden kann und die gleichzeitig durch OOP gelöst werden kann, ich meine die endgültige Funktionalität des Programms...
Und im Allgemeinen, können Sie in Assembler schreiben, können Sie sich entspannen, dienen fertige :)

OOP basiert auf der gleichen prozeduralen Programmierung mit zusätzlicher Isolierung von Daten und Funktionen.
Es dauert zum Beispiel länger, ein Programm "Hello world!" mit OOP zu schreiben, aber es ist schneller, ein großes Projekt zu schreiben. Die Grenze zwischen der Entscheidung, OOP zu schreiben oder nicht, ist sehr fließend und hängt von der Erfahrung, dem Zweck und den Vorlieben des Programmierers ab.
Für mich persönlich ist es in den meisten Fällen bequemer, OOP zu schreiben, weil ich die "Engpässe" und "Weiten" kenne und Erfahrung in der OOP-Programmierung habe (C++, JavaScript, PHP).
Aber wenn ich ein kurzes Testskript schreibe, verwende ich kein OOP.

Ratschlag: Bevor Sie bei realen Problemen auf OOP umsteigen, sollten Sie an einfachen Beispielen üben, z. B. eine Klasse zu schreiben, die zwei Zahlen addiert, usw.
Es ist unwahrscheinlich, dass Sie in einem Buch über OOP lesen und ohne Praxis mit der Programmierung von ernsthaften Programmen in OOP beginnen können.
Man muss sich daran gewöhnen, in Begriffen der OOP denken und erkennen, was man als Klasse entwerfen muss und was nicht.

 
Listen, Bäume, Graphen, es ist nicht möglich, Zeiger in MQL4 zu haben.
 
FoxRex:
Listen, Bäume, Graphen, es ist nicht möglich, Zeiger in MQL4 zu haben.

Beachten Sie, dass es sich hierbei um eine Implementierung und nicht um ein Ergebnis handelt.
Programmieren wir für das Ergebnis (Programm) oder für die Umsetzung des Programms?
Wir können auf all diese Methoden verzichten und sie über Arrays und Wertübergabe organisieren.
Es ist kompliziert und zeitaufwendig, aber möglich.

 
mrProF:

Beachten Sie, dass es sich hierbei um eine Implementierung und nicht um ein Ergebnis handelt.
Programmieren wir für das Ergebnis (Programm) oder für die Umsetzung des Programms?
Sie können auf all diese Methoden verzichten und sie auf Arrays und Wertübergabe anordnen.
Es ist kompliziert und zeitaufwendig, aber möglich.

Diejenigen, die im Zeitalter von Windows und OOP "geboren" wurden, können DOS und C / Turbo Pascal nicht verstehen (von Asm ganz zu schweigen)...

IMHO natürlich, aber....

 
Interesting:

Diejenigen, die im Zeitalter von Windows und OOP "geboren" wurden, können nicht verstehen, was DOS und C / Turbo Pascal (ganz zu schweigen von Asm) sind...

IMHO natürlich, aber....

Für Cracker, die verstehen, was asm ist :)
Man muss zur Abwechslung mal alles ausprobieren, denn der Programmierer kann ein Problem auf mehrere Arten auf einmal lösen :)
Aber ein Programm in Asm zu debuggen ist deprimierend :)
 
mrProF:

Beachten Sie, dass es sich hierbei um die Umsetzung und nicht um das Ergebnis handelt.
Programmieren wir für das Ergebnis (das Programm) oder für die Umsetzung des Programms?
Es ist möglich, auf all diese Methoden zu verzichten und sich auf Arrays und Wertübergabe zu konzentrieren.
Es ist kompliziert und zeitaufwendig, aber möglich.

Ich stimme zu, dass wir das tatsächlich tun können, vorausgesetzt, dass das Feld dynamisch ist. Aber Sie stimmen zu, dass dies keine sehr elegante Lösung ist. Es ist einfacher, dies in Assembler zu tun. Und der OPP wurde vor Windows geboren. Und seine Ideen haben mir geholfen, in Assembler für MS/CT zu programmieren. Und mein erstes Programmierlehrbuch war Knuths dreibändiges Buch.
 
FoxRex:
Ich stimme zu, dass dies möglich ist, solange das Array dynamisch ist. Aber Sie müssen zugeben, dass das keine sehr elegante Lösung ist. In Assembler ist das leichter zu bewerkstelligen. Aber OPP wurde vor Windows geboren. Und seine Ideen haben mir geholfen, in Assembler für MS/CT zu programmieren. Und mein erstes Programmierlehrbuch war Knuths dreibändiges Buch.
Ich stimme zu.
Wenn ich so darüber nachdenke - "OOP ist praktisch" :)

Und außerdem: "Wenn Sie sich mit OOP nicht wohlfühlen, dann lassen Sie es bleiben" :)

Zwei einfache Konzepte...

 
mrProF:

OOP ist eine gute Sache für große Programme.
Wenn der Code weniger als 50 Zeilen umfasst, brauchen Sie kein OOP.
Aber wenn der Code sehr umfangreich wird, ist es fast unmöglich zu verstehen, was zu was gehört, nur durch Kommentare.
Die Wahrscheinlichkeit eines Fehlers steigt, wenn Variablen nicht wie vorgesehen gemeinsam genutzt werden; das ist ein Chaos.
In OOP können Variablen zusammen mit Methoden (Funktionen) in einem Container (Klasse) gespeichert werden.

Es gibt keine Aufgabe, die in OOP geschrieben werden kann und die nicht ohne OOP geschrieben werden kann.
Es ist eine Frage der Bequemlichkeit))

OOP ist keine Methode zur Lösung von Problemen, sondern eine Art der Codestrukturierung.

Sie müssen OOP verwenden, wenn das Programm größer als "Hello word" wird.

Im Allgemeinen kenne ich MQL4 schon seit mehreren Jahren und bin immer wieder erstaunt über seine Unzulänglichkeit. Das vierte MQL ist von den Möglichkeiten des klassischen C so weit entfernt wie ein Stern. In MQL5 haben die Entwickler beschlossen, vorwärts zu gehen. Die Anzahl der Funktionen ist gestiegen und die Programmierung ist einfacher geworden. Die Sprache ist zwar komplexer geworden, aber das Produkt wurde nicht für Schülerinnen und Schüler geschaffen.

Grund der Beschwerde: