Ich bin ein Programmierer in C und C ++, obwohl ich mich nicht an beide Sprachen halte und eine Mischung aus beiden schreibe. Manchmal ist es natürlich besser, Code in Klassen zu haben, möglicherweise mit Überladung des Operators oder Vorlagen und der ach so tollen STL. Manchmal ist die Verwendung eines einfachen C-Funktionszeigers viel besser lesbar und klarer. So finde ich Schönheit und Praktikabilität in beiden Sprachen. Ich möchte nicht in die Diskussion "Wenn Sie sie mischen und mit einem C ++ - Compiler kompilieren, ist es keine Mischung mehr, es ist alles C ++" einsteigen. Ich denke, wir alle verstehen, was ich unter Mischen verstehe. Außerdem möchte ich nicht über C vs C ++ sprechen, diese Frage dreht sich alles um C ++ 11.
C ++ 11 führt, wie ich finde, wesentliche Änderungen an der Funktionsweise von C ++ ein. Es wurden jedoch zahlreiche Sonderfälle, Ausnahmen und Unregelmäßigkeiten eingeführt, die das Verhalten verschiedener Features unter verschiedenen Umständen ändern und die Mehrfachvererbung sowie Bezeichner, die als Schlüsselwörter fungieren, und Erweiterungen einschränken von String-Literalen, Lambda-Funktionsvariablenerfassung usw.
Ich weiß, dass irgendwann in der Zukunft, wenn Sie C ++ sagen, jeder C ++ 11 annehmen würde. Ähnlich wie wenn Sie heutzutage C sagen, meinen Sie höchstwahrscheinlich C99. Das bringt mich dazu, C ++ 11 zu lernen. Wenn ich weiterhin Code in C ++ schreiben möchte, muss ich diese Funktionen möglicherweise irgendwann verwenden, nur weil meine Kollegen dies getan haben.
Nehmen Sie zum Beispiel C. Nach so vielen Jahren lernen und schreiben immer noch viele Menschen Code in C. Warum? Weil die Sprache gut ist. Was gut bedeutet, ist, dass viele der Regeln befolgt werden, um eine gute Programmiersprache zu erstellen. C ist also nicht nur mächtig (was leicht oder schwer ist, fast alle Programmiersprachen sind es), sondern es ist auch regelmäßig und hat, wenn überhaupt, nur wenige Ausnahmen. C ++ 11 glaube ich jedoch nicht. Ich bin nicht sicher, ob die in C ++ 11 eingeführten Änderungen die Sprache verbessern.
Die Frage ist also: Warum sollte ich C ++ 11 lernen?