1

ドブス博士より:

概念は、C++0x の中心的な新機能になるはずだった

「概念」をカットした後でも、次の C++ 標準は遅れる可能性があります。残念ながら、C++0x はありません (C++03 の小さな修正を数えない限り)。C++1x を待つ必要があり、'x' が下位桁になることを期待します。C++1x の機能が完成したため、希望があります (一部の国家標準化団体が、標準の正式な提案に存在する機能を効果的に主張する可能性を除いて)。残された「すべて」は、未解決の技術的問題とコメントを解決するという膨大な作業です。

私は 1997 年から 2000 年にかけて、MT および MP セーフな C++ プログラミングの最先端にいました。それ以来 9 年間、標準が並行性に対処していないことは少し衝撃的です。

それで、大したことは何ですか?

4

4 に答える 4

13

いいえ。

何があなたにそう思わせるのか、私にはわかりません。Dr.Dobbs の記事は、それが事実であることを暗示しているわけではありません。

これは大きな更新であり、言語仕様を磨き上げ、エラーを修正するという多くの作業を意味します。それは新しいことでも驚くべきことでもありません。

また、ISO 標準化プロセスには時間がかかります。それも新しいことではありません。あなたが投稿した記事はまさにそれを言っています - やらなければならない仕事がありますが、空は落ちていません.それは彼らがこれからやろうとしているかなり基本的でリスクの低い仕事です.

時間がかかる理由はいくつかあります。

明らかに、彼らは多くの変更を行っており、いくつかの機能は予想よりも大きくなり、カットする必要がありました. それは言うまでもなく、遅延の原因です。

それほど明白ではありませんが、同じくらい重要な要因は、C++98 から長い時間が経過することを望んでいたことです。彼らは、言語が安定して成熟する時間を与え、現在の言語機能で多くの使用経験を積み、コンパイラが追いつく時間を与えたいと考えていました。数年前まで、C++ は更新される準備ができていませんでした。大規模な商用コンパイラは依然として混乱しており、あまりにも多くの人々が最新の C++ 設計に慣れていませんでした。

そのため、マルチスレッドなどはこれまで対処されていませんでした。C++98 では実現できませんでしたし、その後すぐに変更を加える必要もありませんでした。

彼らが最初にターゲットにしたいと思っていた年はわかりませんが、それが 2007 年かそこらよりも前だったとは思えません。はい、新しい標準は少し遅れていますが、言語が「崩壊」しているからではありません。

于 2009-07-30T06:15:59.153 に答える
10

Stroustrup は、Concepts を最終的に削除する投票者の 1 人でした。C++ の崩壊は見られませんが、代わりに、C++ 委員会がその仕事をしているように見えます。生半可な機能は、C++ のような堅牢な言語のソリューションにはなりません。C++0x で何が起こるかを見ると、あなたが言っていることとは反対のことがわかります。最後に、しばらく良いものを手に入れるのではなく、永遠に良いものを手に入れるのを待ってもかまいません:)

于 2009-07-30T06:33:58.960 に答える
3

いいえ、彼らは自分の責任を認識しているだけです。標準委員会の決定によって影響を受ける人はたくさんいます。

于 2009-07-30T06:17:25.170 に答える
1

一方では、彼らがテンプレート輸出の失敗を繰り返さないことに感謝しています。
一方、同じ種類の「責任」は、テンプレートが発生する前に完全に削除された可能性があります。

C++0x は、C++ が成熟しすぎてまだ機能を試すことができない言語であることを示していると思います。新しい最先端の機能は、基礎となる哲学により適した他の言語にすでに存在しています。

于 2009-07-30T07:01:02.430 に答える