Poyesa kusintha C++ yolemekezeka koma yaulesi, ofufuza a Google ayambitsa chilankhulo chatsopano "choyesa" chotseguka chotchedwa Carbon.
Carbon ikhoza kukhala chilankhulo cholowa m'malo mwa C++, chomwe chimapereka poyambira kosavuta kwa otukula chilankhulo chatsopano chomwe chimakhudza mfundo zachitukuko zamakono monga chitetezo cha kukumbukira ndi ma generic.
Izi zitha kukhala zofanana ndi momwe Microsoft idapangira Typescript kuti isinthe JavaScript ndi Kotlin kuti ilimbikitse zofooka mu Java.
Google yapanga zilankhulo zingapo zamapulogalamu kwazaka zambiri, zina zomwe zidadziwika komanso kutchuka.
Mwachitsanzo, Golang (kapena Go) idapangidwa kuti izithandizira kupanga ma seva ndi makina ogawa ndipo pambuyo pake idalandiridwa ndi anthu wamba.
Dart chinenero chamakono, yomwe idapangidwa ngati choloweza m'malo mwa JavaScript, sinadziwike mpaka kukhazikitsidwa kwa Flutter.
Chandler Carruth, wogwira ntchito pa Google, adapereka lingaliro lake la chilankhulo chatsopano chotchedwa Carbon pa Julayi 19, 2022, pamsonkhano wa Cpp North ku Toronto, malinga ndi Conor Hoekstra, amene anapezekapo ndi kujambula zithunzizo.
Pofuna kukhazikitsa zomwe zikuchitika, Carruth adawonetsa momwe zilankhulo zingapo zomwe zimakonda kwambiri masiku ano zili ndi mbadwa zomwe zimathandizira opanga mapulogalamu kuti azitha kuchita bwino komanso kupindula ndi kapangidwe ka chilankhulo chamakono.
Tiyeni tiyambe ndi mawu oyambitsa chilankhulo cha Carbon, kuphatikiza mawonekedwe ake, cholinga chomwe Google adachipangira, ndi zina zambiri.
Chilankhulo cha Carbon Programming
Pa Julayi 19, 2022, Google idawulula Carbon ngati chilankhulo chatsopano kwambiri chomwe adapanga. Anapangidwa kuti alowe m'malo mwa C ++.
Chifukwa cha a generics system, zomwe zimathetsa kufunika kowunika kawiri kachidindo pa nthawi iliyonse, Carbon idzamangidwa pa maziko a malingaliro amakono a mapulogalamu.
Pakutha kwa chaka, mapangidwewo akukonzekera kupereka mtundu woyambira (mtundu 0.1).
Kusunga kukumbukira ndichinthu chofunikira kwambiri chomwe C ++ ikusowa. Chimodzi mwazomwe zimayambitsa zolakwika zachitetezo ndizovuta zamakumbukiro.
Kupanga macheke amalire, kutsatira kwambiri mayiko omwe sanatchulidwepo, komanso njira yomangirira yosasinthika zonse ndi zolinga za gulu la Carbon. Opanga akufuna kupanga gawo lotetezedwa la Carbon pakapita nthawi.
Komabe, zotsatirazi ndi zina zofunika kwambiri za chinenero chatsopano cha pulogalamu:
- Kuti mutchule mitundu, gwiritsani ntchito mawu.
- Ma generic amphamvu okhala ndi macheke matanthauzidwe
- Mitundu imapanga zolumikizira makamaka
- mawu oyamba ndi galamala yoyambira
- Zolozera zimaloleza kulowa kosalekeza ndi kusintha.
- Miyezo ya magawo olowetsa ntchito ndi owerengera-okha.
- Mizu namespace ndiye phukusi.
- Ma API amatha kutumizidwa kunja pogwiritsa ntchito mayina a phukusi lawo.
- Njira imalengezedwa kudzera pa chinthu chodziwika bwino.
- Makalasi ndi omaliza mwachisawawa; pali cholowa chimodzi chokha
Makhalidwe a Carbon
Amakono ndi otukuka
- Kusintha pakati pa mitundu ya Carbon ndikosavuta komanso kutengera zida.
- Zilankhulo zamphamvu, makamaka ngati mudagwiritsa ntchito C++, komanso zosavuta kuphunzira
- Maziko otetezeka komanso njira yotsatsira pang'onopang'ono ku gawo lotetezedwa kukumbukira
Kulandila gulu la open source
- Dera lomwe limayesetsa kukhala achikondi, ovomera, komanso oitanira anthu
- Zolinga zake ndi zofunika kwambiri ndi ulamuliro wosiyana ndi wamphamvu
- Njira imodzi yokha yokhala ndi compiler, malaibulale, zolemba, zida, kasamalidwe ka phukusi, ndi zina zambiri
Yachangu komanso yogwirizana ndi C++
- Gwirani ntchito ndi C ++ khodi muli nazo kale, kuphatikiza cholowa ndi ma templates
- Ndi LLVM, magwiridwe antchito ofanana ndi C++ komanso mwayi wocheperako pama bits ndi ma adilesi
- Zomanga zomwe zili zachangu komanso zowopsa komanso zogwirizana ndi makina anu omanga a C++
Chifukwa chiyani Google idapanga chilankhulo cha pulogalamu ya Carbon?
Mapulogalamu ofunikira pakuchita bwino akupitilizabe kulembedwa mu C ++, yomwe ili ndi ma codebase ndi mabizinesi okulirapo.
Komabe, ikuvutika kupititsa patsogolo ndikukwaniritsa zofuna za opanga monga tafotokozera pamwambapa, makamaka chifukwa chopeza ngongole zaukadaulo zazaka zambiri.
Ndizovuta kwambiri kupititsa patsogolo C ++ chifukwa cha ngongole yaukadaulo yomwe idapeza komanso zovuta pakusinthika kwake.
Njira yabwino yothetsera nkhaniyi ndikuyamba ndi maziko olimba a chinenero, monga machitidwe amakono a generics, modular code structure, ndi syntax yosasinthasintha, yowongoka, osati kutengera mwachindunji chikhalidwe cha C kapena C ++.
Go, Swift, Kotlin, Rust, ndi zilankhulo zina zambiri zamakono zili kale ndi chitukuko chapadera. Madivelopa omwe amatha kugwiritsa ntchito chimodzi mwa zilankhulo zomwe zilipo akuyenera kutero.
Tsoka ilo, kutengera ndi kusamuka kuchokera ku C ++ kumalepheretsedwa kwambiri ndi mapangidwe a zilankhulo izi. Zopinga izi ndi monga momwe zimagwirira ntchito komanso kusinthidwa kwamapangidwe apulogalamu.
Mpweya si kuyesa kusintha pang'onopang'ono C ++; m'malo, ndi m'malo chinenero njira. Cholinga chake ndikulumikizana kwa C ++, komanso kuvomerezedwa ndi kufalikira kwa anthu otukula ndi ma codebase omwe akugwiritsa ntchito C++.
Chilankhulo cholowa m'malo cha C++ chiyenera kukhala:
- Kachitidwe kofananira ndi C++ ndichinthu chofunikira kwambiri kwa opanga.
- Njira yophunzirira yotheka komanso mulingo wodziwika bwino kwa opanga mapulogalamu a C++
- Kusamuka komwe kuli kowopsa ndipo kumaphatikizapo kumasulira kwa ma code C++ kuchokera kugwero kupita ku gwero.
- Kufotokozera kofananira ndikuthandizira kamangidwe ndi kapangidwe ka pulogalamu yamakono.
- Kugwirizana ndi C++ kopanda msoko komanso mayendedwe apawiri, kulola laibulale iliyonse kutengera Carbon popanda kunyamula zotsalazo.
Ndi njira iyi, Google imawonjezera ku chilengedwe chomwe chilipo kale ku C++ ndikuphatikiza ndalama zomwe zikuchitika, ma codebases, ndi madera achitukuko.
Zilankhulo zingapo zatengera njirayi pazachilengedwe zosiyanasiyana, ndipo Carbon ikufuna kuchita chimodzimodzi ndi C++ munthawi izi:
- Java - Kotlin
- JavaScript - TypeScript
- C ++ - Kaboni
C++ VS Carbon Code
Mpweya uyenera kukhala ndi njira yotsika yophunzirira ngati ndinu wopanga C++ kale. Amapangidwa ndi kalembedwe kokhazikika komwe kamayenera kumveka mwachilengedwe komanso kosavuta kuwerenga ndi kumvetsetsa.
Chitsanzo cha C++ code:
Khodi ya Carbon iyi ikufanana ndi:
Carbon Vs Rust
Chilankhulo china chamakono chopangidwa momveka bwino kuti chikwaniritse zofunikira pakugwiritsa ntchito kukumbukira bwino chimatchedwa Rust.
Ndiye bwanji osangogwiritsa ntchito Dzimbiri?
Pomwe ena amatsutsa kuti Rust, yomwe idayamba ngati projekiti ya Mozilla ndipo idakula kuti ikhale ndi anthu ambiri, ndiyolowa m'malo mwa C ++, Carruth akukayikira ngati kufananaku kukadali koyenera.
Dzimbiri Mosakayikira ndi wosangalatsa chinenero chimene kuyamba ntchito yatsopano, koma alibe "bidirectional interoperability" m'zinenero monga Java & Kotlin, ndi kovuta kuti kusintha kwa pang'onopang'ono.
Carruth adapereka nkhani ku CPP North ndipo adalimbikitsa anthu omwe anali kugwiritsa ntchito Dzimbiri kuti apitirize kutero. Madivelopa omwe ali ndi ma codebase akuluakulu a C ++ omwe ndi ovuta kuwasintha kukhala Rust ayenera kugwiritsa ntchito Carbon.
Makamaka, Carbon ndi chomwe Carruth amachitcha "chinenero cholowa m'malo," chomwe chimamangidwa pamwamba pa chilengedwe chomwe chilipo, panthawiyi C ++.
Pazifukwa izi, Carbon imayenera kugwirizana kwathunthu ndi kachidindo ka C++, ngakhale ili ndi zolinga zambiri ndi Rust, monga kuthandiza opanga mapulogalamu kupanga "mapulogalamu ofunikira kwambiri."
Kuphatikiza apo, cholinga chake ndikupangitsa kuti kuchoka ku C ++ kupita ku Carbon kukhala kosavuta momwe mungathere.
Kutsiliza
Pomaliza, opanga zilankhulo za Carbon adayesetsa kulabadira ntchito yolenga. Khodi ya polojekitiyi ilipo kuti ifunsidwe ndikusungidwa poyera Github, ndipo chikhalidwe chake chimatanthauzidwa ngati chophatikizika komanso chotseguka kwa nzika zonse komanso gawo la IT.
Gulu la Carbon likuganiza kuti Carbon iyenera kukhala pulojekiti yodziyimira payokha yoyendetsedwa ndi anthu ammudzi osati pulojekiti yokhayo yolimbikitsidwa ndi Google kuti ikule mtsogolo.
Caruth adawonjezeranso kuti ngakhale ali ndi chidwi ndi mabizinesi angapo a IT, lingaliro ili likadali pagawo loyesera.
Siyani Mumakonda