8 puan yazan xguru 2022-09-27 | 6 yorum | WhatsApp'ta paylaş
  • 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

 
galadbran 2022-09-27

Şey… C++ gibi bir dilin bu kadar çok breaking change üretmemesi gerekmiyor mu… yoksa bu sadece benim önyargım mı…

 
qwery 2022-09-28

İş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
stl büyüyor ve sürüm yükseldikçe eski nesil bilgisayarlarda çalışmıyor..
Kullanacaksanız Go ya da Python kullanın derim

 
heal9179 2022-09-28

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.

 
functor 2022-09-29

std::iterator desteğ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.

 
heal9179 2022-09-28

Ancak C++'ın diğer dillere kıyasla geri kaldığı başlıca noktalar şunlar:

  1. Paket yöneticisi
  2. Derleyici parçalanması
  3. Karmaşık derleme yöntemi (Make, CMake için ek öğrenme gereksinimi)
  4. Topluluğun ilgisizliği

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.

 
deokim 2022-09-28
  • rust