OOP vs. prozedurale Programmierung - Seite 12

 

Wie kann ich OOP verwenden, wenn ich nicht einmal Klassen unterbringen kann? Ich brauche sie einfach nicht. Ich brauche keine Strukturen. Das ist eine künstliche Trennung, die durch die Eigenentwicklung meines Programms nicht gerechtfertigt ist. Genau - Selbstentfaltung. Es gibt keinen anderen Namen dafür.

In diesem Prozess werden die Code-Blöcke selbst durch die Notwendigkeit geteilt, die im Prozess der Verbesserung und des Hinzufügens neuer Funktionen entsteht. Zunächst werden Funktionen erstellt, die dann nach und nach zu größeren Blöcken kombiniert werden, die mit neuen Funktionen aufpoliert und aktualisiert werden. Im Laufe der Zeit lösen sich diese Blöcke auf, und es entstehen neue Blöcke. Alles geschieht auf natürliche Weise. Ich "spinne" die neue Funktionalität nur, um neue Funktionen zu erhalten, und schleife sie dann auf einen Qualitätszustand herunter. Gleichzeitig ändert sich die Struktur des Codes ständig und wandelt sich. Ich habe kein klares Schema und alles entwickelt sich in unvorhersehbare Richtungen. Plötzlich finde ich in diesem Prozess Möglichkeiten für einen qualitativen Sprung nach vorn. Und ich mache diesen Sprung.

So entwickelt sich mein Programm. Sie dehnt sich aus, schrumpft dann, zerbröckelt und taucht verändert wieder auf. Es gibt globale Veränderungen, qualitative Sprünge, aber es gibt auch langfristig stabile Zustände.

Unnötige Regeln und eine fremde Sprachsyntax verlangsamen diesen Prozess nur.

 
Реter Konow:

Wie kann ich OOP verwenden, wenn ich nicht einmal Klassen unterbringen kann? Ich brauche sie einfach nicht. Ich brauche keine Strukturen. Das ist eine künstliche Trennung, die durch die Eigenentwicklung meines Programms nicht gerechtfertigt ist. Genau - Selbstentfaltung. Es gibt keinen anderen Namen dafür.

In diesem Prozess werden die Code-Blöcke selbst durch die Notwendigkeit geteilt, die im Prozess der Verbesserung und des Hinzufügens neuer Funktionen entsteht. Zunächst werden Funktionen erstellt, die dann nach und nach zu größeren Blöcken kombiniert werden, die mit neuen Funktionen aufpoliert und aktualisiert werden. Im Laufe der Zeit lösen sich diese Blöcke auf, und es entstehen neue Blöcke. Alles geschieht auf natürliche Weise. Ich "spinne" die neue Funktionalität nur, um neue Funktionen zu erhalten, und schleife sie dann auf einen Qualitätszustand herunter. Gleichzeitig ändert sich die Struktur des Codes ständig und wandelt sich. Ich habe kein klares Schema und alles entwickelt sich in unvorhersehbare Richtungen. Plötzlich finde ich in diesem Prozess Möglichkeiten für einen qualitativen Sprung nach vorn. Und ich mache diesen Sprung.

So entwickelt sich mein Programm. Sie dehnt sich aus, schrumpft dann, bricht zusammen und taucht verändert wieder auf. Es gibt globale Veränderungen, qualitative Sprünge, aber es gibt auch langfristig stabile Zustände.

In diesem Prozess verlangsamen unnötige Regeln und Syntax in einer Fremdsprache nur die Dinge.


Es könnte sich jedoch lohnen, eine Woche zu investieren, um die Strukturen zu klären. Die Aussage "Ich brauche keine Strukturen" sieht wirklich dumm aus. Die einzige Schlussfolgerung ist, dass Sie gar nicht wissen, was es ist.

 
Dmitry Fedoseev:

Es gibt Aufgaben, die nicht optimal verfahrenstechnisch gelöst werden können.

Es kommt darauf an, was Sie mit "optimal" meinen.)

Meiner Meinung nach ist OOP nur eine bequeme Hülle, keine Lösung für irgendwelche Probleme. Deshalb ist die Diskussion hier zum Stillstand gekommen.

Im Großen und Ganzen scheinen sich alle einig zu sein, dass jede Aufgabe mit einem strukturiert-prozeduralen Ansatz viel schneller und kompakter gelöst werden kann. Und es wird mehr Zeit für die Einbindung in den Unterricht aufgewendet als für das Programmieren selbst. Manchmal lässt man sich hinreißen, vermasselt einen Haufen Kurse und denkt dann, wozu die ganze Mühe...

Noch etwas zur "prozeduralen Programmierung mit Funktionszeigern" - warum sollte sie in eine eigene Kategorie gestellt werden? Ich denke, Funktionszeiger sind nur ein strukturell-prozeduraler Stil.

 
Alexey Navoykov:

Das hängt davon ab, was Sie unter "optimalem Weg" verstehen.)

Meiner Meinung nach ist OOP nur eine bequeme Hülle, keine Lösung für irgendein Problem. Deshalb ist die Diskussion hier ins Stocken geraten.

Im Großen und Ganzen scheinen sich alle einig zu sein, dass jede Aufgabe mit einem strukturiert-prozeduralen Ansatz viel schneller und kompakter gelöst werden kann. Und es wird mehr Zeit für die Einbindung in den Unterricht aufgewendet als für das Programmieren selbst. Manchmal lässt man sich hinreißen, vermasselt einen Haufen Kurse und denkt dann, wozu die ganze Mühe...

Noch etwas zur "prozeduralen Programmierung mit Funktionszeigern" - warum sollte sie in eine eigene Kategorie gestellt werden? Ich glaube, dass Funktionszeiger nur strukturell-prozeduraler Art sind.


Polymorphismus ist mit prozeduralen Mitteln in keiner Weise realisierbar, außer bei Funktionszeigern. OOP ist definitiv Polymorphismus, während es in der prozeduralen Programmierung nicht unbedingt Zeiger auf Funktionen gibt.

Man sollte nicht alles in Klassen verpacken.

 
Dmitry Fedoseev:

Sollten wir uns nicht mindestens eine Woche lang mit den Strukturen beschäftigen? Die Aussage "Ich brauche keine Strukturen" sieht wirklich dumm aus. Die einzige Schlussfolgerung ist, dass Sie gar nicht wissen, was es ist.

Struktur ist eine selbsterklärende Sache. Sie kombiniert einen benannten Satz von Variablen unterschiedlichen Typs. Der Haupttyp in meinem Programm ist int. double wird nur an einigen wenigen Stellen verwendet. Zeichenfolge nur in einem bestimmten Block.

Warum brauche ich Strukturen im Kontext von OOP?

Ich habe eine Struktur, die zum Kernel gehört. Das heißt, die Struktur des Kerns selbst in ihm. Das ist alles, was ich brauche.

 
Реter Konow:

Die Struktur ist selbsterklärend. Sie kombiniert einen benannten Satz von Variablen unterschiedlichen Typs. Der Haupttyp in meinem Programm ist int. Ich verwende das Doppelte nur an einigen wenigen Stellen. Zeichenfolge nur in einem bestimmten Block.

Warum brauche ich Strukturen im Kontext von OOP?

Ich habe eine Struktur, die zum Kernel gehört. Das heißt, die Struktur des Kerns selbst in ihm. Das ist alles, was ich brauche.


Sie müssen drei Jahre lang ein Programm für sich selbst geschrieben haben.

 
Dmitry Fedoseev:

Das kann man, aber mit unterschiedlichen Wirkungsgraden. Unterstützung ist hier nicht das Thema, sie ist zu relativ.

Es gibt Aufgaben, die man verfahrenstechnisch nicht optimal lösen kann.


Ich bin ein Befürworter von OOP, aber in Wirklichkeit weiß der Prozessor nichts von der Existenz von OOP, er kann Maschinencode ausführen, das ist alles. In den Anfängen des Computers schrieb man Programme auf diese Weise direkt in Maschinencode.

Deshalb gab es auch so viele Programmiererinnen. Denn Männer würden sich betrinken und wegen dieser Arbeit verrückt werden).

 
Реter Konow:

Schließlich sind wir uns einig, dass es auf die Effizienz der Lösung ankommt.

Die Überfrachtung der Syntax und die Komplexität der Regeln haben noch nie dazu beigetragen, Lösungen effizient zu halten. Die Einfachheit und Kürze, die sich in der Prägnanz, Universalität und Lesbarkeit der Codeblöcke ausdrückt, war hilfreich.

Und was ist mit effizienten Lösungen gemeint?

Meine Programmierregeln lauten: weniger Code, weniger Regeln, weniger Syntax...

"Meine Regeln: keine Regeln") ))
 

Ich bin kein Fan von OOP.

Aber im Hinblick auf Wartbarkeit, Skalierbarkeit und einfache Nutzung durch Dritte ist das, was TC (Peter, nicht Karputov) vorantreibt, einfach steinzeitlich.

Ich bin der festen Überzeugung, dass jeder Programmierer in einem Team arbeiten sollte, idealerweise mit mehr als 4 Personen, um zu verstehen, dass Effizienz und Universalität von Code nicht bedeuten, dass dieser Code gut ist.

 
Alexey Volchanskiy:

Ich bin ein Befürworter von OOP, aber in Wirklichkeit weiß der Prozessor nichts von der Existenz von OOP, er kann Maschinencode ausführen, das ist alles. In den Anfängen des Computers wurden Programme auf diese Weise geschrieben, direkt im Maschinencode.

Deshalb gab es auch so viele Programmiererinnen. Denn die Männer tranken viel und wurden durch diese Arbeit verrückt.)


Was ist damit? Eine Schlussfolgerung ist, dass man am Anfang viele Programme in Maschinencode schreiben musste))

Grund der Beschwerde: