在新功能和标准化过程的重压下,C ++ 0x是否会崩溃?

时间:2009-07-30 05:57:06

标签: c++ standards c++11

来自Dr. Dobbs

  

概念应该是核心   C ++ 0x中的新功能

     

即使在削减了“概念”之后   下一个C ++标准可能会延迟。   可悲的是,没有C ++ 0x(除非   你算上一些微小的修正   C ++ 03)。我们必须等待C ++ 1x,和   希望'x'是一个低位数。   有希望,因为C ++ 1x现在   功能完整(除了   一些国家标准的可能性   有效地坚持一些人的身体   正式提案中的特征   为标准)。剩下的“全部”   是解决的大量工作   杰出的技术问题和   评价。

我在1997年至2000年间处于MT和MP安全C ++编程的最前沿。我们自己必须做很多事情。令人震惊的是,该标准在9年后没有解决并发问题。

那有什么大不了的?

4 个答案:

答案 0 :(得分:13)

没有。

我不确定是什么让你觉得它是。 Dr.Dobbs的文章并不意味着就是这种情况。

这是一个很大的更新,这意味着需要进行大量的工作来完善语言规范并修复错误。这既不新鲜也不令人惊讶。

ISO标准化过程需要时间。这也不是新的。你发表的那篇文章说的是 - 有工作要做,但天空并没有下降,这是他们从现在开始做的非常基本和低风险的工作。

为什么花了这么长时间有几个原因:

显而易见的是,他们正在做出很多改变,而且一些功能比预期的要大,而且必须削减。这是不言而喻的,并且是造成延误的原因。

不太明显,但同样重要的因素是他们想要从C ++ 98开始经过很长时间。他们希望让语言有时间稳定和成熟,通过当前语言功能获得大量使用经验,并让编译器有时间赶上。直到几年前,C ++还没有准备好进行更新。大型商业编译器仍然是一团糟,太多人仍然不熟悉现代C ++设计。

这就是为什么直到现在才解决多线程之类的问题。它没有在C ++ 98中实现,并且他们不希望在此之后很快进行更改。

我不知道他们原本希望在哪一年定位,但我怀疑它早于2007年左右。所以,是的,新标准已被推迟一点,但不是因为语言“崩溃”。

答案 1 :(得分:10)

Stroustrup是最终删除Concepts的选民之一。我没有看到C ++ 崩溃,而是看到C ++委员会正在履行其职责。半生不熟的功能不是像C ++这样强大的语言的解决方案。看一下C ++ 0x中的内容会告诉你与你说的相反。最后,我不介意等待永远好的东西,而不是一段时间好的东西:)

答案 2 :(得分:3)

不,他们只是意识到他们的责任。有很多人受到标准委员会决定的影响。

答案 3 :(得分:1)

一方面我很感激他们没有重复模板输出惨败 另一方面,同样的“责任”可能会在模板发生之前完全杀掉模板。

我认为C ++ 0x证明C ++是一种过于成熟的语言,无法继续尝试功能。新的尖端功能已经出现在其他语言中,它们更符合基本理念。