Carbon, bahasa pemrograman yang bertujuan untuk menggantikan C++

Beberapa hari yang lalu seorang karyawan Google mengungkapkan yang sedang mengembangkan bahasa pemrograman baru yang disebut "Batu bara", bahwa diposisikan sebagai pengganti eksperimental untuk C++, memperluas bahasa ini dan menghilangkan kekurangan yang ada.

Menurut presentasi Carruth, bahasa tersebut dikembangkan untuk dapat membuat perangkat lunak di mana kinerja sangat penting. Mereka juga ingin memungkinkan pengembang untuk memanfaatkan desain bahasa pemrograman modern dengan menggunakan Carbon.

Beberapa hal yang disoroti sebagai sorotan Karbon dibandingkan dengan C++ adalah, misalnya, sintaks yang lebih sederhana dan impor API. Menurut Carruth, bahasa eksperimental baru ini harus dapat dioperasikan secara dua arah dengan C++, yang berarti bahwa proyek harus dapat bermigrasi dari satu bahasa ke bahasa lain tanpa banyak kesulitan.

Selain itu, ini adalah tujuan untuk lebih mengembangkan bahasa secara terbuka di Internet, di mana siapa saja yang ingin berkontribusi dapat menyumbangkan kode sumber. Proyek ini tersedia untuk umum di Github dan terbuka untuk tarik permintaan. 

Bahasa ini mendukung portabilitas C++ dasar, dapat berintegrasi dengan kode C++ yang ada, dan menyediakan alat untuk menyederhanakan migrasi proyek yang ada dengan menerjemahkan pustaka C++ ke kode Karbon secara otomatis.

Misalnya, Anda dapat menulis ulang pustaka tertentu di Carbon dan menggunakannya dalam proyek C++ yang ada. Kompiler Karbon ditulis menggunakan LLVM dan Clang build.

Dari karakteristik utama Karbon, yang menonjol berikut ini:

  • Kinerja kode yang dihasilkan sebanding dengan C++, dengan tetap mempertahankan kemampuan untuk mengakses alamat tingkat rendah dan data tingkat bit.
  • Portabilitas dengan kode C++ yang ada, termasuk pewarisan kelas dan templat.
  • Kompilasi cepat dan kemampuan untuk berintegrasi dengan sistem build yang ada untuk C++.
  • Sederhanakan migrasi antar versi Carbon yang berbeda.
  • Menyediakan alat yang aman untuk memori yang melindungi dari kerentanan yang disebabkan oleh pengalamatan area memori setelah dibebaskan, dereference null pointer, dan buffer overflows.

Tentu saja kami memiliki Rust sebagai alternatif yang diusulkan untuk C dan C++, tetapi ini sebenarnya bukan bahasa ekstensi, ini lebih merupakan bahasa yang lengkap, mari kita mulai lagi. Carbon mencoba menjadi seperti Rust sambil tetap kompatibel dengan dunia C++, Nah, di halaman Github-nya tertulis:

  • Pencocokan kinerja C++ menggunakan LLVM, dengan akses tingkat rendah ke bit dan alamat
  • Berinteroperasi dengan kode C++ yang ada, dari pewarisan hingga template
  • Build cepat dan skalabel yang berfungsi dengan sistem build C++ Anda yang sudah ada

Karbon diklaim diperlukan karena peningkatan C++ secara bertahap tidak mungkin lagi karena beban historis yang tidak dapat disingkirkan. Secara pribadi, saya akan melangkah lebih jauh dan menyarankan bahwa "peningkatan" tambahan dalam C++ adalah bagian dari alasan mengapa bahasa ini begitu besar dalam praktiknya.

“Selalu ada bahasa baru yang mencoba menjadi penerus C++. Saya menyambut eksperimen dengan bahasa pemrograman dan gaya pemrograman, tetapi saya benar-benar tidak ingin menimbulkan kontroversi. Sangat mudah untuk mengkritik bahasa yang sudah mapan (kami tahu masalah mereka), tetapi biasanya sulit untuk menawarkan alternatif tanpa menciptakan rangkaian masalah yang sama sekali baru dalam aturan bahasa, perpustakaan, dan tata kelola. Karbon sangat baru dan kurang spesifik sehingga saya tidak dapat membuat komentar teknis yang berarti,” kata penemu C++ Bjarne Stroustrup dalam email.

Sementara Carbon dimulai sebagai proyek internal Google, tim pengembangan pada akhirnya ingin mengurangi kontribusi dari Google, atau perusahaan individu lainnya, menjadi kurang dari 50% pada akhir tahun. Pada akhirnya, mereka ingin menyerahkan proyek tersebut ke yayasan perangkat lunak independen, di mana pengembangannya akan dilakukan oleh para sukarelawan.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya Anda harus tahu bahwa pengembangan proyek didistribusikan di bawah lisensi Apache 2.0 dan Anda dapat berkonsultasi dengan mereka Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.