Ich wollte eigentlich erst direkt jabu per PN anschreiben, da ich seine ausführlichen Beiträge in der PE und hier sehr zu schätzen weiß und ich keine Ahnung habe, wie tot dieses Forum ist - aber anstatt jemanden direkt zu belästigen, hoffe ich einfach mal, dass hier ab und zu noch jemand reinschaut.
Ich hab 2016 mein Informatikstudium begonnen und im ersten Semester C++ gelernt (bzw. vertieft, da Vorkenntnisse vorhanden). Wir kamen damals, wenn ich mich recht erinnere, bis zu Iteratoren, Operator Overloading, Vererbung und Template-Programmierung. Zwar hab ich seitdem immer mal wieder einen kleinen Code geschrieben, um am Ball zu bleiben und mir unbekannte Bibliotheken zu erforschen, aber so richtig in Kontakt kam ich seitdem nicht mehr mit der Sprache.
Hier und da mal ein bisschen C für Multithreading und nicht funktionierende Sockets (sehr spaßig, aber nicht meine erste Wahl), ein Software Engineering Projekt in Java (zum Kotzen, aber zumindest erster Kontakt mit GUI und Git), mittlerweile sehr viel Python (Machine Learning und persönliche Bequemlichkeit). Für nächstes Semester hab ich die Master-Vorlesung "OOP for Scientific Computing", die 2017 schon mit der Nutzung der neuen C++17 Features geworben hat, im Auge.
Jedenfalls, worauf ich hinaus will: Aus irgendeinem Grund ist mir C++ immer im Herzen geblieben und aktuell für mich die Sprache, die ich neben Python beherrschen will. Habt ihr Vorschläge, welche Gebiete man sich unbedingt anschauen sollte, wenn man die Sprache vertiefen will? Gibt es vielleicht ein sehr empfehlenswertes aktuelles Buch?
Wo ich schon dabei bin, kann ich natürlich noch ein paar wichtige Dinge nennen, die mir Probleme bereiten:
Memory Management.
Mein Dozent hat Pointer komplett vermieden, da er die Vorlesung lieber sehr anwendungsorientiert gestalten wollte, anstatt die Sprache detailliert auszuarbeiten - ich kenne sie also nur aus C und hab nicht wirklich ein Gefühl dafür, wann man sie in C++ sinnvoll verwendet.
GUI.
Ich kenne mich recht wenig damit aus und kam bislang nur mit SWT in Java in Kontakt, was ich eher ungeil fand. Dagegen ist der Windows Forms Editor in Visual Studio sehr komfortabel, aber eben für C#. Gibt es ähnliche Editoren für C++ bzw. sind diese empfehlenswert, welches Framework sollte man überhaupt verwenden? Meist lese ich Qt.
Projektmanagement.
In Java wird man quasi zu einer guten Struktur gezwungen, dadurch, dass man das gesamte Programm in sinnvolle kleinere Klassen aufspaltet, die jeweils eine eigene Datei darstellen. Wie regelt man das in C++? (Eine Frage, die mich schon seit Beginn des Studiums begleitet)