Obwohl TCP / UDP / IP häufig verwendete Protokolle sind, verstehe ich nicht, warum sie Teil des ISO C ++ Standards sein sollen. Diese haben nichts mit dem Kern der Sprache zu tun. Datenstrukturen sind universell erforderliche Werkzeuge, daher ist STL sinnvoll, aber diese Protokolle sind zu spezifisch für IMO.
Es gibt seit langem ein Gefühl dafür, dass der winzige Fokusbereich der C ++ Bibliothek etwas Schlechtes ist, das die Sprache zurückhält. Die meisten "modernen" Sprachen sind mit großen Framework-Bibliotheken ausgestattet, zu denen Netzwerk, Grafik und JSON gehören. Im Gegensatz dazu erhalten Sie, wenn Sie in C ++ eine dieser Methoden verwenden möchten, a) standardmäßig nichts und b) sind mit einer Auswahl von Bibliotheken von Drittanbietern überfordert, die Sie normalerweise nicht richtig beurteilen und auswählen können.
So geht diese Seite der Meinung.
Natürlich gibt es andere Leute, die denken, dass es genau so ist, wie es sein sollte. Nichtsdestoweniger ist Standardisierung harte Arbeit, und während Sprachen wie Java und C # und Go große Unternehmen hinter sich haben, die Energie in die Entwicklung einer riesigen Bibliothek investieren können, hat C ++ nicht diese Art von Arbeitskräften und die meisten Leute, die Zeit mit C ++ - Standardisierung verbringen sind mehr an Kernaspekten der Programmierung interessiert: Datenstrukturen, Parallelität, Sprachentwicklung (Konzepte, Bereiche, Module ...).
Es ist also nicht so sehr, dass die Leute generell gegen eine größere Bibliothek sind, aber für viele ist das keine Priorität. Aber wenn gute Ideen aufkommen, haben sie eine gute Chance, berücksichtigt zu werden. Und große Bibliothekskomponenten wie das Netzwerk werden sowieso nicht in die Standardbibliothek aufgenommen, sondern in eine freistehende Technische Spezifikation , die zeigt, ob die Idee nützlich, beliebt und korrekt ist. Nur wenn ein TS weit verbreitet ist und viele positive Rückmeldungen erhält, wird es eine mögliche zukünftige Anstrengung geben, es in das IS aufzunehmen.
(Sie haben möglicherweise ähnliche Bemühungen bemerkt, technische Spezifikationen für Dateisysteme und für Grafiken zu erstellen.)
C ++ 11 enthält Threading in Standard. Jetzt müssen Programmierer nicht PThread
in Linux und Windows Threads
in Windows, getrennt schreiben. Das Gleiche kann passieren, wenn die Netzwerkbibliothek standardisiert wird.