HeadlinesBriefing HeadlinesBriefing.com

Mengurangi perilaku tak terdefinisi dalam bahasa C

Hacker News •
×

Kami buruk dalam pemasaran — kami akui. Kekuatan kami adalah menulis artikel semacam itu yang bergantung pada pengembang, administrator, dan pendukung perangkat lunak bebas untuk mengetahui apa yang terjadi di dunia Linux. Silakan berlangganan hari ini untuk membantu kami terus melakukannya, dan agar kami tidak perlu menjadi baik dalam pemasaran.

Sebagai profesor teknik biomedis, Martin Uecker mungkin tidak sesuai dengan profil presenter tipikal di Kernel Recipes. Namun, ia adalah pengguna Linux lama, dan bekerja pada perangkat lunak bebas untuk mengontrol pemindai pencitraan resonansi magnetik (MRI). Ia hadir di konferensi untuk berbicara tentang bahasa pemrograman C, masalah spesifik perilaku tak terdefinisi dalam C, dan apakah pada akhirnya dapat dijadikan bahasa yang aman memori.

Mengapa repot-repot dengan C di 2026? Ia mengatakan, itu masih bahasa yang hebat. C dapat dipindahkan, stabil dalam jangka panjang, menawarkan kompilasi cepat, dan kode biner hasilnya cepat. "Apa yang Anda lihat adalah apa yang Anda dapatkan"; mudah melihat kode C dan memiliki gambaran tentang apa yang sebenarnya akan dilakukan komputer. Ada banyak alat untuk bekerja dengan bahasa ini, dan C mundur ketika diperlukan.

C memiliki sejarah panjang, dan itu memengaruhi bahasa sebagaimana kita melihatnya hari ini, katanya. Standar C89 harus menghadapi beragam perangkat keras, termasuk mesin dengan representasi bilangan bulat tanda-magnitudo atau komplemen satu, memori tersegmentasi, representasi pointer eksotis, dan ukuran mengejutkan untuk tipe. Beberapa mesin Honeywell, misalnya, memiliki byte sembilan bit. Itu sangat mempersulit tugas menulis standar yang memungkinkan penulisan kode yang dapat dipindahkan. Pendekatan yang diambil adalah mendefinisikan semantik bahasa dalam hal mesin abstrak. Semua operasi harus dieksekusi seolah-olah telah berjalan pada mesin abstrak itu, yang mungkin tidak persis sesuai dengan perangkat keras aktual. Perilaku yang dapat diamati dari program haruslah apa yang akan dilakukan mesin abstrak.

Sumber: Hacker News · Diringkas oleh HeadlinesBriefing