コルーチン(C++ 1zの最新のドラフト)は、なぜライブラリ拡張ではなく、コア言語機能(ファンシーなキーワードなど)として実装されるのでしょうか?C++ 1z言語機能にコルーチンを使用していますか?
すでにいくつかの実装(Boost.Coroutineなど)がありますが、そのうちのいくつかはプラットフォームから独立している可能性があります。なぜ委員会はそれをコア言語そのものに焼き付けることにしたのですか?
Bjarne Stroustrup氏自身が、コア言語に触れるのではなく、できる限りライブラリーで新しい機能を実装する必要があると話しました(これ以上は分かりません)。
そうするべき十分な理由はありますか?メリットは何ですか?
コルーチンがどのように機能し、同じセマンティクスを提供しているかは分かりませんが、コルーチンはライブラリ機能よりもはるかに効率的に言語機能として実装できると私は推測しています。また、コルーチンが実際には標準のC++だけを使って実際に実装できるかどうかはわかりません。 – MikeMB
@MikeMB:すべてのアカウントを修正します。 – ildjarn
別の理由は、それが言語の一部としてより良い方法である可能性があります(特殊なヘッダーを含めるか、特殊な型を関数のパラメータとして渡す必要はありません)。 – CoffeeandCode