8 poin oleh xguru 2022-09-27 | 6 komentar | Bagikan ke WhatsApp
  • Tim Chrome di Google merinci sekitar 40 masalah yang muncul saat mengadopsi C++20 dan merangkum solusinya
  • Standar C++ dirilis setiap 3 tahun, dan penerapan pertamanya di Chrome baru terjadi sekitar 3 tahun setelah rilis
  • C++20 membawa banyak perubahan
    • penghentian dukungan, penataan ulang operator perbandingan, perubahan aturan agregasi..
  • Masalah-masalahnya
    • panduan gaya Google berbasis C++17
    • dukungan C++20 di Clang belum lengkap dan membutuhkan libc++ yang baru
    • ukuran biner Windows membesar
    • dukungan std::iterator dihentikan (sejak C++17)
    • kata kunci baru seperti concept, requires ditambahkan sehingga bisa bentrok jika sudah ada nama variabel yang sama
    • dan masih banyak lagi

6 komentar

 
galadbran 2022-09-27

Eh… bahasa seperti C++ seharusnya tidak menghasilkan banyak breaking change, kan… atau ini cuma prasangka saya saja…

 
qwery 2022-09-28

Jadi itulah kenapa C++ adalah bahasa yang aneh.. Bahasanya terus naik versi, menambahkan modul, coroutine, dan macam-macam lain sambil berusaha melakukan semuanya sendiri, kalau ada fitur baru, compiler baru menambahkannya 4 atau 5 tahun kemudian, dan tiap compiler berbeda dalam hal yang bisa dilakukan, dengan sedikit perbedaan sintaks, saat versi naik, hal-hal kecil yang tadinya sering dipakai pelan-pelan menghilang, STL makin besar, dan setelah naik versi tidak lagi berjalan di komputer generasi lama.. Kalau harus memilih, saya ingin menyarankan memakai Go atau Python.

 
heal9179 2022-09-28

Sebagian besar hal yang kompatibilitas mundurnya tidak terjaga saat versi dinaikkan adalah kasus perbaikan terhadap perilaku yang tidak terdefinisi atau fitur yang memiliki cacat.
Fitur seperti modul, konsep, dan coroutine juga menunjukkan bahwa bahasanya terus berkembang seperti bahasa lain.
Khususnya untuk modul, itu memang sudah lama menjadi kebutuhan.

 
functor 2022-09-29

Saya kurang yakin apakah penghentian dukungan std::iterator termasuk dalam kasus "memperbaiki fitur yang memiliki perilaku tidak terdefinisi atau cacat" seperti yang Anda sebutkan.

 
heal9179 2022-09-28

Namun, poin-poin utama yang membuat C++ tertinggal dibanding bahasa lain adalah sebagai berikut.

  1. package manager
  2. fragmentasi compiler
  3. metode kompilasi yang rumit (perlu tambahan pembelajaran Make, CMake)
  4. kurangnya perhatian dari komunitas

Di antaranya, saya rasa dampak terbesar adalah karena kurangnya perhatian dari komunitas, artikel berkualitas sangat sedikit, dan karena jumlah pengguna yang sedikit, tiga masalah lainnya juga tidak terselesaikan.

 
deokim 2022-09-28
  • rust