Un nuovo linguaggio di programmazione che potrebbe essere il successore di C++
Il carbonio riduce il debito tecnologico delle biblioteche esistenti e semplifica l’estensione di tali biblioteche.
 
Durante la conferenza “CPP North” tenutasi di recente a Toronto, Chandler Carruth, ingegnere informatico di Google, ha presentato agli sviluppatori un nuovo linguaggio di programmazione chiamato Carbon. Secondo Carruth, Carbon è un successore sperimentale del C++, che sta invecchiando, e c’è una crescente domanda nella comunità degli sviluppatori per l’evoluzione dei linguaggi di programmazione.

Typescript è stato sviluppato da Microsoft come successore di JavaScript. Allo stesso modo, Kotlin è stato creato per sostenere le debolezze in Java. Ora, la domanda è: Carbon può dimostrare di essere un successore di C++?

 

Il carbonio può essere un degno successore?

All’evento, Carruth ha annunciato Carbon come successore sperimentale del linguaggio di programmazione C++ . Anche se la maggior parte degli sviluppatori che lavorano su Carbon provengono da Google, non è un progetto esclusivo di Google. Carruth ha rivelato che presto avrebbero iniziato questo lavoro sperimentale con la comunità C++.

Carbon è open source e gli sviluppatori vogliono che sia “un progetto indipendente e guidato dalla comunità” affinché abbia successo. Quindi il progetto sarà mantenuto su GitHub, con discussioni su Discord.

“Carbon è per organizzazioni e progetti fortemente dipendenti da C++; ad esempio, progetti che hanno molto codice C++ o utilizzano molte librerie C++ di terze parti”, hanno affermato i creatori in un repository Github.

L’origine di Carbon risiede anche nel fatto che è difficile migliorare il C++. Uno dei motivi principali di ciò è che il C++ ha decenni di debiti tecnici accumulati nella progettazione del linguaggio. Inoltre, ereditò anche l’eredità di C.

Carbon non eredita le eredità di C o C++. Invece, gli sviluppatori hanno assicurato che Carbon abbia un processo di evoluzione molto più efficiente. Inoltre, è basato su principi, processi e strumenti open source.

Tuttavia, affinché Carbon sia un degno successore di C++, c’è ancora molta strada da fare. Prima di tutto, C++ è in circolazione da molto tempo. Il carbonio, invece, è ancora in fase sperimentale e lontano anni dall’uso effettivo. Anche quando prende vita, Carbon deve essere in grado di affrontare i problemi che il C++ non è riuscito a risolvere. 

Uno dei vantaggi del C++ è che può manipolare direttamente l’hardware su cui gira. Tutto ciò che i programmatori devono fare è mettere a punto il proprio codice anche in una disponibilità di spazio hardware limitato. Perché Carbon sia un successore, deve anche essere in grado di fare cose simili, e forse di più. 

Inoltre, i casi d’uso di C++ sono molteplici. I sistemi operativi più diffusi come Windows e macOS utilizzano C++. È anche uno dei linguaggi di programmazione ampiamente utilizzati nell’industria dei giochi, con giochi come World of Warcraft e Counter-Strike sviluppati utilizzando C++.

Strumenti di database popolari come MySQL e MongoDB sono stati creati utilizzando C++. Svolge anche un ruolo nei browser Web come Google Chrome, Mozilla Firefox e Safari. TensorFlow , una libreria software open source per l’apprendimento automatico, si basa anche su C++ come linguaggio di programmazione back-end. Inoltre, C++ viene utilizzato anche per sviluppare molti strumenti finanziari e software di volo.

Carbone dentro, ruggine fuori!

Prima che Carruth ci presentasse Carbon, un altro linguaggio di programmazione chiamato Rust era considerato il successore di C++. Ciò è dovuto principalmente alle sue somiglianze sintattiche con C++, in quanto fornisce una maggiore velocità e una migliore sicurezza della memoria. Tuttavia, questo è aperto alla discussione poiché molti sviluppatori hanno trovato Rust troppo difficile da imparare poiché ha introdotto anche molti nuovi concetti.

Oltre alla ripida curva di apprendimento, convertire le basi di codice C++ correnti dei principali progetti in Rust è impegnativo. Inoltre, secondo gli sviluppatori di Carbon, il design di Rust stesso funge da barriera significativa all’adozione e alla migrazione da C++. D’altra parte, Carbon mira a convertire le basi di codice C++ in un modo molto migliore di Rust. 

Per uno sviluppatore C++, non sarà difficile imparare Carbon. In effetti, si dice che il carbonio abbia una curva di apprendimento delicata. Mentre molti pensavano che usare Rust fosse simile all’apprendimento di un nuovo linguaggio di programmazione.

“È costruito a partire da un insieme coerente di costrutti linguistici che dovrebbero sembrare familiari ed essere facili da leggere e capire”, afferma la pagina Github di Carbon.

Durante il discorso all’evento, Carruth ha anche spiegato che Rust, sviluppato da Mozilla, non ha la stessa “interoperabilità bidirezionale” degli altri strumenti. Ma i creatori di Carbon incoraggiano gli sviluppatori a continuare a utilizzare Rust se è tecnicamente ed economicamente fattibile per il progetto. 

“Riteniamo che Rust sia una scelta eccellente per la scrittura di software all’interno del puro ecosistema Rust. Il software scritto in Rust ha proprietà che né C++ né Carbon hanno. Rust è utile anche per l’utilizzo di API implementate in una lingua diversa durante il processo, quando il costo del mantenimento del confine FFI è ragionevole”.

Come sta reagendo il settore?

“Il carbonio corrisponde al 100% delle prestazioni del C++ e mira a fornire un’esperienza di sviluppo significativamente migliore”, ha twittato Mark Tenenholtz , maestro di Kaggle e scienziato dei dati senior .

Ciò è principalmente dovuto al fatto che Carbon riduce il debito tecnologico delle biblioteche esistenti e semplifica l’estensione di tali biblioteche.

Tuttavia, non tutti sono convinti che Carbon sarebbe un degno successore di C++. Sebbene Carbon sia una novità, C++ è in circolazione da decenni e ha un ampio supporto da parte della comunità.

“Non so se Carbon verrà abbandonato tra un anno o se rivoluzionerà il modo in cui vengono mantenute le basi di codice C”, ha aggiunto Tenenholtz.

Alcuni membri della comunità hanno messo in dubbio la necessità di cambiare banalità come la sintassi e far sì che le persone imparino cose da capo. 

 

Di ihal