3 poin oleh GN⁺ 2024-10-16 | 1 komentar | Bagikan ke WhatsApp
  • Edisi C23 dari Modern C tersedia untuk diunduh secara gratis. Tujuan utamanya adalah pembaruan agar selaras dengan standar C baru, yaitu C23.
  • Isi standar baru tersebut disajikan dalam bentuk yang paling mendekati dokumen publik. Sebagian besar fitur baru pada kompiler utama sudah diimplementasikan.

Perubahan dan penambahan utama di C23

  • Perubahan terkait bilangan bulat: diperkenalkannya tipe presisi bit baru _BitInt(N), header pustaka C baru untuk pemeriksaan overflow, penambahan header untuk manipulasi bit, kemungkinan tipe 128-bit pada arsitektur modern, serta peningkatan besar pada tipe enumerasi.
  • Konsep baru: konstanta nullptr dan tipe dasarnya, anotasi sintaks melalui atribut, lebih banyak alat untuk pemrograman generik berbasis tipe (misalnya inferensi tipe melalui auto dan typeof), inisialisasi default menggunakan {} (termasuk array dengan panjang variabel), serta constexpr untuk konstanta bernama dari semua tipe.
  • Materi tambahan: penambahan pembahasan tentang ekspresi majemuk dan lambda, serta pendekatan kegagalan program yang komprehensif yang disebut "internasionalisasi". Juga ditambahkan header include sementara dan lampiran agar transisi ke C23 di platform yang sudah ada menjadi lebih mudah.

Ringkasan GN⁺

  • Edisi C23 dari Modern C telah diperbarui untuk mencerminkan standar C baru, dan banyak fiturnya sudah diimplementasikan di kompiler utama.
  • C23 menghadirkan peningkatan penting pada tipe bilangan bulat, pemrograman generik berbasis tipe, inisialisasi default, dan lainnya.
  • Edisi ini berguna untuk memahami dan memanfaatkan standar terbaru bahasa pemrograman C, terutama bagi pengembang yang ingin cepat menguasai fitur-fitur baru.
  • Bahasa lain yang menawarkan fitur serupa dengan C23 mencakup standar terbaru C++.

1 komentar

 
GN⁺ 2024-10-16
Komentar Hacker News
  • Dukungan mulai tersedia sejak GCC 11, dan ini bisa digunakan di Ubuntu 22.04. Dukungan C26 juga tampaknya sudah bisa dilihat
  • C dan C++ itu berbeda, dan ada nasihat penting agar tidak mencampur keduanya
  • Sedang mencari daftar buku C, lalu menemukan jawabannya sendiri. Modern C dikategorikan sebagai tingkat menengah
  • Daftar isi di sidebar pada macOS Preview tidak berfungsi dengan benar
  • Sedang mencari artikel yang menjelaskan mengapa C secara praktis berhenti di C99. Katanya hampir tidak ada proyek yang memanfaatkan fitur C11 ke atas
  • Senang karena maskot dinosaurusnya masih ada. Menurut saya ini buku yang bagus
  • Menantikan #embed saat compiler sudah menyusul. Sampai saat itu, memakai Golang
  • Merasa atribut seperti [[unsequenced]], [[maybe_unused]], [[noreturn]] dipakai terlalu banyak di seluruh buku. Terasa berlebihan karena penulis memasukkan hal-hal yang sifatnya opsional ke semua contoh kode
  • Ingin bit field portabel yang benar-benar eksplisit dan terdefinisi dengan baik
  • Ini salah satu buku favorit saya