Standar C ++ adalah dokumen normatif, yang menetapkan aturan yang akan tetap (kebanyakan tidak terpengaruh) dalam dokumen masa depan. Karena itu panitia telah mengambil pendekatan yang sangat hati-hati sehubungan dengan pembaruannya.
Penambahan ke perpustakaan standar agak mudah. Sejumlah perpustakaan sudah ada di Boost sejak lama: sudah terbukti berhasil.
Namun, penambahan konsep inti dalam bahasa jauh lebih sulit untuk dicoba, karena pertama-tama membutuhkan modifikasi kompiler. Fitur C ++ 03 (ekspor template) telah ditentukan tanpa dukungan kompiler ... hasilnya mengerikan. Para pelaksana frontend compiler EDG melaporkannya sebagai tugas besar (beberapa tahun kerja) untuk keuntungan yang sangat sedikit. Tidak ada kompiler lain yang pernah mencoba mengimplementasikannya. Ini bukan situasi yang nyaman.
Fitur suka constexpr
atau static_assert
mudah (dan sudah ditiru oleh perpustakaan). Lambdas cukup dipahami dan diimplementasikan dalam berbagai bahasa lain, sudah ada penelitian yang luas, jadi itu terutama masalah sintaksis.
Di sisi lain Konsep dinilai terlalu baru dan belum dicoba . Mereka hampir tidak ditentukan dalam waktu, tidak ada bukti konsep ... dan dengan demikian mereka ditolak, daripada menunggu mereka (atau membuat kesalahan).
Kenapa tidak mengikuti D? Tidak ada yang mengatakan bahwa itu tidak akan terjadi. Komite telah mendorong orang untuk memikirkan kembali dari awal, tanpa tenggat waktu yang mendesak, dan untuk mencoba memasukkan mereka dalam kompiler untuk melihat bagaimana mereka berinteraksi dengan fitur-fitur lain dalam bahasa. Ada pertanyaan khusus tentang pemisahan Konsep dan Peta Konsep: haruskah mereka digabungkan menjadi satu atau tidak?
FYI: Saat ini ada cabang Clang yang didedikasikan untuk eksperimen ini, dipimpin oleh Larisse Voufo dari universitas Indiana.