Ich als Anfänger möchte mich auch mal zu dem Thema äußern, da ich mich gerade mal wieder mit OOP beschäftige (und deshalb auch auf diese Diskussion gestoßen bin).
Aber wieso möchte ich mich denn mit OOP beschäftigen?
Dazu passt eigentlich die Aussage von drsoong sehr gut:
Ich denke das ist EIN Grund wieso ich mich damit beschäftige. Ich hab irgendwie immer das Gefühl ich bin nur ein Programmierer zweiter Klasse wenn ich kein OOP benutze, bzw. es ist nicht professionell genug (muss es in meinem Fall zwar nicht sein, aber wer will schon ewig ein Amateur bleiben ).
Ein anderer Grund ist aber auch der, dass ich bei meinem privaten Projekt mittlerweile bei ca. 6.000 Zeilen Code angekommen bin, Tendenz mit weiteren Funktionalitäten stark steigend. Ich mach mir deshalb schon länger darüber Gedanken ob ich vielleicht die Struktur meines Programms ändern sollte um den Überblick besser behalten zu können. Und da wird ja dann immer OOP ins Spiel gebracht, bessere Lesbarkeit, Wiederverwertbarkeit von Code, etc... alles was hier ja auch schon aufgezählt wurde.
Ich persönlich würde sagen, dass :
- es von der Größe des Projekts abhängig ist, ob ich OOP verwende. Und damit meine ich nicht unbedingt nur die Anzahl der Zeilen Code, sondern eher die Komplexität des Projekts
- es abhängig davon ist ob es ein Projekt für mich persönlich ist, oder ob ich es professionell (also quasi kommerziell) erstelle. Dann würde ich eigentlich OOP voraussetzen.
- es abhängig davon ist ob ich das Projekt alleine entwickle oder noch andere daran mitarbeiten. Ich schreib mein Programm alleine, weiß also wo ich welche Funktionen mit welchen Parametern, Übergabewerte, Returns etc. habe (noch weiß ich es). Wird es jedoch komplexer und andere arbeiten auch noch am Projekt mit, ich habe also Schnittstellen zu anderen, dann wird es vermutlich kritisch.
Aber das sind alles Einschätzungen von einem Hobbyprogrammierer wie mir. Das können die Profis unter euch sicher besser beurteilen.
Trotzdem möchte ich mich aber mit OOP auseinandersetzen und es "erlernen", zum einen aus "Neugier" und zum anderen weil ich mein Projekt vielleicht doch "vereinfachen" kann.
Und jetzt komm ich zum eigentlichen Punkt der mich immer und immer wieder beschäftigt und welcher drsoong super auf den Punkt gebracht hat :
Als Anfänger liest man so viel von DesignPattern etc., schaut sich Beispiele an, und versteht meistens nur Bahnhof weil die Zusammenhänge schwierig zu verstehen sind.
Und da komm ich nun zu BlackScorp . Ich als Anfänger würde es nicht gut finden wenn ich OOP mit Hilfe von Funktionen erklärt bekommen würde. Denn genau dann entstehen ja die Fragen "Hää, wieso soll ich denn das mit Objekten machen, geht doch so viel einfacher.".
Mich nerven schon immer die Beispiele in den Büchern oder sonstiger Literatur mit einer Klasse Auto, oder Tier, oder sonst was. Denn genau diese "einfachen" Beispielen verleiten einen zu sagen "Das geht mit Spaghetti-Code und Funktionen viel einfacher.".
OOP ist aber eben ein anderer Ansatz, und da hab ich noch sehr viel Probleme diesen Ansatz auf mein eigenes Projekt zu übertragen.
Aber wieso möchte ich mich denn mit OOP beschäftigen?
Dazu passt eigentlich die Aussage von drsoong sehr gut:
Zitat von drsoong
Beitrag anzeigen
Ein anderer Grund ist aber auch der, dass ich bei meinem privaten Projekt mittlerweile bei ca. 6.000 Zeilen Code angekommen bin, Tendenz mit weiteren Funktionalitäten stark steigend. Ich mach mir deshalb schon länger darüber Gedanken ob ich vielleicht die Struktur meines Programms ändern sollte um den Überblick besser behalten zu können. Und da wird ja dann immer OOP ins Spiel gebracht, bessere Lesbarkeit, Wiederverwertbarkeit von Code, etc... alles was hier ja auch schon aufgezählt wurde.
Ich persönlich würde sagen, dass :
- es von der Größe des Projekts abhängig ist, ob ich OOP verwende. Und damit meine ich nicht unbedingt nur die Anzahl der Zeilen Code, sondern eher die Komplexität des Projekts
- es abhängig davon ist ob es ein Projekt für mich persönlich ist, oder ob ich es professionell (also quasi kommerziell) erstelle. Dann würde ich eigentlich OOP voraussetzen.
- es abhängig davon ist ob ich das Projekt alleine entwickle oder noch andere daran mitarbeiten. Ich schreib mein Programm alleine, weiß also wo ich welche Funktionen mit welchen Parametern, Übergabewerte, Returns etc. habe (noch weiß ich es). Wird es jedoch komplexer und andere arbeiten auch noch am Projekt mit, ich habe also Schnittstellen zu anderen, dann wird es vermutlich kritisch.
Aber das sind alles Einschätzungen von einem Hobbyprogrammierer wie mir. Das können die Profis unter euch sicher besser beurteilen.
Trotzdem möchte ich mich aber mit OOP auseinandersetzen und es "erlernen", zum einen aus "Neugier" und zum anderen weil ich mein Projekt vielleicht doch "vereinfachen" kann.
Und jetzt komm ich zum eigentlichen Punkt der mich immer und immer wieder beschäftigt und welcher drsoong super auf den Punkt gebracht hat :
Zitat von drsoong
Beitrag anzeigen
Und da komm ich nun zu BlackScorp . Ich als Anfänger würde es nicht gut finden wenn ich OOP mit Hilfe von Funktionen erklärt bekommen würde. Denn genau dann entstehen ja die Fragen "Hää, wieso soll ich denn das mit Objekten machen, geht doch so viel einfacher.".
Mich nerven schon immer die Beispiele in den Büchern oder sonstiger Literatur mit einer Klasse Auto, oder Tier, oder sonst was. Denn genau diese "einfachen" Beispielen verleiten einen zu sagen "Das geht mit Spaghetti-Code und Funktionen viel einfacher.".
OOP ist aber eben ein anderer Ansatz, und da hab ich noch sehr viel Probleme diesen Ansatz auf mein eigenes Projekt zu übertragen.
Kommentar