为什么有针对C ++ 14/17的网络库提案?

时间:2014-11-25 11:57:44

标签: c++ standards iso

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

2 个答案:

答案 0 :(得分:17)

长期以来人们一直认为,C ++库的微小关注领域是一个很糟糕的东西,可以帮助我恢复语言。大多数"现代"语言带有大型框架库,包括网络,图形和JSON。相比之下,如果你想在C ++中做任何这些,你a)在默认情况下不会得到任何东西,并且b)被选择的第三方库淹没,你通常无法正确评估和选择从

这就是意见的那一方。

当然还有其他人认为这就是应该的样子。尽管如此,标准化是一项艰苦的工作,而像Java和C#以及Go这样的语言背后有大公司可以投入大量资源来开发一个庞大的图书馆,C ++并没有这种人力资源,而且大多数人都花时间在C ++标准化对编程的核心方面更感兴趣:数据结构,并发性,语言演变(概念,范围,模块......)。

因此,人们普遍反对更大的图书馆,但这并不是许多人的优先考虑事项。但如果好的想法出现,他们很有可能被考虑。像网络这样的大型图书馆组件无论如何都不会进入标准库,而是进入一个独立的技术规范,这是一种了解这个想法是否有用,流行和正确。只有当TS得到广泛使用并获得大量积极反馈时,才有可能将其纳入IS。

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

答案 1 :(得分:11)

C ++ 11包括标准中的线程。现在,程序员不需要在Linux中编写PThread,在Windows中编写Windows Threads。如果网络库获得标准化,也会发生同样的