Un dipendente di Google sta sviluppando il linguaggio di programmazione Carbon, che si propone come sostituto sperimentale del C++, ampliando il linguaggio ed eliminando le carenze esistenti. Il linguaggio supporta la portabilità di base del C++, può integrarsi con il codice C++ esistente e fornisce strumenti per semplificare la migrazione dei progetti esistenti traducendo automaticamente le librerie C++ nel codice Carbon. Ad esempio, puoi riscrivere una determinata libreria in Carbon e utilizzarla in un progetto C++ esistente. Il compilatore Carbon è scritto utilizzando gli sviluppi LLVM e Clang. Gli sviluppi del progetto sono distribuiti sotto la licenza Apache 2.0.
Caratteristiche principali del carbonio:
- Il codice risultante ha prestazioni paragonabili a quelle del C++, pur mantenendo l'accesso di basso livello agli indirizzi e ai dati a livello di bit.
- Portabilità con il codice C++ esistente, inclusi ereditarietà delle classi e modelli.
- Assemblaggio rapido e capacità di integrazione con i sistemi di assemblaggio esistenti per C++.
- Semplifica la migrazione tra diverse versioni di Carbon.
- Fornisce strumenti sicuri per la memoria per la protezione dalle vulnerabilità after-free, come dereferenziazioni di puntatori NULL e sovraccarichi del buffer.
Fonte: opennet.ru