Ich habe inzwischen so viele Beiträge über Java, Programmieren und den Entwickleralltag geschrieben, dass daraus fast unbemerkt ein ziemlich umfangreicher Lernpfad entstanden ist. Das Problem: Die Artikel sind über Jahre hinweg entstanden und natürlich nicht in der Reihenfolge, in der ich sie heute einem neuen Auszubildenden oder Studierenden empfehlen würde.
Deshalb habe ich sie in diesem Beitrag einmal neu sortiert. Weiterlesen
Eine neue Aufgabe liegt vor dir, die Anforderungen wirken überschaubar und eigentlich weißt du schon ungefähr, welche Klassen du brauchst. Also IntelliJ auf, neues Projekt oder neue Klasse erstellen und los geht's. Das fühlt sich produktiv an, schließlich entsteht sofort etwas Sichtbares. Die ersten Methoden sind schnell geschrieben, ein paar Tests funktionieren und nach kurzer Zeit sieht es so aus, als wäre ein großer Teil der Aufgabe bereits erledigt. Genau an dieser Stelle kann es allerdings problematisch werden, denn beim Programmieren besteht die eigentliche Arbeit nicht nur darin, Java-Code zu schreiben. Ein großer Teil der Arbeit besteht darin, ein Problem so weit zu verstehen, dass du überhaupt weißt, welchen Code du schreiben solltest. Weiterlesen
Du änderst eine Zeile Java-Code, startest deine Anwendung neu und erwartest ein anderes Verhalten. Stattdessen passiert exakt das Gleiche wie vorher. Du setzt zusätzlich einen Breakpoint in IntelliJ, aber auch der wird nicht erreicht. Also prüfst du noch einmal deinen Code. Die Änderung ist da. Maven baut das Projekt ohne Fehler. WildFly startet ebenfalls sauber. Trotzdem verhält sich die Anwendung so, als hättest du überhaupt nichts geändert. Weiterlesen
In der Serie "Named Problems" stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. Weiterlesen
try, catch und finally gehören zu den Dingen, die man früh lernt und danach selten hinterfragt. Der finally-Block gilt als der Ort für Aufräumarbeiten, und eine return-Anweisung beendet eine Methode und liefert dem Aufrufer einen Wert. Beides kennt man gut. Interessant wird es, wenn beides in derselben Methode zusammentrifft.
Weiterlesen
In der Serie "Named Problems" stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. Weiterlesen
Beim Thema Tests stolperst du ziemlich schnell über eine ganze Sammlung von Begriffen. Unit-Test, Integrationstest, Regressionstest, Black-Box-Test, White-Box-Test und wahrscheinlich noch einige mehr. Das klingt zunächst so, als gäbe es für jede Kleinigkeit eine eigene Testart und als müsste man erst einmal ein halbes Lexikon lernen, bevor man überhaupt anfangen kann. Weiterlesen
In der Serie "Named Problems" stelle ich dir klassische, namentlich bekannte Algorithmus-Probleme vor, die seit Jahrzehnten in Ausbildung, Studium und Interviews verwendet werden. Anhand verständlicher Problemstellungen wie FizzBuzz, Türme von Hanoi oder dem Sieb des Eratosthenes lernst du hier, algorithmisch zu denken, Lösungsstrategien zu entwickeln und diese sauber in Java umzusetzen. Weiterlesen
Sortieren gehört zu den Aufgaben, die beim Programmieren erstaunlich oft auftauchen. Zahlen sollen der Größe nach angeordnet werden, Namen alphabetisch, Datensätze nach Datum oder Produkte nach Preis. Java kann dir diese Arbeit mit Methoden wie Arrays.sort() zwar bequem abnehmen, aber gerade deshalb lohnt es sich zu verstehen, was beim Sortieren eigentlich passiert.
Weiterlesen

Hi, ich bin Marcel!
Als Fachinformatiker für Anwendungsentwicklung und IHK-geprüfter Ausbilder teile ich auf meinem Blog Grundlagen- und Fortgeschrittenen-Wissen für angehende Entwickler*innen und Interessierte, sowie weitere spannende Themen aus der IT.