Cenšoties aizstāt cienījamo, bet gauso C++, Google pētnieki ir ieviesuši pavisam jaunu “eksperimentālu” atvērtā pirmkoda programmēšanas valodu ar nosaukumu Carbon.
Carbon varētu kalpot kā C++ pēctece, kas izstrādātājiem nodrošina vienkāršu sākumpunktu jaunākai valodai, kas pievēršas tādiem mūsdienu attīstības jēdzieniem kā atmiņas drošība un vispārīgie līdzekļi.
Tas būtu līdzīgi tam, kā Microsoft izveidoja Typescript, lai atjauninātu JavaScript, un Kotlin, lai nostiprinātu Java nepilnības.
Google gadu gaitā ir izstrādājis vairākas programmēšanas valodas, no kurām dažas ir ieguvušas ievērojamu slavu un ievērību.
Piemēram, Golang (vai vienkārši Go) tika izstrādāts, lai atvieglotu serveru un izkliedēto sistēmu izveidi, un pēc tam to pieņēma plaša sabiedrība.
Šautriņas programmēšanas valoda, kas tika izveidots kā JavaScript aizstājējs, kļuva plaši pazīstams līdz Flutter palaišanai.
Google darbinieks Čendlers Kerūts prezentēja savu ideju par jaunu programmēšanas valodu ar nosaukumu Carbon 19. gada 2022. jūlijā Cpp North konferencē Toronto, pēc Konora Hoekstras teiktā, kas apmeklēja un ierakstīja slaidus.
Lai iestatītu scenāriju, Karūts demonstrēja, kā vairākām mūsdienu iecienītākajām programmēšanas valodām ir pēcteči, kas ļauj izstrādātājiem ātri būt produktīviem un gūt labumu no mūsdienu valodu dizaina.
Sāksim ar vispārīgu Carbon programmēšanas valodas ievadu, tostarp tās funkcijām, Google tās izgudrošanas mērķi un daudz ko citu.
Ievads oglekļa programmēšanas valodā
19. gada 2022. jūlijā Google atklāja Carbon kā jaunāko tā izveidoto programmēšanas valodu. Tas bija paredzēts eksperimentāli aizstāt C++.
Pateicoties a ģenērisko zāļu sistēma, kas novērš nepieciešamību vēlreiz pārbaudīt kodu katrai instancē, Carbon tiks veidots uz modernu programmēšanas koncepciju pamata.
Līdz gada beigām dizains plāno nodrošināt pamata darbības versiju (versija 0.1).
Atmiņas integritāte ir būtisks elements, kas trūkst C++. Viens no galvenajiem drošības trūkumu avotiem ir atmiņas piekļuves problēmas.
Carbon komandas mērķis ir dinamisku robežu pārbaužu izstrāde, lielāka neinicializētu stāvokļu izsekošana un rūpīgs noklusējuma atkļūdošanas veidošanas režīms. Veidotāji plāno laika gaitā izveidot drošu oglekļa apakškopu.
Tomēr šādas ir dažas būtiskas jaunās programmēšanas valodas īpašības:
- Lai nosauktu veidus, izmantojiet izteiksmes.
- Spēcīgi vispārīgi medikamenti ar definīciju pārbaudēm
- Tipi īpaši veic saskarnes
- ievadfrāzes un pamata gramatika
- Rādītāji nodrošina neierobežotu piekļuvi un mutāciju.
- Funkciju ievades parametru vērtības ir tikai lasāmas.
- Saknes nosaukumvieta ir pakotne.
- API var importēt, izmantojot to pakotņu nosaukumus.
- Metode tiek deklarēta, izmantojot skaidru objekta parametru.
- Klases pēc noklusējuma ir galīgas; ir tikai viens mantojums
Oglekļa īpašības
Mūsdienīgs un attīstošs
- Jauninājumi starp Carbon versijām ir vienkārši un balstīti uz rīkiem.
- Spēcīgs valodas pamatojums, it īpaši, ja esat lietojis C++, un viegli apgūstams
- Drošāki pamati un soli pa solim pieeja atmiņai drošai apakškopai
Atvērtā koda kopienas sveicināšana
- Kopiena, kas cenšas būt silta, pieņemoša un aicinoša
- Tās mērķi un prioritātes ir atšķirīga un spēcīga pārvaldība
- Visaptveroša stratēģija ar kompilatoru, bibliotēkām, dokumentāciju, rīkiem, pakotņu pārvaldību un daudz ko citu
Ātra un saderīga ar C++
- Strādājiet kopā ar C ++ kods jums jau ir, tostarp mantojums un veidnes
- Izmantojot LLVM, veiktspēja ir salīdzināma ar C++ un zema līmeņa piekļuve bitiem un adresēm
- Veidojumi, kas ir ātri un mērogojami un saderīgi ar jūsu esošajām C++ būvēšanas sistēmām
Kāpēc Google izveidoja Carbon programmēšanas valodu?
Veiktspējai kritiskā programmatūra joprojām galvenokārt tiek rakstīta C++ valodā, kurai ir milzīgas un paplašinās kodu bāzes un ieguldījumi.
Tomēr tai ir grūtības virzīties uz priekšu un izpildīt izstrādātāju prasības, kā minēts iepriekš, galvenokārt tāpēc, ka gadiem ilgi uzkrājas tehnoloģiskais parāds.
Ir ārkārtīgi grūti pakāpeniski uzlabot C++, jo tas ir uzkrājies tehniskajā parādā, kā arī grūtības ar tā evolūcijas procesu.
Ideāla pieeja šo problēmu risināšanai ir sākt ar spēcīgu valodas pamatu, piemēram, mūsdienīgu vispārīgu sistēmu, modulāru koda struktūru un konsekventu, vienkāršu sintaksi, nevis tieši pārmantojot C vai C++ tradīcijas.
Go, Swift, Kotlin, Rust un daudzas citas mūsdienu valodas jau piedāvā izcilu izstrādes pieredzi. Izstrādātājiem, kuri spēj lietot kādu no šīm pašreizējām valodām, tas būtu jādara.
Diemžēl adopciju un migrāciju no C++ ievērojami kavē šo valodu dizains. Šie šķēršļi ietver veiktspējas izmaksas un programmatūras idiotiskā dizaina modifikācijas.
Ogleklis nav mēģinājums pakāpeniski uzlabot C++; drīzāk tā ir valodas stratēģijas pēctece. Tās uzmanības centrā ir C++ savietojamība, kā arī plaši izplatīta pieņemšana un migrācija izstrādātājiem un kodu bāzēm, kas pašlaik izmanto C++.
C++ aizstāšanas valodai jābūt:
- Veiktspēja, kas ir salīdzināma ar C++, ir ļoti svarīga izstrādātāju īpašība.
- Pārvaldāma mācīšanās līkne un zināšanu līmenis C++ programmētājiem
- Migrācija, kas ir mērogojama un ietver idiomātisku C++ koda tulkojumu no avota uz avotu.
- Līdzīga izteiksmība un atbalsts pašreizējās programmatūras arhitektūrai un dizainam.
- Sadarbspēja ar C++, kas ir nemanāma un divvirzienu, ļaujot jebkurai bibliotēkai pieņemt Carbon, nepārvietojot pārējo steku.
Izmantojot šo stratēģiju, Google papildina ekosistēmu, kas jau pastāv C++, un ietver pašreizējās investīcijas, kodu bāzes un attīstības kopienas.
Dažas valodas ir pieņēmušas šo pieeju dažādām ekosistēmām, un Carbon šajās situācijās cenšas veikt līdzīgu funkciju kā C++:
- Java - Kotlin
- JavaScript — TypeScript
- C++ – ogleklis
C++ VS oglekļa kods
Ja jūs jau esat C++ izstrādātājs, ogleklim vajadzētu būt zemai mācīšanās līknei. Tas sastāv no fiksēta gramatisko konstrukciju kopuma, kam vajadzētu izklausīties dabiski un viegli lasāmai un saprotamai.
C++ koda piemērs:
Šis oglekļa kods atbilst:
Ogleklis pret rūsu
Vēl viena mūsdienīga valoda, kas īpaši izstrādāta, lai atbilstu atmiņas drošu veiktspējas lietojumprogrammu prasībām, tiek saukta par Rust.
Tātad, kāpēc gan vienkārši neizmantot Rust?
Lai gan daži apgalvo, ka Rust, kas sākās kā Mozilla projekts un pēc tam ir pieaudzis līdz ievērojamam skatītāju lokam, ir C++ pēctecis, Kerūts šaubās, vai paralēle joprojām ir spēkā.
Rust neapšaubāmi ir fantastiska valoda, ar kuru sākt jaunu projektu, taču, tā kā tai trūkst tādu valodu kā Java un Kotlin “divvirzienu savietojamības”, pakāpeniski pāriet uz to ir grūti.
Carruth lasīja lekciju CPP North un mudināja cilvēkus, kuri jau izmanto Rust, turpināt to darīt. Izstrādātājiem, kuriem jau ir apjomīgas C++ kodu bāzes, kuras ir grūti pārveidot par Rust, jāizmanto Carbon.
Konkrēti, ogleklis ir tas, ko Carruth sauca par "pēcteču valodu", kas ir izveidota uz esošas ekosistēmas, šajā gadījumā C++, virspusē.
Šim nolūkam Carbon ir paredzēts, lai tas būtu pilnībā savietojams ar pašreizējo C++ kodu, pat ja tam ir daudz mērķu ar Rust, piemēram, palīdzēt programmētājiem izveidot "veiktspējai kritiskas lietojumprogrammas".
Turklāt ir paredzēts, lai pāreja no C++ uz Carbon būtu pēc iespējas vienkāršāka.
Secinājumi
Visbeidzot, oglekļa valodas veidotāji centās pievērst uzmanību radīšanas procesam. Projekta kods ir pieejams pieprasījumam un tiek atklāti uzglabāts GitHub, un tās kultūra ir definēta kā iekļaujoša un atvērta gan privātpersonām, gan IT sektoram.
Carbon komanda uzskatīja, ka Carbon ir jābūt autonomam projektam, ko virza kopiena, nevis tikai Google virzītam projektam, lai tas varētu attīstīties nākotnē.
Caruth piebilda, ka, neskatoties uz vairāku IT uzņēmumu interesi, šī koncepcija joprojām ir eksperimenta stadijā.
Atstāj atbildi