聴衆の誰かが、CppCon 2016(YouTube)での「C ++標準ライブラリパネル」の講演experimental
中に、名前空間内でユーザーが何かを使用するのを怖がらせる可能性について質問しました。
[std::experimental
名前空間の内容]は本番環境に対応していると思いますか。それは、今後3年間は実質的に本番環境に対応できるという議論ができるということでしょうか。おそらく、3年後にコードを変更する必要があるのではないでしょうか。
Michael Wong(SG5およびSG14の議長であり、Concurrency TSの編集者)が最初に質問に答えました。
委員会内では、実質的に生産準備が整っているという強いコンセンサスがあると思います。前にも言ったように、ほとんどの場合、99%がエアドロップインされます。それがあなたの使用を妨げるものではないことを確認したいと思います。ライブラリシステム全体の残りの部分を邪魔しないように、大きな機能、機能の大きなグループをこのようなコンテキストに配置する理由を理解できますが、それによって使いやすくなります。これで、コンセプトの特定のフラグを使用してGCCをオンにできるようになりました。これにより、実際にセグメント化が容易になります。
その後、Alisdair Meredith(元LWG議長)がフォローアップしました。
私はここで反対の立場を取るつもりです。ハーブ[サッター]が標準グループであるWG21の招集者として言ったことの1つは、TSの道を歩み始めたとき、何かを前に進めることができなくなるまで、TSが成功するとは思っていなかったからです。つまり、私たちは十分に実験的ではなく、TSを何に使用するかについて十分に野心的ではありません。私たちは本当にそれを望んでいますexperimental
はい、これらのことは変更される可能性があり、私たちはそれに拘束されておらず、物事を間違える可能性があることを示唆しています。これは、私たちができる限り野心的で到達できると考えるものに対する障壁を下げるためです[...]現在、標準は3年のリリースサイクルにあるようですが、実際に実験的な機能を追加することで、はるかに野心的なはずです。 TSに、そしておそらく物事をより迅速にメインスタンダード自体に進めます。しかし、繰り返しになりますが、これは、次の数回の[C ++標準委員会]会議で議論する楽しいトピックになります。
Stephan T. Lavavej(MicrosoftのSTL実装のメンテナー)が最後に応答しました。
インターフェイスの実験性と実装の実験性を区別することが重要です。「本番環境に対応している」とはどういう意味ですか?通常、「本番環境対応」では、実装について話していると思います。[何かのstd::experimental
]実装が絶対に[...]防弾になる可能性は十分にあります。[...] <random>
TR1のヘッダーのようなもの[それは]本当に、TR1で本当に素晴らしかった、そしてあなたはそれの完全に防弾の実装を持つことができたかもしれない、しかしインターフェースがかき回されたことがわかった実質的に[リリース前] C ++ 11と[...]当時私たちが今何をしているのかを知っていればexperimental
、「ねえ、多分あなたはしたくないかもしれない」という人々へのより良い合図だったでしょう。使用するstd::experimental::variate_generator
なぜなら、ハハ、C ++ 11 "で消えてしまうからです。
したがって、標準ライブラリの開発者と委員会のメンバーの間には、少なくとも将来的には、std::experimental
名前空間の内容が本質的に真に「実験的」であり、std::experimental
意志のあるものが当然のことと見なされるべきではないという要望があるようです。それをC ++標準にします。
いいえ、私が理解している限り、内のさまざまな機能の実装を提供するかどうかは、標準ライブラリベンダー次第ですstd::experimental
。