Sich mit Büchern weiterbilden



  • Hallo,

    habe vor 2 Monaten in einer Firma arbeiten angefangen.
    Programmiere embedded systems mit C++.
    Tätigkeit ist sehr interessant, habe in der Zeit extrem viel gelernt. Bis jetzt gings mir primär darum, mal in C++ richtig fit zu werden. Es geht jetzt schon ganz gut, von sehr guten Kenntnissen bin ich aber noch Jahrzehnte entfernt 😉 .

    Mit welchen Themen soll ich mich in nächster Zeit (außer mit der Sprache C++ selbst) beschäftigen? Was bringt mich weiter?
    C++ und die konkrete Projektarbeit ist eh das daily business. Aber was bringt mir darüber hinaus was?
    Mir gehts vor allem um Bücher, die ich nebenher lesen kann.
    Ist es eher sinnvoll, Bücher über Software Engineering zu lesen, über UML, über Algorithmen, über Netzwerke, oder ... ?

    Hier sind ja einige Profis im Forum unterwegs, lasst mal eure Vorschläge hören!



  • Wenn es um reines C++ geht: Grundkonzepte verstehen. (RAII, Iteratoren, Template Templates, CRTP, ...) && C++11. Bücher von Herb Sutter, Andrei Alexandrescu, Scott Meyers. Videos z.B. hier gucken http://channel9.msdn.com/Tags/c++



  • Das willst du wahrscheinlich nicht hören, aber du solltest studieren 😉 Aus eigener Erfahrung kann ich sagen, dass man solche Bücher eher nicht freiwillig liest. War zumindest bei mir so, als ich Schüler war. Alles über Programmierung, Netzwerke usw. fand ich damals sehr interessant und habe sehr viele Bücher dazu gelesen. Aber sowas wie Software Engineering, Architektur, Algorithmen, und erst recht so "langweilige" Themen wie theoretische Informatik war für mich nicht interessant genug, als dass ich mich motivieren könnte, das selbstständig zu lesen. Erst nachdem ich angefangen habe zu studieren, fand ich das alles dann auch wirklich interessant und habe mich auch selbständig und freiwillig damit beschäftigt.



  • cooky451 schrieb:

    Wenn es um reines C++ geht: Grundkonzepte verstehen. (RAII, Iteratoren, Template Templates, CRTP, ...) && C++11. Bücher von Herb Sutter, Andrei Alexandrescu, Scott Meyers. Videos z.B. hier gucken http://channel9.msdn.com/Tags/c++

    Eigentlich gehts mir eher um Dinge, die sich nicht konkret auf C++ beziehen.
    Aber trotzdem danke für den Link, den kannte ich noch nicht.



  • Mechanics schrieb:

    Das willst du wahrscheinlich nicht hören, aber du solltest studieren 😉 Aus eigener Erfahrung kann ich sagen, dass man solche Bücher eher nicht freiwillig liest. War zumindest bei mir so, als ich Schüler war. Alles über Programmierung, Netzwerke usw. fand ich damals sehr interessant und habe sehr viele Bücher dazu gelesen. Aber sowas wie Software Engineering, Architektur, Algorithmen, und erst recht so "langweilige" Themen wie theoretische Informatik war für mich nicht interessant genug, als dass ich mich motivieren könnte, das selbstständig zu lesen. Erst nachdem ich angefangen habe zu studieren, fand ich das alles dann auch wirklich interessant und habe mich auch selbständig und freiwillig damit beschäftigt.

    Studiert hab ich Nachrichtentechnik, also der technische Background für embedded Systems ist vorhanden, genauso wie massenhaft Mathematik, eventuell gehen mir gewisse Basics aus der theoretischen Informatik ab? Kann das leider schwer einschätzen weil ich nicht weiß inwiefern die Dinge relevant sind.



  • Ok, wenn du schon studiert hast... Ja, solche Sachen wie Komplexitätstheorie, Graphentheorie, Automaten, formale Sprachen usw. sollte man schon grob beherrschen. Vielleichst kannst du sie eh teilweise eh schon aus deinem Studium, weiß ich nicht.
    Ansonsten könntest du dir ein paar Bücher über Software Architektur anschauen. Das kann man im Embedded Bereich zwar eher schlecht einsetzen, aber die Prinzipien sind auf jeden Fall interessant und wenn man entsprechend abstrahieren kann, kann man sie abgewandelt auch im Embedded Bereich einsetzen.



  • Ok, wenn du schon studiert hast... Ja, solche Sachen wie Komplexitätstheorie, Graphentheorie, Automaten, formale Sprachen usw. sollte man schon grob beherrschen. Vielleichst kannst du sie eh teilweise eh schon aus deinem Studium, weiß ich nicht.

    da du ja diese Themen im Studium behandelt hast, kannst du mir vielleicht Bücher für diese Themengebiete nennen, die du gut gefunden hast, und welche auch einen gewissen praktischen Wert haben?



  • Ehrlich gesagt nein... Grad was theoretische Informatik angeht kenn ich persönlich keine wirklich guten Bücher. Das meiste in unserer Bücherei war von unseren Profs oder von irgendwelchen anderen Profs, also nicht wirklich lesenswert. Ist schon ausreichend, wenn man eh die Vorlesungen dazu hört, sich im Internet informiert und zusätzlich diese Bücher durchschaut, aber nichts was ich für ein selbständiges Studium empfehlen könnte.



  • Zur Komplexitätstheorie:
    Computational Complexity | ISBN: 0521424267 und/oder Computational Complexity | ISBN: 052188473X

    Das sind zwei sehr gute Bücher. ...IMHO.

    Mit der praktischen Anwendbarkeit ist das aber so eine Sache... Im Prinzip kriegst Du da Dinge vermittelt, die mehr auf einer Metaebene interessant sind. Das meiste wird Dir bei der Programmierung direkt nicht viel bringen. Vielleicht allerdings insofern, als Du einige Problemstellungen besser einschätzen kannst.



  • Ich denke, Bücher über rein theoretische Informatik werden dich jetzt nicht so bei der praktischen Arbeit weiterbringen.

    Hast du denn schon von "Design Patterns" (bzw. "Entwurfsmuster") gehört (bzw. gelesen 😉 und angewandt? Hier im Forum gibt es einen Einstiegsartikel dazu: Einführung in Design Patterns (auch mit Büchertipps dazu)
    Unter http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns gibt es sogar eine ganze Webseite mit C++ Code.

    Und bzgl. Algorithmen ist sicherlich der Klassiker von Robert Sedgewick Algorithmen in C++ zu nennen.

    Und sicherlich sollte man ein Buch über "Software Engineering" auch mal in der Hand gehabt haben...



  • Th69 schrieb:

    Ich denke, Bücher über rein theoretische Informatik werden dich jetzt nicht so bei der praktischen Arbeit weiterbringen.

    Hast du denn schon von "Design Patterns" (bzw. "Entwurfsmuster") gehört (bzw. gelesen 😉 und angewandt? Hier im Forum gibt es einen Einstiegsartikel dazu: Einführung in Design Patterns (auch mit Büchertipps dazu)
    Unter http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns gibt es sogar eine ganze Webseite mit C++ Code.

    Und bzgl. Algorithmen ist sicherlich der Klassiker von Robert Sedgewick Algorithmen in C++ zu nennen.

    Und sicherlich sollte man ein Buch über "Software Engineering" auch mal in der Hand gehabt haben...

    Design Patterns sind mir ein Begriff, aber ich denke mal auf dem Gebiet könnte ich noch einiges lernen.
    Kannst du ein Buch zu dem Thema empfehlen?





  • Ja, das ist DER Klassiker. Die Patterns an sich haben sich ja nicht geändert, die meisten GoF Patterns sind nach wie vor gültig und aktuell. Gibt mittlerweile vielleicht Bücher, die das besser erklären, aber ich hab das Original gelesen und finde es völlig in Ordnung.



  • dgffdgfdgd schrieb:

    ... aber Erscheinungstermin 1994? 😮

    Die "Informatik" entwickelt sich übrigens gar nicht so rasant, wie viele glauben. Viele aktuelle Konzepte stammen noch aus den 60ern oder sogar noch von Turing.
    Hier ist auch ein interessantes Buch:

    http://www.amazon.de/System-Patterns-Pattern-Oriented-Software-Architecture/dp/0471958697

    Das ist ähnlich alt und da geht es um Architektur Patterns. Wenn man das so liest, viele wurden schon in den 70ern oder 80ern zum ersten mal verwendet.



  • Mechanics schrieb:

    Ja, das ist DER Klassiker. Die Patterns an sich haben sich ja nicht geändert, die meisten GoF Patterns sind nach wie vor gültig und aktuell. Gibt mittlerweile vielleicht Bücher, die das besser erklären, aber ich hab das Original gelesen und finde es völlig in Ordnung.

    danke für die Einschätzung, werds mir kaufen.


Anmelden zum Antworten