OOP vs. prozedurale Programmierung - Seite 22

 
Nikolay Ivanov:

Die Tatsache, dass alle modernen Systeme OOP verwenden, ist kein Beweis für Überlegenheit? Du bist einfach nicht bereit zu verstehen, du stellst einfache Fragen und kannst keine komplexe Antwort verkraften... und du denkst, es gibt keine Antwort... Nun, das ist nicht richtig...


Die Denkweise ändert sich, ja, und zunächst scheint es, wozu? Aber wenn das Projekt zu einer Menge von Tausenden von Codezeilen wird, fängt man an, die Früchte zu ernten)) und zu verstehen, warum und wozu das alles diente)).


Wenn ein Projekt schwierig und teuer in der Wartung und Aktualisierung und teuer und teuer in der Erweiterung ist und ein anderes schnell und einfach ist, wird das erste Projekt sterben - das ist eine natürliche Selektion.

Auch mein Programm besteht aus mehreren tausend Codezeilen. Das Fehlen unnötiger Einheiten ist für mich eine Erlösung. Ich hätte es nicht anders entwickeln können. Das ist die reinste Praxis.

Aber genug davon. Ich verlasse diesen Thread.

 
Nikolay Ivanov:

1. die Tatsache, dass alle modernen Systeme OOP verwenden, kein Beweis für Überlegenheit ist?

2. Du bist einfach nicht bereit zu verstehen, du stellst einfache Fragen und kannst die komplexe Antwort nicht begreifen... und du denkst, es gibt keine Antwort... Das ist nicht richtig.


Wenn sich deine Einstellung ändert, ja, und du dich zunächst fragst, wozu. Aber wenn das Projekt zu einer Menge von Tausenden von Codezeilen wird, fängt man an, die Früchte zu ernten)) und zu verstehen, warum und wozu das alles diente)).


Wenn ein Projekt schwierig und teuer zu pflegen und zu aktualisieren ist, ein anderes aber schnell und einfach zu erweitern ist, wird das erste Projekt sterben - das ist natürliche Auslese


1) Alle hier sind so cool, dass es ihnen nicht beweisen wird, sondern im Gegenteil, dass sie alle so cool von sich selbst sind, und alle drumherum sind traurige Trottel - sie sind auf OOP reingefallen.

2. sehr anekdotisch, aber sie sind sich dessen nicht bewusst.

 
Alexey Volchanskiy:


Ähnlich wie bei diesem Thema )) Vor langer Zeit hatte ich die Zeitschrift Popular Mechanics abonniert, in der es eine humorvolle Seite gab

Leo befand sich eines Tages auf dem Kriegspfad. Er geht also weiter, ganz unverhohlen. Er trifft einen Fuchs. Fox, schnell, wer ist der König der Bestien?

- Leva, natürlich bist du das!

Zufrieden fuhr er fort.

Er traf den Hasen, das gleiche Ergebnis.

Und der Elefant war so heiß, dass er einfach mit seinem Rüssel vor den Fliegen winkte und der Löwe davonflog.

Und wissen Sie, was er zu dem im Gebüsch sitzenden Elefanten sagte, der sich entfernte?

- Und seien Sie nicht böse, wenn Sie die Antworten nicht wissen.)


Über den Igel:

"Der Igel steht auf der Lichtung, posiert und lässt seinen Bizeps spielen: - Ich bin stark, ich bin mutig, ich bin wendig, ich bin stark, ich bin mutig, ich bin wendig...

Ein Bär kommt vorbei - tritt ihn einmal, der Igel flieht hinter den Baum, steht auf und schüttelt sich ab:

- Ich bin stark, ich bin mutig, ich bin beweglich... Aber ich bin einfach...

 
Реter Konow:

Aber genug davon. Ich verlasse dieses Thema.


Die Tatsache, dass du anderen nicht vertraust und es selbst verstehen willst, ist sogar gut, denn andere mögen sich irren, aber manche Dinge kann man besser selbst herausfinden.


Dmitry Fedoseev:

1) Alle hier sind so cool, dass es für sie kein Beweis ist, sondern eher eine Bestätigung, dass sie alle so cool sind, sich auskennen und allesamt traurige Trottel sind, die auf die PLO hereingefallen sind.

2) Sehr anekdotisch, aber sie sind sich dessen nicht bewusst.


))) Anekdotisch ist, wenn Leute, die nicht viel verstehen, Market Expert Advisors für $10K oder Signale mit 2k Abonnenten verkaufen und wirklich viel Geld bekommen)

 
Dmitry Fedoseev:

Dies ist nicht das Hauptargument.

In der prozeduralen Programmierung gibt es kein Analogon zur Polymorphie.

Wie kann es sein, dass sie nicht vorhanden ist, wenn Sie selbst mehrere Seiten zuvor Hinweise auf Funktionen erwähnt haben? Dies ist das genaue Gegenstück zum Polymorphismus, allerdings mit weitaus größeren Möglichkeiten, da man es dynamisch ändern kann.

 

Sieht so aus, als hätten Sie das Geplauder verpasst :-) die Moderatoren sind gegen flammende Themen vorgegangen ... aber hier geht es um OOP vs.

Übrigens, 99% von @Peter Konow's verwendet OOP, aber er ist sich dessen nicht bewusst :-) OOP ist nicht unbedingt "Klasse und Vorlage".

und umgekehrt... das Vorhandensein von Objekten und Klassen in einem Programm ist kein Indiz für OOP

 
Alexey Navoykov:

Warum nicht, wenn Sie selbst ein paar Seiten vorher von Funktionszeigern gesprochen haben? Dies ist das genaue Gegenstück zum Polymorphismus, und zwar mit viel breiteren Möglichkeiten, da es dynamisch geändert werden kann.

Das war gestern, als ich noch eine bessere Meinung von der Opposition hatte. Zeiger auf Funktionen in MQL sind vor kurzem aufgetaucht, aber heute stellte sich heraus, dass sie für alle Streitenden überhaupt nicht existieren. Es stellt sich heraus, dass sie gar nicht wissen, worüber sie streiten. Ich bin mir sicher, dass sie die Worte"Polymorphismus" und "Zeiger" in ihren Augen und Ohren einfach übersehen haben. Sie haben nur ein einziges Argument - "Sie haben keinen Beweis angeführt", auch wenn sie hier 1000 Beweise sehen.

Sie können Zeiger auf Klassen auch dynamisch ändern, das einzige, was bei Funktionen einfacher ist, ist, dass Sie sie nicht erst erstellen müssen.

 
Реter Konow:

Unter effektiven Lösungen verstehe ich die Qualität der Lösung, bei der der Mechanismus - und ein Programm ist zweifellos ein Mechanismus - am stabilsten funktioniert. Der Mechanismus muss klar, kohärent und produktiv sein. Die Funktionalität der Maschine sollte alle ihr zugewiesenen Aufgaben erfüllen. Der Mechanismus akzeptiert nichts Überflüssiges, und bei der Entwicklung dieses Mechanismus sollte das Überflüssige abgeschnitten werden.

Nur in Ihrem Fall ist dieses "Unnötige" die Typkontrolle und andere grundlegende Dinge, die den Code vor versehentlichen Programmierfehlern schützen sollen. Deshalb wird Ihr Code sehr unzuverlässig. Es gibt überhaupt keine Stabilität. Selbst wenn Sie das Programm jetzt debuggen und bereinigen, führen weitere Änderungen zu schwer zu findenden Fehlern, die nur schwer zu bereinigen sind.

 

Es besteht kein Zweifel daran, dass OOP eine Menge zusätzlicher Werkzeuge enthält, die ein Entwickler verwenden kann. Allerdings sollte man sich über den Preis im Klaren sein, der für die Nutzung dieser Instrumente zu zahlen ist. Sie sollten sich nämlich mit dem OOP-Paradigma und der damit verbundenen Code-Strukturierung vertraut machen. Verwendung des gesamten OOP-Toolkits und Erstellung vieler Objekte. Der Hauptpreis liegt in der starken Verkomplizierung des Codes. Die Praxis zeigt jedoch, dass die geschaffenen Mechanismen unter dem Gesichtspunkt der Effizienz einfach sein sollten und das Vorhandensein beliebiger Entitäten in ihnen unbedingt durch eine Steigerung der Effizienz und nichts weiter bewiesen werden sollte.

 
Alexey Navoykov:

Nur in Ihrem Fall ist dieses "Extra" die Typkontrolle und andere grundlegende Dinge, die dazu dienen, Ihren Code vor versehentlichen Programmierfehlern zu bewahren. Deshalb wird Ihr Code sehr unzuverlässig. Es gibt überhaupt keine Stabilität. Selbst wenn Sie das Programm jetzt debuggen und bereinigen, führen weitere Änderungen zu schwer zu findenden Fehlern, die nur schwer zu bereinigen sind.

Das mag sein. Wir werden sehen. Bislang gab es keine derartigen Schwierigkeiten.