为什么C++14/17有一个网络库方案? 尽管TCP/UDP/IP是常用的协议,但我不明白为什么他们希望它成为ISO C++标准的一部分。这些与语言的核心无关。数据结构是普遍需要的工具,因此STL是有意义的,但这些协议在IMO中太具体了。

为什么C++14/17有一个网络库方案? 尽管TCP/UDP/IP是常用的协议,但我不明白为什么他们希望它成为ISO C++标准的一部分。这些与语言的核心无关。数据结构是普遍需要的工具,因此STL是有意义的,但这些协议在IMO中太具体了。,c++,standards,iso,C++,Standards,Iso,C++11在标准中包括线程。现在程序员不需要分别在Linux和Windows中编写PThread和Windows线程。如果网络库变得标准化,同样的情况也会发生

C++11在标准中包括线程。现在程序员不需要分别在Linux和Windows中编写PThread和Windows线程。如果网络库变得标准化,同样的情况也会发生 当然,也有其他人认为这是应该的。尽管如此,标准化是很难的,而java、C和GO等语言背后有大量的公司可以把精力投入到开发一个巨大的库中,C++没有这样的人力,大多数人在C++标准化上花费时间,对编程的核心方面更感兴趣:数据结构,并发性,语言进化的概念、范围、模块

因此,人们通常并不反对更大的图书馆,但这并不是很多人的优先事项。但如果有好的想法出现,它们就有很好的机会被考虑。像网络这样的大型库组件无论如何都不会进入标准库,而是进入一个独立的技术规范,这是一种查看该想法是否有用、流行和正确的方法。只有TS得到广泛应用并收到大量积极反馈,未来才有可能将其纳入IS


您可能已经注意到为文件系统和图形创建技术规范的类似工作。

这个问题太开放了。你最好把它带到C++邮件列表中。这个提议是针对一个图书馆,而不是语言的核心。我认为一个标准化的网络图书馆是有用的。如果它成为ISO C++标准的一部分,如果我在没有TCP/IP栈的操作系统上使用这个编译器,会发生什么?标准化委员会希望网络成为核心库的一部分,特别是因为它们是常用的协议。他们不需要对语言的核心做任何事情——他们只需要具有足够的通用性,大多数开发人员都需要使用这些概念的标准方式。20年或更久以前,你正在做的同样的论证,可能是关于数据结构的,而15年前,同样的论证可能是关于互斥体的。图书馆真是太棒了。把网络作为标准的一部分是一个受欢迎的变化。@ BMM:因为C和C++是不同的东西。如果它们是相同的东西,它们都会被称为C。我发现线程同样通用。但是TCP/UDP不是IMO。有一些替代方案,例如SCTP——尽管主要用于3GPP@BenjiMizrahi值得一提的是,标准网络库将易于扩展,并为例如添加多平台实现。从设计上讲,SCTP将变得简单和多平台。想象一下,一个出生于2005年的孩子在10岁生日时得到了一部iPhone7,但是知道学校里所有的酷孩子都做C++。妈妈,我只想在我的HTML画布上画一些相交的形状,我的多分派代码已经很好地工作了——我需要为它实例化哪个类?在这一点上,妈妈打开一瓶杰克,让孩子用她的XCode与斯威夫特。