Carbon, el llenguatge de programació que pretén reemplaçar C++

Fa pocs dies un empleat de Google va donar a conèixer que està desenvolupant un nou llenguatge de programació anomenat Carbon, que es posiciona com un reemplaçament experimental de C++, ampliant aquest llenguatge i eliminant les deficiències existents.

Segons la presentació de Carruth, el llenguatge va ser desenvolupat per poder crear programari on el rendiment és crític. També volien permetre que els desenvolupadors aprofitessin el disseny del llenguatge de programació modern mitjançant l'ús de Carbon.

Algunes de les coses destacades com a punts destacats de Carbon en comparació amb C++ van ser, per exemple, una sintaxi més simple i les importacions d'API. Segons Carruth, aquest nou llenguatge experimental hauria de ser interoperable bidireccionalment amb C++, cosa que significa que els projectes haurien de poder migrar d'un llenguatge a un altre sense gaire dificultat.

A més, és un objectiu desenvolupar encara més el llenguatge de forma oberta a Internet, on qualsevol que ho desitgi pot contribuir amb el codi font. El projecte està disponible públicament a Github i està obert per sol·licituds dincorporació de canvis. 

El llenguatge és compatible amb la portabilitat bàsica de C++, es pot integrar amb el codi C++ existent i proporciona eines per simplificar la migració de projectes existents mitjançant la traducció automàtica de biblioteques C++ a codi Carbon.

Per exemple, podeu reescriure una biblioteca determinada a Carbon i utilitzar-la en un projecte C++ existent. El compilador Carbon està escrit usant desenvolupaments LLVM i Clang.

De les principals característiques de Carbon, Es destaquen les següents:

  • El rendiment del codi resultant és comparable al de C++ alhora que manté la capacitat d'accedir a adreces de baix nivell i dades a nivell de bits.
  • Portabilitat amb el codi C++ existent, inclosa l'herència de classes i plantilles.
  • Compilació ràpida i capacitat dintegració amb els sistemes de compilació existents per a C++.
  • Simplifiqueu la migració entre diferents versions de Carbon.
  • Proporciona eines segures per a la memòria que protegeixen contra les vulnerabilitats causades per abordar una àrea de memòria després que s'hagi alliberat, desreferenciar punters nuls i desbordaments de memòria intermèdia.

Per descomptat, tenim Rust com una alternativa proposada a C i C++, però aquest no és realment un llenguatge d'extensió, és més un llenguatge complet, comencem de nou. Carbon està tractant de ser com Rust sense deixar de ser compatible amb el món de C++, doncs a la seva pàgina de Github diu:

  • Coincidència de rendiment de C++ mitjançant LLVM, amb accés de baix nivell a bits i adreces
  • Interoperar amb el codi C++ existent, des de l'herència fins a les plantilles
  • Compilacions ràpides i escalables que funcionen amb els seus sistemes de compilació C++ existents

S'afirma que Carbon és necessari perquè la millora incremental de C++ simplement ja no és possible a causa del bagatge històric del que simplement no es pot desfer. Personalment, aniria més enllà i suggeriria que les «millores» incrementals a C++ són part de la raó per la qual, a la pràctica, és un llenguatge tan extens.

“Sempre hi ha nous llenguatges que intenten ser els successors de C++. Dono la benvinguda als experiments amb llenguatges de programació i estils de programació, però realment no vull generar controvèrsies. És fàcil criticar els llenguatges establerts (coneixem els seus problemes), però en general és difícil oferir alternatives sense crear conjunts completament nous de problemes a les regles, biblioteques i governança del llenguatge. Carbon és tan nou i està subespecificat que realment no puc fer comentaris tècnics significatius”, va dir en un correu electrònic l?inventor de C++, Bjarne Stroustrup.

Tot i que Carbon va començar com un projecte intern de Google, l'equip de desenvolupament finalment vol reduir les contribucions de Google, o de qualsevol altra companyia individual, a menys del 50% per a cap d'any. En darrera instància, volen lliurar el projecte a una fundació de programari independent, on el seu desenvolupament estarà a càrrec de voluntaris.

Finalment si estàs interessat en poder conèixer més a l'respecte has de saber que els desenvolupaments del projecte es distribueixen sota la llicència Apache 2.0 i els pots consultar en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.