Table di cuntinutu[Piattà][Mostra]
In un sforzu di rimpiazzà u venerabile ma lento C++, i ricercatori di Google anu introduttu un novu linguaghju di prugrammazione open source "sperimentale" chjamatu Carbon.
Carbon puderia serve cum'è una lingua successore à C ++, una chì furnisce un puntu di partenza simplice per i sviluppatori à una lingua più nova chì indirizza cuncetti di sviluppu cuntempuranei cum'è a sicurità di memoria è i generici.
Questu seria simile à cumu Microsoft hà custruitu Typescript per aghjurnà JavaScript è Kotlin per rinfurzà e debule in Java.
Google hà sviluppatu una quantità di linguaggi di prugrammazione in tuttu l'anni, alcuni di i quali anu acquistatu una notorietà è una prominenza significativa.
Per esempiu, Golang (o solu Go) hè statu sviluppatu per facilità a creazione di servitori è sistemi distribuiti è dopu hè stata abbracciata da u publicu generale.
U Dart lingua di prugrammazione, chì hè statu creatu cum'è un sustitutu di JavaScript, ùn hè micca diventatu cunnisciutu finu à u lanciu di Flutter.
Chandler Carruth, un impiegatu di Google, hà presentatu a so idea per una nova lingua di prugrammazione chjamata Carbon u 19 di lugliu di u 2022, à a cunvenzione Cpp North in Toronto, sicondu Conor Hoekstra, chì hà assistitu è arregistratu i slides.
Per stabilisce u scenariu, Carruth hà dimustratu cumu parechji di e lingue di prugrammazione più apprezzate di l'oghje avianu discendenti chì permettenu à i sviluppatori di esse rapidamente pruduttivi è ancu di prufittà di u disignu di lingua contemporanea.
Cuminciamu cù una introduzione generale di a lingua di prugrammazione Carbon, cumprese e so caratteristiche, u scopu di l'invenzione di Google, è più.
Introduzione à u linguaghju di prugrammazione Carbon
U 19 di lugliu di u 2022, Google hà revelatu Carbon cum'è a più nova lingua di prugrammazione chì avia creatu. Era destinatu à rimpiazzà C ++ sperimentalmente.
Grazie à a sistema genericu, chì elimina a necessità di verificà u codice per ogni instantiation, Carbon serà custruitu nantu à una basa di cuncetti muderni di prugrammazione.
À a fine di l'annu, u disignu prevede di furnisce una versione operativa basica (versione 0.1).
L'integrità di a memoria hè un elementu cruciale chì C++ manca. Una di e fonti primarie di difetti di sicurezza hè l'accessu à a memoria.
U sviluppu di cuntrolli dinamichi di i limiti, un seguimentu più grande di stati non inizializzati, è un modu di creazione di debug predefinitu cumpletu sò tutti i scopi di a squadra di Carbon. I creatori intendenu di creà un subset di Carbonu sicuru cù u tempu.
Tuttavia, e seguenti sò alcune caratteristiche cruciali di a nova lingua di prugrammazione:
- Per nome tipi, utilizate espressioni.
- Generi forti cù cuntrolli di definizione
- Tipi specificamente realizanu interfacce
- frasi introduttive è grammatica basica
- I puntatori permettenu un accessu senza restrizioni è a mutazione.
- I valori per i paràmetri di input di funzione sò di sola lettura.
- U namespace root hè u pacchettu.
- L'API ponu esse impurtate cù i so nomi di pacchettu.
- Un metudu hè dichjaratu via un paràmetru d'ughjettu esplicitu.
- E classi sò finali per difettu; ci hè solu una eredità
Caratteristiche di Carbon
Moderna è in via di sviluppu
- L'aghjurnamenti trà e versioni di Carbon sò simplici è basati nantu à strumenti.
- Forti basamenti di lingua, soprattuttu s'è vo avete usatu C++, è simplice per amparà
- Fundazioni più sicure è un approcciu passu à passu à un subset di memoria sicura
Accolta a cumunità di open source
- Una cumunità chì s'impegna à esse calda, accettata è invitante
- I so scopi è e priorità sò una governanza distinta è forte
- Una strategia all-in-one cun compilatore, biblioteche, documentazione, arnesi, gestione di pacchetti, è più
Rapidu è cumpatibile cù C ++
- U travagliu cù u Codice C ++ avete digià, cumpresi eredi è mudelli
- Cù LLVM, prestazioni paragunabili à C ++ è accessu à pocu livellu à bit è indirizzi
- Custruzzioni chì sò rapidi è scalabili è cumpatibili cù i vostri sistemi di creazione C++ esistenti
Perchè Google hà custruitu a lingua di prugrammazione Carbon?
U software criticu per u rendiment cuntinueghja esse soprattuttu scrittu in C ++, chì hà enormi basi di codice è investimenti in espansione.
Tuttavia, hà avutu difficultà per avanzà è risponde à e richieste di i sviluppatori cum'è menzionatu sopra, soprattuttu per via di l'accumulazione di anni di debitu tecnologicu.
Hè assai difficiuli di migliurà gradualmente C ++ per via di u debitu tecnicu chì hà accumulatu è di difficultà cù u so prucessu di evoluzione.
L'approcciu ideale per risolve questi prublemi hè di principià cù una basa di lingua forte, cum'è un sistema genericu cuntempuraneu, una struttura di codice modulare, è una sintassi coherente è diretta, piuttostu cà eredite direttamente a tradizione di C o C++.
Go, Swift, Kotlin, Rust, è parechje altre lingue cuntempuranee offre digià una sperienza di sviluppu eccezziunale. I sviluppatori chì sò capaci di utilizà una di queste lingue attuali duveranu.
Sfortunatamente, l'adopzione è a migrazione da C ++ sò severamente ostaculate da i disinni di queste lingue. Questi ostaculi includenu l'overhead di rendiment è mudificazioni à u disignu idiomaticu di u software.
Carbon ùn hè micca un tentativu di migliurà gradualmente C ++; piuttostu, hè una strategia di lingua successore. U so focus hè nantu à l'interoperabilità C ++, è ancu l'accettazione è a migrazione generalizata per i sviluppatori è i codici chì utilizanu attualmente C ++.
Una lingua di rimpiazzamentu C++ deve avè:
- U rendiment paragunabile à C ++ hè una caratteristica cruciale per i sviluppatori.
- Una curva di apprendimentu gestibile è un livellu di familiarità per i programatori C++
- Migrazione chì hè scalabile è include una traduzzione di codice C++ idiomaticu da fonte à fonte.
- Espressività simile è supportu per l'architettura è u disignu di u software attuale.
- Interoperabilità cù C ++ chì hè senza saldatura è bidirezionale, chì permette à qualsiasi biblioteca di aduttà Carbon senza avè da portà u restu di a pila.
Cù sta strategia, Google aghjunghje à l'ecosistema chì esiste digià per C++ è incorpora investimenti attuali, basi di codice è cumunità di sviluppu.
Uni pochi lingue anu aduttatu stu approcciu per diversi ecosistemi, è Carbon cerca di ghjucà una funzione simili à C++ in queste situazioni:
- Java - Kotlin
- JavaScript - TypeScript
- C++ - Carbon
C++ VS Carbon Code
Carbon deve avè una curva d'apprendimentu bassa se site già un sviluppatore C ++. Hè cumpostu di un inseme fissu di custruzzioni grammaticali chì duveranu sonà naturali è esse simplici per leghje è capisce.
Un esempiu di codice C++:
Stu codice Carbon currisponde à:
Carbone vs Rust
Un'altra lingua cuntempuranea cuncepita espressamente per risponde à i requisiti di l'applicazioni di prestazioni di memoria sicura hè chjamata Rust.
Allora perchè micca solu aduprà Rust?
Mentre chì certi sustene chì Rust, chì hà iniziatu cum'è un prughjettu Mozilla è hà sviluppatu in seguitu per avè un seguitu publicu considerableu, hè un successore di C ++, Carruth dubbita se u parallelu hè sempre validu.
Rust hè senza dubbitu una lingua fantastica cù quale principià un novu prughjettu, ma cum'è ùn manca l'"interoperabilità bidirezionale" di lingue cum'è Java & Kotlin, hè sfida à a transizione gradualmente.
Carruth hà datu una cunferenza in CPP North è hà incuraghjitu e persone chì anu digià utilizatu Rust à cuntinuà à fà cusì. I sviluppatori chì anu digià una basa di codice C ++ grande chì hè sfida à cunvertisce à Rust deve aduprà Carbon.
In particulare, Carbon hè ciò chì Carruth hà riferitu cum'è una "lingua di successore", chì hè custruitu nantu à un ecosistema esistente, in questu casu C ++.
Per questu scopu, Carbon hè destinatu à esse cumplettamente cumpatibile cù u codice C++ attuale, ancu s'ellu hà assai scopi cù Rust, cum'è l'assistenza à i programatori in a creazione di "applicazioni critiche di rendiment".
Inoltre, hè destinatu à fà u muvimentu da C ++ à Carbon u più simplice pussibule.
cunchiusioni
Infine, i criatori di lingua Carbone anu fattu un sforzu per attentu à u prucessu di creazione. U codice di u prugettu hè dispunibule per dumanda è guardatu apertamente Github, è a so cultura hè definita cum'è inclusiva è aperta à i citadini privati è u settore IT.
A squadra di Carbon hà pensatu chì u Carbon hà bisognu à esse un prughjettu autonomu guidatu da a cumunità è micca solu un prughjettu alimentatu da Google per sviluppà in u futuru.
Caruth hà aghjustatu chì, malgradu l'interessu di parechje imprese IT, stu cuncettu hè sempre in u stadiu sperimentale.
Lascia un Audiolibro