Carbon, a linguaxe de programación que pretende substituír a C++

Hai poucos días revelou un empregado de Google que está a desenvolver unha nova linguaxe de programación chamada "Carbón", que sitúase como un substituto experimental de C++, ampliando esta linguaxe e eliminando as deficiencias existentes.

Segundo a presentación de Carruth, a linguaxe foi desenvolvida para poder crear software onde o rendemento é fundamental. Tamén querían permitir aos desenvolvedores aproveitar o deseño da linguaxe de programación moderna usando Carbon.

Algunhas das cousas destacadas como aspectos máis destacados de Carbon en comparación con C++ foron, por exemplo, sintaxe máis sinxela e importacións de API. Segundo Carruth, esta nova linguaxe experimental debería ser interoperable bidireccionalmente con C++, o que significa que os proxectos deberían poder migrar dunha linguaxe a outra sen moitas dificultades.

Ademais, é un obxectivo seguir desenvolvendo a linguaxe dun xeito aberto en Internet, onde quen queira pode aportar código fonte. O proxecto está dispoñible publicamente en Github e está aberto para solicitudes de extracción. 

A linguaxe admite a portabilidade básica de C++, pódese integrar co código C++ existente e ofrece ferramentas para simplificar a migración de proxectos existentes traducindo automaticamente as bibliotecas C++ a código Carbon.

Por exemplo, pode reescribir unha determinada biblioteca en Carbon e usala nun proxecto C++ existente. O compilador Carbon está escrito usando compilacións LLVM e Clang.

Das principais características do Carbono, destacan os seguintes:

  • O rendemento do código resultante é comparable ao C++, mantendo a capacidade de acceder a enderezos de baixo nivel e datos de nivel de bits.
  • Portabilidade co código C++ existente, incluíndo a herdanza de clases e modelos.
  • Compilación rápida e capacidade de integración con sistemas de compilación existentes para C++.
  • Simplifica a migración entre as diferentes versións de Carbon.
  • Ofrece ferramentas seguras para a memoria que protexen contra as vulnerabilidades causadas ao abordar unha área de memoria despois de que se liberase, desreferenciar os punteiros nulos e desbordar o búfer.

Por suposto que temos a Rust como unha alternativa proposta a C e C++, pero esta non é realmente unha linguaxe de extensión, é máis unha linguaxe completa, empecemos de novo. Carbon intenta ser como Rust aínda sendo compatible co mundo de C++, Ben, na súa páxina de Github di:

  • Correspondencia de rendemento de C++ mediante LLVM, con acceso de baixo nivel a bits e enderezos
  • Interopera co teu código C++ existente, desde a herdanza ata os modelos
  • Compilacións rápidas e escalables que funcionan cos teus sistemas de compilación C++ existentes

Afirma que o carbono é necesario porque a mellora incremental de C++ xa non é posible debido á bagaxe histórica da que simplemente non se pode desfacer. Persoalmente, iría máis aló e suxeriría que as "melloras" incrementais en C++ son parte da razón pola que é unha linguaxe tan grande na práctica.

"Sempre hai linguaxes novas que intentan ser sucesores de C++. Agradezo os experimentos con linguaxes de programación e estilos de programación, pero realmente non quero provocar controversia. É doado criticar as linguas establecidas (coñecemos os seus problemas), pero adoita ser difícil ofrecer alternativas sen crear conxuntos de problemas totalmente novos nas regras lingüísticas, nas bibliotecas e na gobernanza. Carbon é tan novo e pouco especificado que realmente non podo facer ningún comentario técnico significativo", dixo o inventor de C++ Bjarne Stroustrup nun correo electrónico.

Aínda que Carbon comezou como un proxecto interno de Google, o equipo de desenvolvemento quere finalmente reducir as contribucións de Google, ou de calquera outra empresa individual, a menos do 50% a finais de ano. En definitiva, queren entregar o proxecto a unha fundación de software independente, onde o seu desenvolvemento correrá a cargo de voluntarios.

Finalmente se estás interesado en saber máis sobre el debes saber que os desenvolvementos do proxecto distribúense baixo a licenza Apache 2.0 e podes consultalos Na seguinte ligazón.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado.

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.