Google meluncurkan Carbon, pengganti eksperimental untuk bahasa pemrograman C++
Frustrasi dengan evolusi C++ yang lambat, para insinyur Google meluncurkan bahasa pemrograman open source “eksperimental” baru yang disebut Carbon sebagai kemungkinan penerus` C++ yang sudah ketinggalan zaman.
Sama seperti Microsoft membuat TypeScript untuk memperbarui JavaScript, dan Kotlin dibuat untuk mengatasi kekurangan Java, Carbon dapat menjadi penerus C++, bahasa yang menawarkan transisi yang mudah kepada pengembang ke bahasa baru yang memenuhi konsep pengembangan modern seperti keamanan memori.
C++ telah lama menjadi bahasa pilihan untuk membangun aplikasi yang kritis terhadap kinerja. C++ memiliki sejumlah masalah yang menghambat pengembang modern. Ini mengumpulkan beberapa dekade masalah teknis, membawa serta banyak praktik usang yang merupakan bagian dari bahasa pendahulunya. Pengguna C++ memprioritaskan kompatibilitas mundur untuk terus mendukung proyek yang banyak digunakan seperti Linux dan ekosistem manajemen paketnya
Meskipun Carbon dimulai sebagai proyek internal Google, tim pengembangan ingin mengurangi kontribusi dari Google atau perusahaan individu lainnya menjadi kurang dari 50% pada akhir tahun. Pada akhirnya, mereka ingin menyerahkan proyek tersebut ke sebuah yayasan perangkat lunak independen, di mana pengembangannya akan dikelola oleh para sukarelawan.
Fitur penting lainnya yang tidak dimiliki C++ adalah keamanan memori. Kesalahan akses memori adalah salah satu penyebab keamanan terbesar. Pengembang karbon akan mencari cara untuk melacak status yang tidak diinisialisasi dengan lebih baik, mengembangkan API dan idiom yang mendukung pemeriksaan batas dinamis, dan membuat mode build debug default yang komprehensif. Akhirnya, para perancang berencana untuk membuat bagian Karbon yang aman.
Menurut dokumentasi, Carbon akan mendukung:
- Perangkat lunak penting untuk produktivitas;
- Evolusi perangkat lunak dan bahasa;
- Kode yang mudah dibaca, dipahami dan ditulis;
- Keamanan praktis dan mekanisme pemeriksaan;
- Pengembangan yang cepat dan terukur;
- Platform OS modern, arsitektur perangkat keras dan lingkungan;
- Interaksi dengan kode C++ yang ada dan migrasi darinya;
- Tim pengembangan juga akan membangun manajer paket bawaan, sesuatu yang sangat kurang dalam C++.
Berikut adalah beberapa kode C++ yang diterjemahkan ke Carbon. Pertama, kode C++: https://mezha.media/wp-content/uploads/2022/07/50657eb5-cpp_snippet.svg
Berikut adalah fungsi yang sama yang ditulis dalam Carbon: