Taula de continguts[Amaga][Espectacle]
En un esforç per substituir el venerable però lent C++, els investigadors de Google han introduït un nou llenguatge de programació "experimental" de codi obert anomenat Carbon.
Carbon podria servir com a llenguatge successor de C++, un que proporciona un punt de partida senzill per als desenvolupadors a un llenguatge més nou que aborda conceptes de desenvolupament contemporanis com la seguretat de la memòria i els genèrics.
Això seria similar a com Microsoft va crear Typescript per actualitzar JavaScript i Kotlin per reforçar les debilitats de Java.
Google ha desenvolupat diversos llenguatges de programació al llarg dels anys, alguns dels quals han guanyat una notorietat i un protagonisme importants.
Per exemple, Golang (o simplement Go) es va desenvolupar per facilitar la creació de servidors i sistemes distribuïts i, posteriorment, ha estat acceptat pel públic en general.
El Dard llenguatge de programació, que es va crear com a substitut de JavaScript, no es va fer conegut fins al llançament de Flutter.
Chandler Carruth, un empleat de Google, va presentar la seva idea per a un nou llenguatge de programació anomenat Carbon el 19 de juliol de 2022, a la convenció Cpp North a Toronto, segons Conor Hoekstra, que va assistir i va gravar les diapositives.
Per tal d'establir l'escenari, Carruth va demostrar com diversos dels llenguatges de programació més populars de l'actualitat tenien descendents que permeten als desenvolupadors ser ràpidament productius i també beneficiar-se del disseny de llenguatge contemporani.
Comencem amb una introducció general del llenguatge de programació Carbon, incloses les seves característiques, el propòsit de la invenció de Google i molt més.
Introducció al llenguatge de programació Carbon
El 19 de juliol de 2022, Google va revelar Carbon com el llenguatge de programació més nou que havia creat. Pretenia substituir C++ experimentalment.
Gràcies a un sistema genèric, que elimina la necessitat de comprovar el codi per a cada instanciació, Carbon es construirà sobre una base de conceptes de programació moderns.
A finals d'any, el disseny preveu proporcionar una versió operativa bàsica (versió 0.1).
La integritat de la memòria és un element crucial que falta en C++. Una de les fonts principals de fallades de seguretat són els problemes d'accés a la memòria.
El desenvolupament de comprovacions de límits dinàmics, un seguiment més gran dels estats no inicialitzats i un mode de creació de depuració predeterminat exhaustiu són tots els objectius de l'equip de Carbon. Els creadors tenen la intenció de crear un subconjunt de carboni segur al llarg del temps.
Tanmateix, les següents són algunes de les característiques crucials del nou llenguatge de programació:
- Per anomenar tipus, utilitzeu expressions.
- Genèrics forts amb comprovacions de definició
- Els tipus realitzen específicament interfícies
- frases d'introducció i gramàtica bàsica
- Els punters permeten l'accés i la mutació sense restriccions.
- Els valors dels paràmetres d'entrada de la funció són només de lectura.
- L'espai de noms arrel és el paquet.
- Les API es poden importar utilitzant els seus noms de paquet.
- Un mètode es declara mitjançant un paràmetre d'objecte explícit.
- Les classes són definitives per defecte; només hi ha una herència
Característiques del carboni
Modern i en desenvolupament
- Les actualitzacions entre les versions de Carbon són senzilles i es basen en eines.
- Un llenguatge sòlid, sobretot si has utilitzat C++, i fàcil d'aprendre
- Fonaments més segurs i un enfocament pas a pas a un subconjunt segur per a la memòria
Donant la benvinguda a la comunitat de codi obert
- Una comunitat que s'esforça per ser càlida, acollidora i acollidora
- Els seus objectius i prioritats són una governança clara i sòlida
- Una estratègia tot en un amb un compilador, biblioteques, documentació, eines, gestió de paquets i molt més
Ràpid i compatible amb C++
- Treballar juntament amb el Codi C ++ ja teniu, incloses l'herència i les plantilles
- Amb LLVM, rendiment comparable al C++ i accés de baix nivell a bits i adreces
- Construccions ràpides i escalables i compatibles amb els vostres sistemes de compilació C++ existents
Per què Google va crear el llenguatge de programació Carbon?
El programari crític per al rendiment continua essent escrit principalment en C++, que té bases de codi i inversions enormes i en expansió.
No obstant això, està tenint problemes per avançar i satisfer les demandes dels desenvolupadors com s'ha esmentat anteriorment, en gran part a causa d'acumular anys de deute tecnològic.
És molt difícil millorar gradualment el C++ a causa del deute tècnic que ha acumulat i de les dificultats amb el seu procés d'evolució.
L'enfocament ideal per resoldre aquests problemes és començar amb una base de llenguatge sòlida, com ara un sistema genèric contemporani, una estructura de codi modular i una sintaxi coherent i senzilla, en lloc d'heretar directament la tradició de C o C++.
Go, Swift, Kotlin, Rust i molts altres idiomes contemporanis ja ofereixen una experiència de desenvolupament excepcional. Els desenvolupadors que siguin capaços d'utilitzar un d'aquests idiomes actuals ho haurien de fer.
Malauradament, l'adopció i la migració de C++ es veuen greument obstaculitzats pels dissenys d'aquests llenguatges. Aquests obstacles inclouen la sobrecàrrega de rendiment i modificacions al disseny idiomàtic del programari.
Carbon no és un intent de millorar gradualment C++; més aviat, és una estratègia lingüística successora. El seu enfocament se centra en la interoperabilitat C++, així com en l'acceptació i la migració generalitzades per als desenvolupadors i bases de codi que utilitzen actualment C++.
Un llenguatge de substitució C++ ha de tenir:
- El rendiment comparable al C++ és una característica crucial per als desenvolupadors.
- Una corba d'aprenentatge manejable i un nivell de familiaritat per als programadors de C++
- Migració escalable i que inclou alguna traducció de codi C++ idiomàtic d'origen a font.
- Similar expressivitat i suport per a l'arquitectura i disseny del programari actual.
- Interoperabilitat amb C++ que és perfecta i bidireccional, permetent que qualsevol biblioteca adopti Carbon sense haver de portar la resta de la pila.
Amb aquesta estratègia, Google s'afegeix a l'ecosistema que ja existeix per a C++ i incorpora inversions actuals, bases de codi i comunitats de desenvolupament.
Alguns idiomes han adoptat aquest enfocament per a diversos ecosistemes, i Carbon busca fer una funció similar a C++ en aquestes situacions:
- Java – Kotlin
- JavaScript - TypeScript
- C++ - Carboni
C++ VS Codi de carboni
Carbon hauria de tenir una corba d'aprenentatge baixa si ja sou un desenvolupador de C++. Està compost per un conjunt fix de construccions gramaticals que han de sonar naturals i ser senzilles de llegir i comprendre.
Un exemple de codi C++:
Aquest codi de carboni correspon a:
Carboni vs òxid
Un altre llenguatge contemporani dissenyat expressament per satisfer els requisits de les aplicacions de rendiment segures per a la memòria es diu Rust.
Aleshores, per què no utilitzar simplement Rust?
Tot i que alguns argumenten que Rust, que va començar com un projecte de Mozilla i posteriorment ha crescut fins a tenir un nombre considerable de seguidors públics, és un successor de C++, Carruth dubta de si el paral·lelisme encara és vàlid.
Rust és, sens dubte, un llenguatge fantàstic amb el qual començar un nou projecte, però com que no té la "interoperabilitat bidireccional" de llenguatges com Java i Kotlin, és un repte passar-hi gradualment.
Carruth va donar una conferència a CPP North i va animar les persones que ja feien servir Rust a continuar fent-ho. Els desenvolupadors que ja tenen bases de codi C++ importants que són difícils de convertir a Rust haurien d'utilitzar Carbon.
En particular, Carbon és el que Carruth va referir com a "llenguatge successor", que es construeix a sobre d'un ecosistema existent, en aquest cas C++.
Amb aquesta finalitat, Carbon està pensat per ser completament compatible amb el codi C++ actual, fins i tot si té molts objectius amb Rust, com ara ajudar els programadors a crear "aplicacions crítiques de rendiment".
A més, es pretén que el pas de C++ a Carbon sigui el més senzill possible.
Conclusió
Finalment, els creadors del llenguatge Carbon van fer un esforç per prestar atenció al procés de creació. El codi del projecte es pot sol·licitar i s'emmagatzema obertament Github, i la seva cultura es defineix com a inclusiva i oberta tant als ciutadans privats com al sector informàtic.
L'equip de Carbon va pensar que Carbon havia de ser un projecte autònom impulsat per la comunitat i no només un projecte impulsat per Google per poder desenvolupar-se en el futur.
Caruth va afegir que, malgrat l'interès de diverses empreses de TI, aquest concepte encara es troba en fase experimental.
Deixa un comentari