Hallöchen! Weil hier im Thread Beitrag "Welche Programmiersprache auf µC" doch einige neue Dinge bzgl. C++ erwähnt werden: Im Studium und danach hatte ich C++ gelernt und auch bei einigen Projekten verwendet (hach, Turbo-Vision :-). OOP, Vererbeung, Templates - also alles, was es so in den 90ern gab - sind mir bekannt. Da ich später fast nur noch für den kleineren Embedded-Bereich programmmiert habe, wurde alles µC-mäßige bis heute in C gemacht. Das war soweit ok, funktioniert auch gut. Auf dem PC waren es bisher fast nur Skriptsprachen (Tcl/Tk, Python) - es hat schlicht ausgereicht. Aber mittlerweile sind bei C++ doch einige schöne Sachen hinzugekommen und ich überlege für neue Projekte umzusteigen, insbesondere weil mit den Cortexen (STM32) jetzt auch aufwändige grafische Oberflächen möglich werden. Außerdem möchte ich (mal wieder) einfach Neues lernen :-) Welches Buch würde sich dazu eignen, einen recht fitten C-Programmierer mit leicht eingestaubten C++-Kenntnissen wieder auf aktuelles Niveau zu bringen? Klar, wirklich lernen kann man das nur im Projekt selbst, aber ein richtiges physisches Buch mit einer vernünftigen, aktuellen Einführung ist doch besser als ein reines Nachschlagewerk oder Internetseiten. "Der C++ Programmierer" von Ulrich Breymann soll gut sein, neben Stroustrup natürlich. Was gibt es noch, was ist empfehlenswert?
:
Bearbeitet durch Moderator
Chris D. schrieb: > Hallöchen! > > Weil hier im Thread > > Beitrag "Welche Programmiersprache auf µC" > > doch einige neue Dinge bzgl. C++ erwähnt werden: > > Im Studium und danach hatte ich C++ gelernt und auch bei einigen > Projekten verwendet (hach, Turbo-Vision :-). OOP, Vererbeung, Templates > - also alles, was es so in den 90ern gab - sind mir bekannt. > > Da ich später fast nur noch für den kleineren Embedded-Bereich > programmmiert habe, wurde alles µC-mäßige bis heute in C gemacht. Das > war soweit ok, funktioniert auch gut. Auf dem PC waren es bisher fast > nur Skriptsprachen (Tcl/Tk, Python) - es hat schlicht ausgereicht. > > Aber mittlerweile sind bei C++ doch einige schöne Sachen hinzugekommen > und ich überlege für neue Projekte umzusteigen, insbesondere weil mit > den Cortexen (STM32) jetzt auch aufwändige grafische Oberflächen möglich > werden. > > Außerdem möchte ich (mal wieder) einfach Neues lernen :-) > > Welches Buch würde sich dazu eignen, einen recht fitten C-Programmierer > mit leicht eingestaubten C++-Kenntnissen wieder auf aktuelles Niveau zu > bringen? > Klar, wirklich lernen kann man das nur im Projekt selbst, aber ein > richtiges physisches Buch mit einer vernünftigen, aktuellen Einführung > ist doch besser als ein reines Nachschlagewerk oder Internetseiten. > > "Der C++ Programmierer" von Ulrich Breymann soll gut sein, neben > Stroustrup natürlich. > > Was gibt es noch, was ist empfehlenswert? Scott Meyers: Effective modern C++ Rainer Grimm: C++11 Nicolas Jossuttis: C++ Standard Library Marius Bancila: Modern C++ Programming Cookbook https://isocpp.org/faq
:
Bearbeitet durch User
Wer die klassischen OOP Konzepte verstanden hat, dem kann man eigentlich nur noch Scott Meyers ans Herz legen. "Effective C++ in an Embedded Environment" (Präsentation!) ist etwa gratis online verfügbar: https://htrd.su/wiki/_media/zhurnal/2013/03/28/scott_meyers._effective_c_in_an_embedded_environment/effectcppemb.pdf Obwohl nicht ganz aktuell, wird darin ein wenig Umrissen welches Sprach-Feature wie "teuer" ist, eben speziell mit Bedacht auf kleine Resourcen. Seine anderen Bücher richten sich dann eher an Fortgeschrittene, sind aber sehr sehr informativ. All zu alte Quellen sollte man nach Möglichkeit meiden, bzw. generell alles vor C++11. Ein gutes Beispiel hierfür sind etwa Bücher, in denen bei Templates vor "code bloat" gewarnt wird... oder in denen Raw Pointer in Kombination mit "new" zu finden sind, etc. etc. An meinem eigenen Code hab ich beobachtet, dass ich klassisches C++ (und damit OOP Konzepte) eigentlich immer weniger und weniger nutze. Hier und da wird mal vererbt, aber so Dinge wie "Tier->Säugetier->Vierbeiner->Hund->Schäfer" trifft man in der Realität eher selten. Viel wichtiger sind für mich - templates - constexpr - lambdas - literals - und "neue" (>=C++11) STL Funktionen wie tuples, optional, variant, usw. usf.
:
Bearbeitet durch User
Dr. Sommer schrieb: > https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list Genau den Link wollte ich auch gerade Teilen :-) Es gibt wirklich eine Hand voll sehr guter Autoren (vor allem Sutter und Meyers) die wirklich gut schreiben können und leider sehr viele schlechte Autoren, deren Bücher nur so vor Fehlern strotzen.
Torsten R. schrieb: > Dr. Sommer schrieb: >> https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list > > Genau den Link wollte ich auch gerade Teilen :-) > > Es gibt wirklich eine Hand voll sehr guter Autoren (vor allem Sutter und > Meyers) die wirklich gut schreiben können und leider sehr viele > schlechte Autoren, deren Bücher nur so vor Fehlern strotzen. Für µC-Practices: Beitrag "Informationen zu C vs C++ / aka Futter für die Diskussion"
Super! Vielen Dank für die sehr guten Informationsquellen - da werde ich mich mal durchwühlen und dann das Passende bestellen :-)
:
Bearbeitet durch Moderator
Vom Breymann hast du ja schon gehört. + Internet sehr gut zum Aktualisieren, Nachschlagen und Übersetzen. schon älter, aber trotzdem sehr gut: Accelerated C++ von Koenig und Moo viele greifen auch gerne zum C++ Primer (Lippman & Co), Geschmackssache? Tempo/Überblick: A Tour of C++ und: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-introduction-to-c-january-iap-2011/lecture-notes/ Online-Kurs, Länge ein Monat, Arbeitszeit 2-3 Tage pro Woche + Hausarbeiten Sonst noch: Working Draft: https://isocpp.org/std/the-standard Williams C++ Concurrency in Action Vermeidung von funktionalen Fehlern z.B. mit Lamdas: -> Haskell und Lamda-Kalkül Einführungen, es gibt z.T. sehr gute im Netz (auch das Buch: "Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming" von Simon Marlow ist Top)
Sehr praxisnahe, reicht um die größten Patzer zu meiden: Effektiv C++ programmieren - 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.