Wie soll ich mein C ++ mit modernen Entwicklungen auf den neuesten Stand bringen? [geschlossen]

9

Wie sollte ich etwas sehr rostiges C ++ auf den neuesten Stand bringen, da ich sicher bin, dass sich die Sprache und die Best Practices weiterentwickelt haben? Mir ist klar, dass dies fast nicht zum Thema gehört, also lassen Sie mich einige Details klären. Vor ungefähr 10 Jahren war ich ein ziemlich guter C ++ - Programmierer. Ich hatte die Scott Meyers-Bücher verschlungen und konnte die Rätsel in den Flusenanzeigen von Dr. Dobbs lösen. Ich war wahrscheinlich ein bisschen ein Sprachanwalt. Ich habe in den letzten 10 Jahren hauptsächlich Java und Python programmiert, sodass meine OO-Kenntnisse immer noch auf dem neuesten Stand sind. Aber nachdem ich einer Firma beigetreten bin, in der C ++ üblich ist, habe ich festgestellt, dass ich mir eingestehen muss, dass ich beide sehr verrostet bin, und es gibt jetzt Sprachfunktionen, die entweder neu oder viel häufiger sind, als ich mich erinnere - Dinge wie Namespaces usw.

Ich bin mir bewusst, dass das Lesen und Schreiben von Code (insbesondere das Pairing) ein guter Weg ist, um auf dem Laufenden zu bleiben. Gibt es jedoch andere Ressourcen, die die Leute empfehlen würden, um mir einen beschleunigten Vorsprung zu verschaffen? Buch? Website? Tutorials?

Zusammenfassen:

  • Empfehlungen für C ++ - spezifische Auffrischungsressourcen?
  • Nicht OO / Programmierung im Allgemeinen.
  • Dinge zusätzlich zum Lesen und Schreiben von Code.
Nick Fortescue
quelle

Antworten:

10

Wenn Sie bereits Scott Meyers Bücher "verschlungen " haben, dann sind Sie viel weiter als der durchschnittliche Typ, der vor 10 Jahren C ++ gemacht hat (IMHO). Holen Sie sich die 3. Ausgabe von Effective C ++ (und das Buch C ++ Coding Standards von Sutter / Alexandrescu), um eine kurze Aktualisierung zu erhalten, und Sie sollten wirklich bereit sein, loszulegen.

Die Empfehlungen in diesen Büchern (ursprünglich 2005, glaube ich) sind heute genauso gültig wie damals.

Oh, und installiere Boost, wenn du es noch nicht getan hast.

Glückliche Zeit für einen Neustart in C ++, da ich mir sehr sicher bin, dass es in diesem und im nächsten Jahr, wenn sich der C ++ 11-Standard einstellt, viele Ressourcen und Bücher vom Typ Neustart geben wird.

Martin Ba
quelle
Hervorragende Empfehlungen. Scott Meyers kam letztes Jahr zu unserem Unternehmen und gab allen unseren Entwicklern einen zweitägigen Auffrischungskurs über moderne C ++ - Techniken. Er weiß, wie C ++ in der realen Welt funktioniert und ist nicht nur ein anderer Akademiker mit Theorien.
Karl Bielefeldt
2

1) Beginnen Sie mit einem modernen Compiler mit C ++ 11-Funktionen (vorausgesetzt, Ihre Arbeit erfordert dies früher als später, wenn nicht bereits).

2) Nehmen Sie vorhandene Programme (möglicherweise Ihre Lieblingsprojekte) und aktualisieren oder erweitern Sie sie, um modernere Bibliotheken (wie C ++ 11-Standardbibliotheken oder Boost ) zu verwenden.

3) Informieren Sie sich über die neuesten C ++ - Funktionen. Es gibt auch viele gute Bücher. Wenn Sie Modern C ++ Design noch nicht gelesen haben , würde ich es empfehlen. Es ist ein Klassiker für fortgeschrittene Designs mit C ++ - Techniken, die während Ihrer Abwesenheit eingeführt und verfeinert wurden.

Das ist ein Ausgangspunkt.

Justin
quelle
1

Nick,

Ich würde vorschlagen, dass Sie sich an einem Open Source-Projekt beteiligen. Hast du dir Sourceforge angesehen ? Dies kann für jede Sprache gelten, aber der Hauptvorteil besteht darin, von anderen Entwicklern zu lernen und gleichzeitig zu einem Softwareprojekt beizutragen. Sie können einige interessante Stile und die Verwendung von Sprachfunktionen aus der Arbeit an einem Open Source-Projekt lernen. Manche gut, manche schlecht, manche ... einfach komisch :).

Trostloser Planet
quelle
4
Vielleicht hatte ich einfach Pech, aber die Open-Source-Projekte, die ich gesehen habe, enthielten den schrecklichsten Code, den ich je gesehen habe - sie könnten als perfekte Beispiele dafür verwendet werden, wie man C / C ++ nicht schreibt. Wenn Sie sich also dazu entschließen, einen Blick auf Open Source zu werfen, um zu lernen, würde ich vorschlagen, dass Sie ein Projekt auswählen, an dem viele Programmierer aktiv beteiligt sind. In solchen Projekten ist die Wahrscheinlichkeit, dass sie qualitativ hochwertigen Code enthalten, weitaus höher.
1

Machen Sie eine Code-Kata in C ++: Hanoi Tower, Ringpuffer und dergleichen. Es wird viel effizienter sein, als nur Bücher darüber zu lesen - obwohl das Lesen von Büchern Ihnen hilft, Dinge zu lernen, die Sie nicht wussten.

Sardathrion - gegen SE-Missbrauch
quelle