Carbon, ang programming language na naglalayong palitan ang C++

Ilang araw na ang nakakalipas isang empleyado ng Google ang nagsiwalat na bumubuo ng bagong programming language na tinatawag na "Coal", ito ay nakaposisyon bilang isang pang-eksperimentong kapalit para sa C++, pagpapalawak ng wikang ito at pag-aalis ng mga kasalukuyang pagkukulang.

Ayon sa pagtatanghal ni Carruth, ang wika ay binuo upang makalikha ng software kung saan ang pagganap ay kritikal. Nais din nilang payagan ang mga developer na samantalahin ang modernong disenyo ng programming language sa pamamagitan ng paggamit ng Carbon.

Ang ilan sa mga bagay na naka-highlight bilang mga highlight ng Carbon kumpara sa C++ ay, halimbawa, mas simpleng syntax at pag-import ng API. Ayon kay Carruth, ang bagong pang-eksperimentong wikang ito ay dapat na bidirectionally interoperable sa C++, ibig sabihin, ang mga proyekto ay dapat na makapag-migrate mula sa isang wika patungo sa isa pa nang walang labis na kahirapan.

Bilang karagdagan, ito ay isang layunin upang higit pang paunlarin ang wika sa isang bukas na paraan sa Internet, kung saan ang sinumang gustong mag-ambag ng source code. Ang proyekto ay magagamit ng publiko sa Github at bukas para sa mga kahilingan sa paghila. 

Sinusuportahan ng wika ang basic C++ portability, ay maaaring isama sa umiiral nang C++ code, at nagbibigay ng mga tool upang pasimplehin ang paglipat ng mga kasalukuyang proyekto sa pamamagitan ng awtomatikong pagsasalin ng mga C++ na library sa Carbon code.

Halimbawa, maaari mong muling isulat ang isang partikular na library sa Carbon at gamitin ito sa isang umiiral nang proyektong C++. Ang Carbon compiler ay isinulat gamit ang LLVM at Clang build.

Sa mga pangunahing katangian ng Carbon, ang sumusunod ay kapansin-pansin:

  • Ang pagganap ng resultang code ay maihahambing sa C++, habang pinapanatili ang kakayahang ma-access ang mga mababang antas na address at bit-level na data.
  • Portability na may umiiral nang C++ code, kasama ang class inheritance at mga template.
  • Mabilis na compilation at kakayahang magsama sa mga kasalukuyang build system para sa C++.
  • Pasimplehin ang paglipat sa pagitan ng iba't ibang bersyon ng Carbon.
  • Nagbibigay ng mga tool na ligtas sa memorya na nagpoprotekta laban sa mga kahinaan na dulot ng pagtugon sa isang lugar ng memorya pagkatapos na ito ay mapalaya, pag-dereference ng mga null pointer, at mga buffer overflow.

Siyempre mayroon kaming Rust bilang isang iminungkahing alternatibo sa C at C++, ngunit hindi talaga ito isang extension na wika, ito ay higit pa sa isang ganap na wika, magsimula tayo muli. Sinisikap ng Carbon na maging katulad ni Rust habang tugma pa rin sa mundo ng C++, Buweno, sa pahina ng Github nito ay sinasabi nito:

  • Pagtutugma ng pagganap ng C++ gamit ang LLVM, na may mababang antas ng access sa mga bit at address
  • Makipag-ugnay sa iyong umiiral na C++ code, mula sa mana hanggang sa mga template
  • Mabilis, nasusukat na mga build na gumagana sa iyong umiiral nang C++ build system

Ang carbon ay sinasabing kailangan dahil ang incremental improvement ng C++ ay hindi na posible dahil sa makasaysayang bagahe na hindi nito maalis. Sa personal, pupunta pa ako at iminumungkahi na ang mga incremental na "mga pagpapabuti" sa C++ ay bahagi ng dahilan kung bakit ito ay isang malaking wika sa pagsasanay.

"Palaging may mga bagong wika na sumusubok na maging kahalili ng C++. Tinatanggap ko ang mga eksperimento sa mga wika ng programming at mga istilo ng programming, ngunit talagang ayaw kong pukawin ang kontrobersya. Madaling punahin ang mga itinatag na wika (alam natin ang kanilang mga problema), ngunit kadalasan ay mahirap mag-alok ng mga alternatibo nang hindi gumagawa ng ganap na bagong mga hanay ng mga problema sa mga panuntunan sa wika, mga aklatan, at pamamahala. Ang Carbon ay napakabago at hindi natukoy na hindi talaga ako makakagawa ng anumang makabuluhang teknikal na komento, "sabi ng imbentor ng C++ na si Bjarne Stroustrup sa isang email.

Bagama't nagsimula ang Carbon bilang panloob na proyekto ng Google, ang development team sa huli ay gustong bawasan ang mga kontribusyon mula sa Google, o anumang iba pang indibidwal na kumpanya, sa mas mababa sa 50% sa pagtatapos ng taon. Sa huli, nais nilang ibigay ang proyekto sa isang independiyenteng pundasyon ng software, kung saan ang pagbuo nito ay isasagawa ng mga boluntaryo.

Sa wakas kung interesado kang malaman ang tungkol dito dapat mong malaman na ang mga pagpapaunlad ng proyekto ay ipinamamahagi sa ilalim ng lisensya ng Apache 2.0 at maaari mong konsultahin ang mga ito Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.