- Google Chrome ekibi, C++20'ye geçiş sırasında ortaya çıkan yaklaşık 40 sorunu listeleyip çözümleri derliyor
- C++ standardı her 3 yılda bir çıkıyor ve Chrome'da ilk kullanım ancak yayımlandıktan 3 yıl sonra mümkün oluyor
- C++20'de çok sayıda değişiklik var
- kullanımdan kaldırmalar, karşılaştırma işleçlerinin yeniden sıralanması, aggregate kurallarındaki değişiklikler..
- Sorunlar
- Google'ın stil rehberi C++17 tabanlı
- Clang'ın C++20 desteği tamamlanmış değil ve yeni
libc++ gerektiriyor
- Windows ikilileri büyüyor
std::iterator desteği kaldırıldı (C++17'den beri)
concept, requires gibi yeni anahtar kelimeler eklendiği için bunlar değişken adıysa çakışma yaşanıyor
- bunun dışında daha pek çok sorun var
6 yorum
Şey… C++ gibi bir dilin bu kadar çok breaking change üretmemesi gerekmiyor mu… yoksa bu sadece benim önyargım mı…
İşte bu yüzden C++ garip bir dil.. Dil sürüm yükseltmeye devam ederken modüller, coroutine'ler ve türlü türlü şey ekleniyor, her şeyi kendi başına yapmaya çalışıyor
Bir özellik çıktığında derleyicilere bunun eklenmesi 4-5 yıl sonra oluyor
Derleyicilerin yapabildikleri birbirinden farklı oluyor, sözdiziminde de ufak tefek farklar var
Sürüm yükseldikçe eskiden gayet iyi kullandığınız şeylerin hepsi yavaş yavaş ortadan kalkıyor
stlbüyüyor ve sürüm yükseldikçe eski nesil bilgisayarlarda çalışmıyor..Kullanacaksanız Go ya da Python kullanın derim
Sürüm yükseltildikçe geriye dönük uyumluluğun korunmadığı maddelerin çoğu, tanımsız davranışları veya kusurlu özellikleri iyileştirme durumlarıdır.
Modül, concept ve coroutine gibi özellikler ise diğer dillerde olduğu gibi dilin gelişmeye devam etmesinin bir parçası.
Özellikle modül konusu, zaten uzun süredir var olan bir gereksinimdi.
std::iteratordesteğinin kullanımdan kaldırılmasının, bahsettiğiniz "tanımsız davranışa veya kusurlu işlevlere sahip özellikleri iyileştirme" kapsamına girip girmediğinden pek emin değilim.Ancak C++'ın diğer dillere kıyasla geri kaldığı başlıca noktalar şunlar:
Bunlar arasında özellikle topluluğun ilgisizliği nedeniyle kaliteli makalelerin çok az olması ve kullanıcı sayısının azlığı yüzünden diğer üç sorunun da çözülememesinin büyük bir etken olduğunu düşünüyorum.