Weiterführende Literatur zur Anwendungsentwicklung

Cappuccino

Cadet 2nd Year
Registriert
Nov. 2015
Beiträge
28
Tl;Dr: Suche Einführung in die Anwendungsentwicklung, wobei davon auszugehen ist, dass die jeweilige Sprache schon beherrscht wird. Also Aufbau der Datenlogik, Anwendung von Objektorientierung abseits von Schachfiguren und Autos, Updaten von Anwendungen, GUI mit mehreren Fenstern. Also darüber, wie man mit den Grundwerkzeugen die man sich mithilfe von z.B. Javabüchern erarbeitet hat auch wirklich eine sinnvolle und durchdachte Anwendung bauen kann.

Hallo Computerbasler,

ich bin schon länger auf der Suche nach Tutorials oder am besten Fachbücher, die einem den Ablauf einer Anwendungsentwicklung nahe legen. Ich mache das ganze nur Hobbymäßig, würde aber gerne die eine oder andere Anwendung (Desktop oder auch Webanwendung, jenachdem) schreiben. Die Grundkonzepte einer Sprache zu verstehen ist das eine, aber mir fehlt dabei immer der Schritt, wie ich diese Grundkonzepte auch wirklich praktisch, innerhalb meiner Anwendung verwenden kann.

Wie baue ich die Datenlogik des Programms auf, brauche ich eine Versionsverwaltung mit Updatemechanismus, Wie trenne ich Frontend von Backend, also überhaupt, wie nehme ich die Grundkentnisse (Klassen, Funktionen, Strings, Arrays, JavaFX, ...) wirklich her und wie entsteht daraus ein Programm.

Ich weiß nicht, ob ich immer an den falschen Stellen suche oder ob man sich genau das selber erarbeiten kann. Kann mir jemand vielleicht ein Buche empfehlen (bevorzugt Java), aber gerne auch für andere Sprachen? Die Grundkonzepte kann man denke ich oft auch zumindest ein bisschen übertragen.

Vielen Dank schonmal im voraus.

Cappuccino
 
Meines Erachtens kann man sich das nur bis zu einem gewissen Grad erlesen. Das ist ein bisschen wie mit dem Studium. Du büffelst mehrere Jahre Theorie und bist dann trotzdem nur bedingt arbeitsfähig, weil dir eben die Erfahrung fehlt und Erfahrung kann man sich nicht erlesen. Man kann höchstens ein paar Fallstricke vermeiden, wenn man sich mit der richtigen Theorie beschäftigt.

Schau dir Entwurfsmuster an, schau dir Effective Java an und dann musst du wohl oder übel ins kalte Wasser und an Projekten arbeiten. Im professionellen Umfeld lernst du als Junior von erfahrenen Kollegen. Das fehlt dir als Hobby-Eigenbrötler natürlich. Was du versuchen kannst, ist dich über Open-Source-Projekte aufzuschlauen. Vielleicht kannst du sogar etwas beitragen, aber auf jeden Fall kannst du dich mal in fremdem Code umschauen und sehen, ob du ihn verstehst. Vermutlich wirst du sehr überrascht sein, wie viel Verständnis von Softwareentwicklung dir noch fehlt.

Das Thema ist einfach auch sehr komplex. Wenn du lernen willst, wie man ein Haus baut, wen fragst du dann? Den Architekten, den Maurer, den Dachdecker, den Elektriker? Auch in der Softwareentwicklung gibt es da viele verschiedene Spezialgebiete.
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort tumbleweed.
Das mit den OpenSource Projekten ist schonmal ein gute Tipp. Mir ist auch klar, dass man sich wahrscheinlich diese Praxis erarbeiten muss.
Aber ich von trotzdem verwundert. Bei all den Büchern über die zahlreichen Sprachen und deren Konzepte. Gibt es dabei kein Buch, dass z.B die Entwicklung einer komplexeren Anwendung exemplarisch darstellt?
Ergänzung ()

Bzw. Nachdem ich mir das Rüstzeug des Zimmermann (Sprache), Maurer (Datenbank) und Elektriker (GUI) erarbeitet habe würde ich wohl den Architekten fragen, wie ich das jetzt zusammensetzen.
Lese ich dann die falschen Bücher?
 
Komplexe Anwendungen bestehen immer aus verschiedenen Themengebieten, IO-Streams, Datenbanken etc.
Wenn man Patterns beherrscht hilft das schonmal, ansonsten gilt für komplexe Anwendungen genau das gleiche wie für alle Anwendungen. Ordentliche Fehlerbehandlungen und Modularisierung, Unit-Tests und Doku. Danach kommt noch evtl. Runtime Profiling.
Wirklich komplex wirds erst bei asynchronen und Multithread-Anwendungen, da ist die Fehlersuche oft schwer und da hilft auch kein Buch. Da lernt man höchstens schon bestimmte Fehler im Vorfeld zu vermeiden.

Ansonsten hat tumbleweed recht, einfach in fremde Projekte reinschauen, wenn die ordentlich programmiert sind kannst Du mehr lernen wenn Du ein Projekt analysierst um alles zu verstehen als durch reines Lesen in einem Buch.
 
Ein Buch, was dem was du suchst am nächsten kommt, dürfte dieses sein. Gibt es auch auf Deutsch, aber das vergisst du besser direkt. Softwareentwicklung bedeutet Englisch, seien es Bezeichner im Code, Literatur oder die Suche bei Google.

Design Patterns aus der gleichen Reihe ist übrigens auch sehr empfehlenswert.
 
Zurück
Oben