Hallo liebes Forum!
Ich habe mich eben hier angemeldet, nachdem ich in den letzten Tagen schon häufiger von Google hierher verwiesen wurde und auf einige konkrete Java-Fragen auch Antworten gefunden habe.
Seit einigen Wochen arbeite ich mich in Java ein. Ich bin Umsteiger von anderen Sprachen (hauptsächlich Fortran) und habe in den letzten fünf Jahren viel programmiert, auch etwas größere Projekte. Allerdings habe ich das programmieren größtenteils selbst mit Hilfe von Büchern und dem Verstehen anderer Leute Quellcode erlernt und kann schwer einschätzen, wie gut meine Programme wirklich waren. Es gab da niemanden, der mir gesagt hätte "hier kannst du was besser machen".
Jetzt muss ich Java programmieren (lernen) und mache eigentlich seit vier Wochen nichts anderes: Lese diverse Tutorials, Bücher, schaue Quelltext an, schreibe kleine Programme. Dabei war das Konzept der OOP für mich vollkommen neu. Ich habe also damit begonnen, Einführungen über Klassen, Objekte, Methoden usw. zu lesen und denke, dass ich das (in der Theorie) mittlerweile ganz gut verstanden habe. Aber es hapert an der Anwendung. Ich habe mittlerweile schon ein paar kleinere Programme geschrieben und es auch immer irgendwie so hinbekommen, dass das Programm nachher das machte was es machen sollte. Aber ich merke, dass ich diese objektorientierte Denkweise einfach noch nicht verinnerlicht habe. Ich kann mein Problem irgendwie in Klassen und Methoden aufteilen, ich kann den entsprechenden Quellcode schreiben und irgendwann läuft das Programm. Dabei ist aber noch ganz viel ausprobieren und weniger "ich weiß was ich hier tue". Speziell tue ich mich schwer damit, Instanzvariablen von Klassenvariablen zu unterscheiden (in der Theorie kein Problem!), zu entscheiden, wann ich etwas public oder private deklariere oder der Idee zu folgen, mit möglichst wenig Übergabeparamtetern zu arbeiten. Dass ich nicht direkt auf irgendetwas zugreife, sondern über Methoden oder Getter und Setter arbeite, damit ich die Variablen nicht öffentlich sichtbar machen muss. Es fällt mir schwer, meinen Quellcode von letzter Woche noch nachzuvollziehen.
Von der prozeduralen Programmierung bin ich es gewöhnt, dass man zunächst die ganzen Bausteine für *irgendwas* initialisiert, berechnet, whatever und dann alles zu etwas großem zusammensetzt. Jetzt ist es irgendwie umgekehrt: Ich erzeuge mir erst mal ein Objekt und dann schaue ich, was ich mit dem Objekt so alles anstellen kann.
Ich bin etwas frustriert, weil ich dachte, das müsste ich alles schneller lernen können. Ich habe gewisse Bedenken, dass ich das einfach nicht hinbekomme. Vielleicht bin ich nicht geschaffen dafür, objektorientiert zu programmieren und meinem Gehirn fehlen da ein paar nötige Windungen? Oder braucht es wirklich einfach Zeit und vier Wochen sind ein zu kurzer Zeitraum, um überhaupt schon etwas sagen zu können?
Ich danke euch fürs lesen!
Liebe Grüße,
Sonnenbljme
Ich habe mich eben hier angemeldet, nachdem ich in den letzten Tagen schon häufiger von Google hierher verwiesen wurde und auf einige konkrete Java-Fragen auch Antworten gefunden habe.
Seit einigen Wochen arbeite ich mich in Java ein. Ich bin Umsteiger von anderen Sprachen (hauptsächlich Fortran) und habe in den letzten fünf Jahren viel programmiert, auch etwas größere Projekte. Allerdings habe ich das programmieren größtenteils selbst mit Hilfe von Büchern und dem Verstehen anderer Leute Quellcode erlernt und kann schwer einschätzen, wie gut meine Programme wirklich waren. Es gab da niemanden, der mir gesagt hätte "hier kannst du was besser machen".
Jetzt muss ich Java programmieren (lernen) und mache eigentlich seit vier Wochen nichts anderes: Lese diverse Tutorials, Bücher, schaue Quelltext an, schreibe kleine Programme. Dabei war das Konzept der OOP für mich vollkommen neu. Ich habe also damit begonnen, Einführungen über Klassen, Objekte, Methoden usw. zu lesen und denke, dass ich das (in der Theorie) mittlerweile ganz gut verstanden habe. Aber es hapert an der Anwendung. Ich habe mittlerweile schon ein paar kleinere Programme geschrieben und es auch immer irgendwie so hinbekommen, dass das Programm nachher das machte was es machen sollte. Aber ich merke, dass ich diese objektorientierte Denkweise einfach noch nicht verinnerlicht habe. Ich kann mein Problem irgendwie in Klassen und Methoden aufteilen, ich kann den entsprechenden Quellcode schreiben und irgendwann läuft das Programm. Dabei ist aber noch ganz viel ausprobieren und weniger "ich weiß was ich hier tue". Speziell tue ich mich schwer damit, Instanzvariablen von Klassenvariablen zu unterscheiden (in der Theorie kein Problem!), zu entscheiden, wann ich etwas public oder private deklariere oder der Idee zu folgen, mit möglichst wenig Übergabeparamtetern zu arbeiten. Dass ich nicht direkt auf irgendetwas zugreife, sondern über Methoden oder Getter und Setter arbeite, damit ich die Variablen nicht öffentlich sichtbar machen muss. Es fällt mir schwer, meinen Quellcode von letzter Woche noch nachzuvollziehen.
Von der prozeduralen Programmierung bin ich es gewöhnt, dass man zunächst die ganzen Bausteine für *irgendwas* initialisiert, berechnet, whatever und dann alles zu etwas großem zusammensetzt. Jetzt ist es irgendwie umgekehrt: Ich erzeuge mir erst mal ein Objekt und dann schaue ich, was ich mit dem Objekt so alles anstellen kann.
Ich bin etwas frustriert, weil ich dachte, das müsste ich alles schneller lernen können. Ich habe gewisse Bedenken, dass ich das einfach nicht hinbekomme. Vielleicht bin ich nicht geschaffen dafür, objektorientiert zu programmieren und meinem Gehirn fehlen da ein paar nötige Windungen? Oder braucht es wirklich einfach Zeit und vier Wochen sind ein zu kurzer Zeitraum, um überhaupt schon etwas sagen zu können?
Ich danke euch fürs lesen!
Liebe Grüße,
Sonnenbljme