İçeriğe geç
edumintsBlog
Backend3 dk okuma

C++26 Onaylanmadı: Standartlaşma Süreci ve C++'ın Geleceği

Kaynak: Hacker News

Paylaş
BackendEdumints Blog
İçindekiler 4 başlık

23 Ekim 2026 tarihinde yazılım dünyasında beklenmedik bir gelişme yaşandı. Normal şartlarda yalnızca bir formalite olması beklenen C++26 taslağının ISO Ulusal Kuruluşları (NB) tarafından oylanması süreci, 1998 yılından bu yana sessiz ve sorunsuz ilerliyordu. Ancak on iki haftalık oylama sürecinin sonunda C++26 taslağı reddedildi (Disapproved). C++ Standartlaştırma Komitesi üyesi ve Almanya temsilcilerinden biri olan Andreas Fertig, ISO kuralları gereği oy dağılımlarının gizli tutulduğunu belirterek süreci kendi kişisel perspektifinden değerlendiriyor.

Mevcut Durum#

Bilindiği kadarıyla C++ tarihinde bir Uluslararası Standart Taslağı (DIS) oylaması ilk kez başarısızlıkla sonuçlandı. ISO sisteminde geçmişte onaylanmayan tek benzer örnek, 11 Ağustos 2006 tarihli ISO/IEC DIS 26926 C++/CLI dil spesifikasyonuydu ve o proje tamamen durdurulmuştu. Bu durum, yaşanan oylama krizinin ciddiyetini açıkça gösteriyor.

ISO standartlaşma prosedürlerinde DIS (Draft International Standard) sondan bir önceki aşamadır ve kabul edilmesi için üçte iki çoğunluk gerekir. C++26 bu çoğunluğu sağlayamadı. Ulusal Kuruluşların sunduğu yorumlara göre reddedilmenin temel nedeni oldukça net: Contracts (Sözleşmeler) özelliği. Birçok ulusal temsilci, bu özelliğin henüz yayınlanmaya hazır olmadığı görüşünde birleşti.

Süreç#

C++ Standartlaştırma Komitesi (WG21), ISO kurallarına ek olarak kendi iç işleyiş ilkelerine sahiptir. Bu ilkelerden biri, yalnızca yeni bir bilgi ortaya çıktığında görüşlerin yeniden dinlenmesidir. Daha önce bir görüş tartışılmış ve özellik istenildiği gibi değiştirilmemişse, katılımcıların çoğunluk kararını kabul etmesi beklenir. Önceki uygulamalarda Ulusal Kuruluşlar yalnızca süreçte bir hata varsa veya yeni bir teknik bilgi ortaya çıkmışsa standartlara karşı oy kullanırdı.

23 Ekim 2026'da bu gelenek bozuldu. C++26'nın Contracts olmadan çıkmasını isteyen kuruluşlar ortada yeni bilgiler olduğunu savunsa da, eski argümanların yeni bir makaleyle sunulması teknik olarak yeni bir bilgi niteliği taşımıyor.

C++'ta Sözleşmelerin (Contracts) Tarihçesi#

Contracts özelliği uzun süredir C++ dünyasının istek listesinde yer alıyor:

  • 2019 (Köln Toplantısı): Özellik farklı bir formda C++20'ye dahil edildi, ancak aynı toplantı içinde standarttan tekrar çıkarıldı.
  • 2020 - 2024: Konunun tüm yönleriyle ele alınması için özel bir çalışma grubu oluşturuldu.
  • EWG Süreci: Çalışma grubu, önerilerini dil eklentilerinden sorumlu merkezi yapı olan Evrim Çalışma Grubu'na (EWG) sundu. Birkaç toplantı boyunca tartışılan özellik, çoğunluk oyuyla C++26'ya dahil edilmişti.

Yazılım Geliştiriciler İçin Pratik Çıkarımlar#

Bu tarihi karar, yazılım geliştirme ve mühendislik süreçleri açısından önemli dersler barındırıyor:

  • Erken Soyutlama ve Olgunlaşmamış Özellik Riski: Büyük ölçekli projelerde veya dil standartlarında, tam olgunlaşmamış bir özelliği (Contracts gibi) sisteme zorla dahil etmek, uzun vadede tüm sürümü tehlikeye atabilir.
  • Teknik Konsensüsün Önemi: Yazılım mimarisinde alınan kararların sadece komite çoğunluğuyla değil, sahadaki uygulayıcıların (Ulusal Kuruluşlar ve geliştiriciler) güveniyle desteklenmesi gerekir.
  • Güncel Kalma Stratejisi: C++ geliştiricileri, C++26 standartlaşma sürecindeki bu gecikmeyi göz önünde bulundurarak üretim ortamlarında C++20 ve C++23 özelliklerine odaklanmaya devam etmeli, deneysel özellikleri kritik sistemlere entegre ederken temkinli davranmalıdır.

Kaynak ve atıf

Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • andreasfertig.com/blog/2026/11/cpp26-dis-failed-how-does-cpp-survive