Die C++-Gruppe der Internationalen Organisation für Normung (ISO) hat über das vergangene Wochenende die endgültige Version 20 der Programmiersprache ratifiziert. Es ist das erste Mal seit C++ 11 aus dem Jahr 2011, dass eine neue Version die Art und Weise der Programmierung grundlegend ändern soll.
Das betrifft insbesondere die neuen Kernfeatures Module, Coroutines, Ranges und Concepts.
C++ 20 bringt 4 neue Kernfeatures
Module ersetzen die bisherigen Header-Dateien und sorgen für schnellere Kompilierungszeiten, weil sie das bisherige wiederholte Ersetzen überflüssig machen. Entwickler können nun Präprozessor-Makros isolieren, wodurch die Reihenfolge der Inklusion von Header-Dateien unerheblich wird. Künftig wird die logische Struktur des Codes durch Module bezeichnet, wobei die wiederum zu Modulpaketen zusammengeführt und verwendet werden können. Bisher erforderliche Tricks werden damit überflüssig.
Mit Coroutines verbessert C++20 die Möglichkeiten der asynchronen Programmierung. Dabei bietet C++ selber keine fertigen Coroutines. Vielmehr ist die Sprache selber eine Art Framework für die Erstellung von Coroutines. Dazu stellt sie mehr als zwanzig Funktionen bereit. Coroutines sind konzipiert als Funktionsverallgemeinerungen. Sie können ihre Ausführung anhalten und fortsetzen. Das ist gleichzeitig der größte Unterschied zu regulären Funktionen, die nach dem Start stets bis zum Schluss durchlaufen. Coroutines sind vor allem für die elegantere Umsetzung von kooperativem Multitasking oder Eventschleifen gedacht, sollen also insbesondere eventgesteuerte Anwendungen vereinfachen.
Concepts und Ranges befassen sich mit dem Templating in C++. So sollen Concepts sowohl die Definition wie die Anwendung von Templates vereinfachen und erweitern. Mit der Ranges-Bibliothek können dann die Algorithmen der Standard-Template-Library direkt auf deren Containern angewendet und per Pipe verknüpft werden
Mit dem nun herbeigeführten Beschluss der ISO-Arbeitsgruppe gilt die technische Zustimmung zur neuen Version als erteilt. Herb Sutter, Microsoft-Ingenieur und Ausschussvorsitzender, geht davon aus, dass C++ 20 nun bis zum Ende des Jahres formell veröffentlicht wird.
Passend dazu: Diese Programmiersprachen solltet ihr 2020 unbedingt lernen
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team