Ing upaya kanggo ngganti C ++ sing dihormati nanging alon, peneliti Google ngenalake basa pamrograman sumber terbuka "eksperimen" anyar sing diarani Carbon.
Karbon bisa dadi basa penerus C ++, sing nyedhiyakake titik wiwitan sing prasaja kanggo pangembang menyang basa sing luwih anyar sing nyinaoni konsep pangembangan kontemporer kaya safety memori lan generik.
Iki bakal padha karo carane Microsoft nggawe Typescript kanggo nganyari JavaScript lan Kotlin kanggo nguatake kelemahane ing Jawa.
Google wis ngembangake pirang-pirang basa pamrograman sajrone pirang-pirang taun, sawetara sing wis misuwur lan misuwur.
Contone, Golang (utawa mung Go) dikembangake kanggo nggampangake nggawe server lan sistem sing disebarake lan banjur dianut dening masyarakat umum.
Dart programming language, sing digawe minangka pengganti JavaScript, ora kondhang nganti diluncurake Flutter.
Chandler Carruth, karyawan Google, nampilake ide babagan basa pamrograman anyar sing diarani Carbon tanggal 19 Juli 2022, ing konvensi Cpp North ing Toronto, miturut Conor Hoekstra, sing rawuh lan ngrekam slide.
Kanggo nyetel skenario kasebut, Carruth nuduhake kepiye sawetara basa pamrograman sing paling disenengi ing jaman saiki duwe keturunan sing ngidini para pangembang bisa kanthi cepet dadi produktif lan uga entuk manfaat saka desain basa kontemporer.
Ayo diwiwiti kanthi introduksi umum babagan basa pamrograman Carbon, kalebu fitur-fiture, tujuan panemuan Google, lan liya-liyane.
Pengantar Bahasa Pemrograman Karbon
Tanggal 19 Juli 2022, Google ngumumake Carbon minangka basa pamrograman paling anyar sing digawe. Iki dimaksudake kanggo ngganti C ++ kanthi eksperimen.
Matur suwun a sistem generik, kang ngilangake perlu kanggo mriksa kaping pindho kode kanggo saben instantiation, Carbon bakal dibangun ing dhasar saka konsep program modern.
Ing pungkasan taun, desain ngrancang nyedhiyakake versi operasional dhasar (versi 0.1).
Integritas memori minangka unsur penting sing ora C ++. Salah sawijining sumber utama cacat keamanan yaiku masalah akses memori.
Pangembangan mriksa wates dinamis, nelusuri luwih akeh negara sing ora dikawruhi, lan mode debug standar sing lengkap kabeh dadi tujuan tim Carbon. Para pangripta arep nggawe subset Carbon sing aman saka wektu.
Nanging, ing ngisor iki sawetara ciri penting saka basa pamrograman anyar:
- Kanggo jeneng jinis, gunakake ekspresi.
- Generik sing kuat kanthi pamriksa definisi
- Jinis khusus nindakake antarmuka
- frase pambuka lan grammar dhasar
- Pointer ngidini akses lan mutasi tanpa wates.
- Nilai kanggo paramèter input fungsi mung diwaca.
- Ruang jeneng root yaiku paket.
- API bisa diimpor nggunakake jeneng paket.
- Cara diumumake liwat parameter obyek sing eksplisit.
- Kelas pungkasan minangka standar; mung ana siji pusaka
Fitur Karbon
Modern lan berkembang
- Nganyarke antarane versi Carbon prasaja lan adhedhasar alat.
- Dasar basa sing kuwat, utamane yen sampeyan wis nggunakake C ++, lan gampang sinau
- Yayasan sing luwih aman lan pendekatan langkah-langkah menyang subset sing aman memori
Sugeng rawuh ing komunitas open source
- Komunitas sing ngupayakake anget, nrima, lan ngundang
- Tujuan lan prioritase yaiku pamrentahan sing beda lan kuwat
- Strategi kabeh-ing-siji kanthi kompiler, perpustakaan, dokumentasi, alat, manajemen paket, lan liya-liyane
Cepet lan kompatibel karo C++
- Kerja bareng karo Kode C ++ sampeyan wis duwe, kalebu warisan lan cithakan
- Kanthi LLVM, kinerja bisa dibandhingake karo C ++ lan akses tingkat rendah menyang bit lan alamat
- Mbangun sing cepet lan keukur lan kompatibel karo C ++ mbangun sistem ana
Napa Google nggawe basa pamrograman Carbon?
Piranti lunak kritis kinerja terus biasane ditulis ing C ++, sing duwe basis kode lan investasi sing gedhe banget lan ngembangake.
Nanging, ana alangan kanggo maju lan nyukupi panjaluk para pangembang kaya sing kasebut ing ndhuwur, umume amarga utang teknologi taun-taun.
Pancen angel banget kanggo nambah C ++ amarga utang teknis sing ditindakake lan uga kesulitan karo proses evolusi.
Pendekatan sing becik kanggo ngrampungake masalah kasebut yaiku diwiwiti kanthi dhasar basa sing kuat, kayata sistem generik kontemporer, struktur kode modular, lan sintaksis sing konsisten lan langsung, tinimbang langsung warisan tradisi C utawa C++.
Go, Swift, Kotlin, Rust, lan akeh basa kontemporer liyane wis menehi pengalaman pangembangan sing luar biasa. Pangembang sing bisa nggunakake salah sawijining basa saiki kudu.
Sayange, adopsi lan migrasi saka C ++ banget alangan dening desain basa kasebut. Rintangan kasebut kalebu overhead kinerja lan modifikasi desain idiomatik piranti lunak kasebut.
Karbon ora nyoba kanggo nambah C ++ mboko sithik; rodo, iku strategi basa penerus. Fokuse yaiku ing interoperabilitas C ++, uga ditampa lan migrasi sing akeh kanggo pangembang lan basis kode sing saiki nggunakake C ++.
Basa panggantos C++ kudu duwe:
- Kinerja sing bisa dibandhingake karo C ++ minangka ciri penting kanggo pangembang.
- Kurva belajar sing bisa diatur lan tingkat akrab kanggo programer C ++
- Migrasi sing bisa diukur lan kalebu sawetara terjemahan kode C++ idiomatik sumber-kanggo-sumber.
- Ekspresi lan dhukungan sing padha kanggo arsitektur lan desain piranti lunak saiki.
- Interoperabilitas karo C ++ sing mulus lan bidirectional, ngidini perpustakaan apa wae kanggo nganggo Carbon tanpa kudu port liyane tumpukan.
Kanthi strategi iki, Google nambahake ekosistem sing wis ana kanggo C ++ lan nggabungake investasi, basis kode, lan komunitas pangembangan saiki.
Sawetara basa wis ngetrapake pendekatan iki kanggo macem-macem ekosistem, lan Carbon ngupayakake fungsi sing padha karo C++ ing kahanan iki:
- Jawa – Kotlin
- JavaScript - TypeScript
- C++ - Karbon
C++ VS Kode Karbon
Karbon kudu duwe kurva sinau sing kurang yen sampeyan wis dadi pangembang C ++. Iki dumadi saka sakumpulan konstruksi gramatikal sing kudune muni alami lan gampang diwaca lan dimangerteni.
Tuladha kode C++:
Kode Karbon iki cocog karo:
Karbon Vs Karat
Basa kontemporer liyane sing dirancang kanthi tegas kanggo nyukupi syarat aplikasi kinerja sing aman memori diarani Rust.
Dadi kenapa ora mung nggunakake Rust?
Nalika sawetara argue yen Rust, sing diwiwiti minangka proyek Mozilla lan banjur berkembang dadi pengikut umum sing cukup gedhe, minangka penerus C ++, Carruth mamang yen paralel kasebut isih bener.
Rust mesthi minangka basa sing apik kanggo miwiti proyek anyar, nanging amarga ora duwe "interoperabilitas bidirectional" saka basa kaya Java & Kotlin, mula angel kanggo transisi menyang basa kasebut kanthi bertahap.
Carruth menehi kuliah ing CPP North lan nyengkuyung wong-wong sing wis nggunakake Rust supaya tetep nglakoni. Pangembang sing wis duwe basis kode C ++ sing cukup angel diowahi dadi Rust kudu nggunakake Carbon.
Khususe, Carbon yaiku apa sing diarani Carruth minangka "basa penerus," sing dibangun ing ndhuwur ekosistem sing ana, ing C++ iki.
Kanggo tujuan kasebut, Carbon kudu kompatibel karo kode C ++ saiki, sanajan akeh tujuan karo Rust, kayata mbantu programer nggawe "aplikasi kritis kinerja."
Kajaba iku, iku dimaksudaké kanggo nggawe obah saka C ++ kanggo Carbon minangka prasaja sabisa.
kesimpulan
Pungkasan, pangripta basa Carbon ngupayakake nggatekake proses nggawe. Kode proyek kasedhiya kanggo panyuwunan lan disimpen kanthi mbukak GitHub, lan budaya kasebut ditetepake minangka inklusif lan mbukak kanggo warga pribadi lan sektor IT.
Tim Carbon mikir yen Carbon kudu dadi proyek otonom sing didorong dening masyarakat lan ora mung proyek sing didhukung Google supaya bisa berkembang ing mangsa ngarep.
Caruth nambahake, sanajan ana minat saka sawetara bisnis IT, konsep iki isih ana ing tahap eksperimen.
Ninggalake a Reply