Ninu igbiyanju lati rọpo olokiki ṣugbọn onilọra C ++, awọn oniwadi Google ti ṣe afihan tuntun “esiperimenta” ede siseto orisun ṣiṣi ti a pe ni Erogba.
Erogba le ṣiṣẹ bi ede arọpo si C++, ọkan ti o pese aaye ibẹrẹ ti o rọrun fun awọn olupilẹṣẹ si ede tuntun ti o koju awọn imọran idagbasoke ode oni bii aabo iranti ati awọn apilẹṣẹ.
Eyi yoo jẹ iru si bii Microsoft ṣe kọ Typescript lati ṣe imudojuiwọn JavaScript ati Kotlin lati fun awọn ailagbara lagbara ni Java.
Google ti ni idagbasoke nọmba kan ti awọn ede siseto jakejado awọn ọdun, diẹ ninu eyiti o ti ni olokiki olokiki ati olokiki.
Fun apẹẹrẹ, Golang (tabi Go kan) jẹ idagbasoke lati dẹrọ ẹda ti awọn olupin ati awọn eto pinpin ati lẹhinna ti gba nipasẹ gbogbo eniyan.
Awọn Dart ede siseto, eyiti a ṣẹda bi aropo JavaScript, ko di olokiki daradara titi di ifilọlẹ Flutter.
Chandler Carruth, oṣiṣẹ Google kan, ṣafihan imọran rẹ fun ede siseto tuntun ti a pe ni Carbon ni Oṣu Keje Ọjọ 19, Ọdun 2022, ni apejọ Cpp North ni Toronto, gẹgẹ Conor Hoekstra, ti o lọ ati ki o gba silẹ ti awọn kikọja.
Lati le ṣeto oju iṣẹlẹ naa, Carruth ṣe afihan bii ọpọlọpọ ninu awọn ede siseto ti o nifẹ si daradara julọ ti ode oni ni awọn ọmọ ti o jẹ ki awọn olupilẹṣẹ le ni iyara ni iṣelọpọ ati tun ni anfani lati apẹrẹ ede ti ode oni.
Jẹ ki a bẹrẹ pẹlu iṣafihan gbogbogbo ti ede siseto Erogba, pẹlu awọn ẹya rẹ, idi ti Google ṣe idasilẹ rẹ, ati diẹ sii.
Ifihan to Erogba siseto ede
Ni Oṣu Keje Ọjọ 19, Ọdun 2022, Google ṣafihan Erogba gẹgẹbi ede siseto tuntun ti o ti ṣẹda. O ti pinnu lati rọpo C ++ ni idanwo.
Ṣeun si a jeneriki eto, eyi ti o ṣe imukuro iwulo lati ṣayẹwo koodu lẹẹmeji fun isọdọkan kọọkan, Erogba yoo ṣe lori ipilẹ ti awọn ero siseto ode oni.
Ni opin ọdun, apẹrẹ naa ngbero lati pese ẹya iṣiṣẹ ipilẹ kan (ẹya 0.1).
Iduroṣinṣin iranti jẹ nkan pataki ti C ++ nsọnu. Ọkan ninu awọn orisun akọkọ ti awọn abawọn aabo jẹ awọn ọran iwọle iranti.
Idagbasoke ti awọn sọwedowo awọn aala ti o ni agbara, ipasẹ nla ti awọn ipinlẹ ti ko ni ibẹrẹ, ati ipo kikọ yokokoro pipe ni gbogbo awọn ibi-afẹde ti ẹgbẹ Erogba. Awọn olupilẹṣẹ pinnu lati ṣẹda idasile Erogba to ni aabo lori akoko.
Sibẹsibẹ, atẹle naa jẹ diẹ ninu awọn abuda pataki ti ede siseto tuntun:
- Lati lorukọ awọn iru, lo awọn ikosile.
- Awọn jeneriki ti o lagbara pẹlu awọn sọwedowo asọye
- Orisi pataki gbe awọn atọkun
- awọn gbolohun ọrọ ifihan ati girama ipilẹ
- Awọn itọka gba laaye fun iraye si ailopin ati iyipada.
- Awọn iye fun awọn paramita igbewọle iṣẹ jẹ kika-nikan.
- Aaye orukọ root jẹ package.
- Awọn API le ṣe wọle ni lilo awọn orukọ akojọpọ wọn.
- Ọna kan jẹ ikede nipasẹ paramita ohun ti o fojuhan.
- Awọn kilasi jẹ ipari nipasẹ aiyipada; ogún kan ṣoṣo ni o wa
Awọn ẹya ara ẹrọ ti Erogba
Modern ati idagbasoke
- Awọn iṣagbega laarin awọn ẹya Erogba jẹ rọrun ati orisun irinṣẹ.
- Awọn ipilẹ ede ti o lagbara, ni pataki ti o ba ti lo C++, ati rọrun lati kọ ẹkọ
- Awọn ipilẹ ailewu ati ọna igbese-nipasẹ-igbesẹ si ipilẹ-ailewu iranti
Aabọ awujo ti ìmọ orisun
- Agbegbe ti o ngbiyanju lati jẹ itara, gbigba, ati pipepe
- Awọn ibi-afẹde ati awọn pataki rẹ jẹ iyatọ ati iṣakoso to lagbara
- Ilana gbogbo-ni-ọkan pẹlu alakojọ, awọn ile-ikawe, iwe, awọn irinṣẹ, iṣakoso package, ati diẹ sii
Awọn ọna ati ki o ni ibamu pẹlu C ++
- Ṣiṣẹ pẹlu awọn C ++ koodu o ti ni tẹlẹ, pẹlu iní ati awọn awoṣe
- Pẹlu LLVM, iṣẹ ṣiṣe ti o jọra si C ++ ati iraye si ipele kekere si awọn die-die ati awọn adirẹsi
- Awọn ile ti o yara ati iwọn ati ibaramu pẹlu awọn eto kọ C ++ ti o wa tẹlẹ
Kini idi ti Google ṣe kọ ede siseto Erogba?
Sọfitiwia to ṣe pataki ṣiṣe tẹsiwaju lati kọ ni pupọ julọ ni C++, eyiti o ni titobi pupọ ati awọn koodu koodu ati awọn idoko-owo ti o pọ si.
Bibẹẹkọ, o ni iṣoro ni ilọsiwaju ati ipade awọn ibeere ti awọn olupilẹṣẹ bi a ti mẹnuba loke, ni pataki nitori ikojọpọ iye ọdun ti gbese imọ-ẹrọ.
O nira pupọ lati ni ilọsiwaju C ++ nitori gbese imọ-ẹrọ ti o ti gba ati awọn iṣoro pẹlu ilana itankalẹ rẹ.
Ọna ti o dara julọ lati yanju awọn ọran wọnyi ni lati bẹrẹ pẹlu ipilẹ ede ti o lagbara, gẹgẹbi eto awọn jeneriki ti ode oni, ilana koodu modular, ati deede, sintasi taara, dipo ki o jogun aṣa atọwọdọwọ C tabi C ++ taara.
Lọ, Swift, Kotlin, Rust, ati ọpọlọpọ awọn ede imusin miiran ti funni ni iriri idagbasoke to dayato si. Awọn olupilẹṣẹ ti o lagbara lati lo ọkan ninu awọn ede lọwọlọwọ wọnyi yẹ lati.
Laanu, isọdọmọ ati iṣikiri lati C++ jẹ idiwọ pupọ nipasẹ awọn apẹrẹ ti awọn ede wọnyi. Awọn idiwọ wọnyi pẹlu iṣẹ ṣiṣe lori ati awọn iyipada si apẹrẹ idiomatic sọfitiwia naa.
Erogba kii ṣe igbiyanju lati ni ilọsiwaju C ++ ni ilọsiwaju; dipo, o jẹ a arọpo ede nwon.Mirza. Idojukọ rẹ wa lori ibaraenisepo C ++, bakanna bi gbigba ni ibigbogbo ati ijira fun awọn olupilẹṣẹ ati awọn koodu koodu ni lilo C ++ lọwọlọwọ.
Ede aropo C++ gbọdọ ni:
- Iṣe ti o ṣe afiwe si C ++ jẹ abuda pataki fun awọn olupilẹṣẹ.
- Ipin ẹkọ ti o le ṣakoso ati ipele ti faramọ fun awọn pirogirama C ++
- Iṣilọ ti o jẹ iwọn ati pẹlu diẹ ninu orisun-si-orisun idiomatic koodu C++.
- Ikosile ti o jọra ati atilẹyin fun faaji ati apẹrẹ ti sọfitiwia lọwọlọwọ.
- Ibaraṣepọ pẹlu C ++ ti o jẹ aila-nfani ati bidirectional, gbigba eyikeyi ile-ikawe lati gba Erogba lai ni lati gbe iyoku akopọ naa.
Pẹlu ilana yii, Google ṣe afikun si ilolupo eda ti o wa tẹlẹ fun C++ ati pe o ṣafikun awọn idoko-owo lọwọlọwọ, awọn koodu koodu, ati awọn agbegbe idagbasoke.
Awọn ede diẹ ti gba ọna yii fun ọpọlọpọ awọn ilolupo eda abemi, ati Carbon n wa lati ṣe iṣẹ ti o jọra si C++ ni awọn ipo wọnyi:
- Java – Kotlin
- JavaScript – TypeScript
- C ++ - Erogba
C ++ VS Erogba koodu
Erogba yẹ ki o ni ọna ikẹkọ kekere ti o ba jẹ olutẹsiwaju C ++ tẹlẹ. O kq ti ṣeto ti o wa titi ti awọn ikole Gírámọ ti o yẹ lati dun adayeba ki o jẹ rọrun lati ka ati loye.
Apẹẹrẹ koodu C++:
Koodu Erogba yii ni ibamu si:
Erogba Vs ipata
Ede ode oni ti a ṣe ni gbangba lati pade awọn ibeere ti awọn ohun elo iṣẹ-ailewu iranti ni a pe ni Rust.
Nitorinaa kilode ti o ko lo Rust lasan?
Lakoko ti diẹ ninu jiyan pe Rust, eyiti o bẹrẹ bi iṣẹ akanṣe Mozilla kan ati pe o ti dagba ni atẹle lati ni atẹle ti gbogbo eniyan, jẹ arọpo si C ++, Carruth ṣiyemeji ti o ba jẹ afiwera tun wulo.
Laiseaniani Rust jẹ ede ikọja pẹlu eyiti o le bẹrẹ iṣẹ akanṣe tuntun kan, ṣugbọn bi ko ṣe ni “ibaraẹnisọrọ bidirectional” ti awọn ede bii Java & Kotlin, o jẹ nija lati yipada si rẹ diẹdiẹ.
Carruth funni ni ikẹkọ ni CPP North ati gba awọn eniyan ti o ti lo Rust tẹlẹ ni iyanju lati tẹsiwaju lati ṣe bẹ. Awọn olupilẹṣẹ ti o ti ni awọn koodu koodu C ++ ti o tobi pupọ ti o nija lati yipada si Rust yẹ ki o lo Erogba.
Ni pataki, Carbon jẹ ohun ti Carruth tọka si bi “ede arọpo,” eyiti a ṣe lori oke ilolupo eda ti o wa tẹlẹ, ni apẹẹrẹ C ++ yii.
Fun idi yẹn, Erogba tumọ si ni ibamu patapata pẹlu koodu C ++ lọwọlọwọ, paapaa ti o ba ni ọpọlọpọ awọn ibi-afẹde pẹlu Rust, gẹgẹbi iranlọwọ awọn olupilẹṣẹ ni ṣiṣẹda “awọn ohun elo to ṣe pataki.”
Ni afikun, o ti pinnu lati jẹ ki gbigbe lati C ++ si Erogba ni irọrun bi o ti ṣee.
ipari
Nikẹhin, awọn olupilẹṣẹ ede Carbon ṣe igbiyanju lati san ifojusi si ilana ẹda. Koodu ise agbese na wa fun ibeere ati fipamọ ni gbangba lori Github, ati pe aṣa rẹ jẹ asọye bi isunmọ ati ṣiṣi si awọn ara ilu aladani mejeeji ati eka IT.
Ẹgbẹ erogba ro pe Erogba nilo lati jẹ iṣẹ akanṣe adase nipasẹ agbegbe ati kii ṣe iṣẹ akanṣe kan nikan ti Google ṣe lati le dagbasoke ni ọjọ iwaju.
Caruth ṣafikun pe laibikita iwulo lati nọmba awọn iṣowo IT, imọran yii tun wa ni ipele idanwo.
Fi a Reply