Incontriamoci all'E-commerce Berlin Expo, il 22 febbraio 2024.

Lasciate i vostri contatti, vi invieremo il nostro whitepaper via e-mail.
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

Il linguaggio Carbon di Google potrebbe sostituire il C++

Alla conferenza CPP North, Chandler Carruth, ingegnere software principale di Google, ha annunciato il rilascio del linguaggio di programmazione Carbon. Carbon di Google è un linguaggio open-source sperimentale che si propone di essere il successore del C++, ma non di sostituirlo. Nell'articolo daremo un'occhiata più da vicino a Carbon, ai suoi obiettivi, alle sue potenzialità e ai motivi per cui il C++ ha bisogno di un successore.
Google'lingua del carbonio

Cosa c'è di sbagliato nel C++?

Secondo il Indice TIOBE per agosto 2022Il C++ si colloca al quarto posto dopo Python, C, e Java. Dal 2001, il C++ non è mai sceso al di sotto del quinto posto, il che indica l'elevata popolarità di questo linguaggio di programmazione nonostante la sua età (è apparso per la prima volta nel 1985). Il C++ presenta molteplici vantaggi cruciali per lo sviluppo di software critici dal punto di vista delle prestazioni. Allora perché ha bisogno di un successore? Come spiegato da Chandler Carruth, il C++ non riesce a raggiungere gli obiettivi principali del linguaggio. Questi includono, tra gli altri, il supporto di software critico per le prestazioni, la semplicità della sintassi, l'evoluzione del linguaggio, i sistemi moderni e la sicurezza robusta. Le caratteristiche specifiche del linguaggio e le questioni burocratiche impediscono al C++ di migliorare gradualmente. Per quanto riguarda le peculiarità del linguaggio, il C++ ha accumulato un elevato debito tecnico nel corso della sua evoluzione. Inoltre, ha ereditato molte caratteristiche del linguaggio C. Inoltre, gli utenti del C++ danno priorità alla compatibilità all'indietro per supportare gli ecosistemi C/C++ esistenti. Allo stesso tempo, la retrocompatibilità non consente di correggere il debito tecnico, quindi il processo di evoluzione del C++ rende ancora più difficile l'implementazione di miglioramenti. Parlando di questioni burocratiche, il processo di miglioramento del C++ è notevolmente rallentato da un comitato (WG21) che si occupa di standardizzazione ma non di progettazione. Il WG21 impiega processi a cascata lenti che portano a ritardi nel prendere decisioni cruciali. Inoltre, il comitato ha accesso limitato alla maggior parte degli esperti di C++ e rappresenta solo alcune aziende e nazioni, ignorando l'ampia comunità C++.

Obiettivi del linguaggio di programmazione Carbon

Come linguaggio successore, il Carbon ha ereditato l'interfaccia obiettivi originali del C++ e ne ha ricevuto uno in più.
Linguaggio del carbonio
Basato su un approccio da linguaggio successore, Carbon si concentra su 3 questioni principali che affrontano le sfide esistenti del C++ e ci permettono di considerare Carbon come un progetto promettente: interoperabilità, migrazione ed evoluzione del linguaggio. Basandosi su questi punti, i creatori di Carbon si sforzano di eliminare il debito tecnico del C++, di mantenere l'accesso agli ecosistemi esistenti, di garantire miglioramenti rapidi e di evitare la retrocompatibilità utilizzando aggiornamenti basati su strumenti.

Quali sono le promesse del Carbon?

Le informazioni disponibili al momento ci permettono di considerare Carbon un progetto molto promettente. Per quanto riguarda l'aspetto pratico del nuovo linguaggio di programmazione, Chandler Carruth sostiene che da Carbon possiamo aspettarci una grammatica più semplice, parole chiave introduttive (ad esempio fn e var), un sistema di generici controllati dalla definizione e una curva di apprendimento ripida. Carbon erediterà le elevate prestazioni di C ed eviterà i suoi principali svantaggi.

Inoltre, i creatori di Carbon affermano che Carbon sarà un linguaggio di programmazione open-source e completamente interoperabile con C++. Il codice Carbon è molto simile al codice C++ e in molti casi sono quasi identici. Inoltre, il codice Carbon può essere integrato nel codice C++. Pertanto, gli sviluppatori C++ che desiderano passare completamente a Carbon avranno a disposizione un kit di strumenti per traslitterare automaticamente le librerie C++ nel codice del nuovo linguaggio. È possibile anche la migrazione inversa. In futuro, queste librerie potranno essere utilizzate in un progetto C ++ esistente. Tutti gli strumenti di Carbon sono ospitati su GitHub e distribuiti con la licenza Apache 2.0. Finora, c'è un interprete demo di Carbonio disponibile.

Una parte importante del progetto sperimentale Carbon è la struttura di governance. Il team Carbon è guidato dai principi di inclusività e apertura. La struttura di governance di Carbon è stata progettata per garantire rapidità decisionale, flessibilità e rapido sviluppo del progetto. Tutte le decisioni cruciali sono prese dai responsabili di Carbon, rappresentati al momento da Chandler Carruth, Kate Gregory e Richard Smith. Poiché il progetto Carbon si basa sul modello di sviluppo open-source, ogni utente può inviare richieste su GitHub per suggerire modifiche al progetto e guidare l'evoluzione del linguaggio Carbon.

Al momento, i dipendenti di Google stanno lavorando al linguaggio di programmazione Carbon come progetto interno. Tuttavia, si prevede di ridurre il livello di coinvolgimento dell'azienda nel progetto, poiché gli sviluppatori sono consapevoli che per il successo futuro Carbon deve essere un progetto indipendente e guidato dalla comunità.

In conclusione

È importante capire che Carbon è un progetto sperimentale ed è troppo presto per affermare inequivocabilmente che Carbon è un successore a tutti gli effetti del C++. Secondo la roadmap di Carbon, lo sviluppo dei principali costrutti del linguaggio dovrebbe essere completato entro la fine del 2022, e questo è esattamente il momento in cui Carbon 0.1 dovrebbe essere rilasciato. Ci vorrà del tempo per valutare il successo del progetto, ma possiamo già parlare delle alte prospettive del linguaggio di programmazione Carbon come successore del C++ sulla base delle caratteristiche e dei principi di sviluppo annunciati.
Grazie per la valutazione!
Grazie per il commento!

Indice dei contenuti

Valuta questo articolo:

4/5

4.8/5 (45 recensioni)

Contenuti correlati

Blog
sviluppatori junior
Blog
confini di rottura: Innowise è tra le 100 aziende a più rapida crescita per il 2023
Blog
Le principali tendenze di sviluppo del software
Blog
10 modelli di architettura software da conoscere
Blog
Intelligenza decisionale
Blog
L'intelligenza artificiale nella sanità
Blog
Blog

Ci ha portato una sfida?

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia