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

发布于 2024-07-30 11:48:44 字数 557 浏览 2 评论 0原文

来自 博士。 多布斯

概念本来是核心 C++0x 中的新功能

即使在削减“概念”之后, 下一个 C++ 标准可能会延迟。 遗憾的是,不会有 C++0x(除非 你把小修正算在 C++03)。 我们必须等待 C++1x,并且 希望“x”是一个低位数字。 有希望,因为 C++1x 现在是 功能齐全(除了 一些国家标准的可能性 机构有效地坚持一些 正式提案中存在的功能 为标准)。 剩下的“全部” 是解决问题的大量工作 突出的技术问题和 评论。

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

那么有什么大不了的呢?

From Dr. Dobbs:

Concepts were to have been the central
new feature in C++0x

Even after cutting "concepts," the
next C++ standard may be delayed.
Sadly, there will be no C++0x (unless
you count the minor corrections in
C++03). We must wait for C++1x, and
hope that 'x' will be a low digit.
There is hope because C++1x is now
feature complete (excepting the
possibility of some national standards
bodies effectively insisting on some
feature present in the formal proposal
for the standard). "All" that is left
is the massive work of resolving
outstanding technical issues and
comments.

I was on the bleeding edge of MT- and MP-safe C++ programming circa 1997 - 2000. We had to do many things ourselves. It's a bit shocking that the standard has not addressed concurrency in the 9 years since.

So what's the big deal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

表情可笑 2024-08-06 11:48:45

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

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

On the one hand I'm grateful that they are not repeating the template exports fiasco.

On the other hand the same kind of "responsibility" could have killed off templates entirely before they happened.

I think C++0x is demonstrating that C++ is too mature a language to be experimenting with features still. New cutting-edge features are already present in other languages where they are a better match for the underlying philosophy.

猫九 2024-08-06 11:48:44

不,

我不确定是什么让你这么认为。 多布斯博士的文章并不意味着情况确实如此。

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

ISO 标准化过程需要时间。 这也不是什么新鲜事。 您发布的文章只是说——还有工作要做,但天不会塌下来,这是他们从现在开始要做的非常基本且低风险的工作。

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

显而易见的是,他们正在进行大量更改,并且一些功能比预期的要大,因此必须被删除。 这是不言而喻的,也是造成延误的原因。

不太明显但同样重要的因素是,他们希望自 C++98 以来已经过去很长一段时间。 他们希望给语言时间来稳定和成熟,获得当前语言功能的大量使用经验,并给编译器时间来迎头赶上。 直到几年前,C++ 还没有准备好更新。 大型商业编译器仍然是一团糟,而且太多人仍然对现代 C++ 设计感到不舒服。

这就是为什么像多线程这样的事情直到现在才得到解决。 它没有在 C++98 中实现,而且他们不想在那之后过早进行更改。

我不知道他们最初希望的目标是哪一年,但我怀疑是在 2007 年左右之前。 所以,是的,新标准被推迟了一点,但这并不是因为语言正在“崩溃”。

No.

I'm not sure what makes you'd think it is. The Dr.Dobbs article doesn't imply that it's the case.

It is a big update, which means a lot of work polishing up the the language spec and fixing errors. That's neither new nor surprising.

And the ISO standardization process takes time. That's not new either. The article you posted says just that -- there's work to be done, but the sky is not falling, it's pretty basic and low-risk work they'll be doing from now on.

There are a couple of reasons why it's taken so long:

The obvious is that they're making a lot of changes, and a few features turned out bigger than expected, and had to be cut. That much goes without saying and is responsible for the delays.

The less obvious, but just as important factor is that they wanted a long time to pass since C++98. They wanted to give the language time to stabilize and mature, get lots of use experience with current language features, and give compilers time to catch up. Until a few years ago, C++ just wasn't ready to be updated. Big commercial compilers were still a mess, and too many people still weren't comfortable with modern C++ design.

That's why things like multithreading has not been addressed until now. It didn't make it in C++98, and they didn't want to make changes too soon after that.

I don't know which year they originally hoped to target, but I doubt it was earlier than 2007 or so. So yes, the new standard has been delayed a bit, but not because the language is "collapsing".

最好是你 2024-08-06 11:48:44

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

Stroustrup was one of the voters to remove Concepts finally. I don't see C++ collapsing, instead I see that the C++ committee is doing its job. Half-baked features are not the solution for a robust language like C++. A look at what is going to be in C++0x tells you the opposite of what you are saying. Finally, I don't mind to wait to get something good forever, instead of something good for a while :)

半枫 2024-08-06 11:48:44

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

No, they are just aware of the responsibility they have. There are a lot of people affected by the decisions of the standard comittee.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文