У настојању да замене поштовани, али тром Ц++, Гоогле истраживачи су представили потпуно нови „експериментални“ програмски језик отвореног кода назван Царбон.
Царбон би могао да послужи као језик наследник Ц++, језик који програмерима пружа једноставну почетну тачку за новији језик који се бави савременим развојним концептима као што су безбедност меморије и генерички.
Ово би било слично начину на који је Мицрософт направио Типесцрипт за ажурирање ЈаваСцрипт-а и Котлина да би ојачао слабости у Јави.
Гоогле је током година развио бројне програмске језике, од којих су неки стекли значајну ноторност и истакнутост.
На пример, Голанг (или само Го) је развијен да олакша креирање сервера и дистрибуираних система и касније је прихваћен од стране јавности.
Тхе Дарт програмски језик, који је креиран као замена за ЈаваСцрипт, није постао познат до лансирања Флуттер-а.
Чендлер Карут, запослени у Гуглу, представио је своју идеју за нови програмски језик под називом Царбон 19. јула 2022. на конвенцији Цпп Нортх у Торонту, према Конору Хоекстри, који је присуствовао и снимио слајдове.
Да би поставио сценарио, Царрутх је показао како неколико од најомиљенијих програмских језика данашњице има потомке који омогућавају програмерима да брзо буду продуктивни и такође имају користи од савременог дизајна језика.
Почнимо са општим уводом у програмски језик Царбон, укључујући његове карактеристике, сврху Гоогле-овог изума и још много тога.
Увод у програмски језик Царбон
Гоогле је 19. јула 2022. открио Царбон као најновији програмски језик који је креирао. Био је намењен да експериментално замени Ц++.
Захваљујући а генерички систем, што елиминише потребу за двоструком провером кода за сваку инстанцију, Царбон ће бити конструисан на основу савремених концепта програмирања.
До краја године дизајн планира да обезбеди основну оперативну верзију (верзија 0.1).
Интегритет меморије је кључни елемент који Ц++ недостаје. Један од примарних извора безбедносних недостатака су проблеми са приступом меморији.
Развој динамичких провера граница, боље праћење неиницијализованих стања и темељни подразумевани режим изградње грешака су све циљеви Царбон тима. Креатори намеравају да створе сигуран подскуп угљеника током времена.
Међутим, следеће су неке кључне карактеристике новог програмског језика:
- Да бисте именовали типове, користите изразе.
- Јаки генерици са провером дефиниција
- Типови посебно изводе интерфејсе
- уводне фразе и основна граматика
- Показивачи омогућавају неограничен приступ и мутацију.
- Вредности за улазне параметре функције су само за читање.
- Основни именски простор је пакет.
- АПИ-ји се могу увести коришћењем њихових назива пакета.
- Метод је декларисан преко експлицитног параметра објекта.
- Класе су подразумевано коначне; има само једно наслеђе
Карактеристике угљеника
Модеран и у развоју
- Надоградње између Царбон верзија су једноставне и засноване на алатима.
- Јака језичка основа, посебно ако сте користили Ц++, и једноставна за учење
- Безбедније основе и корак по корак приступ подскупу безбедном за меморију
Поздрављамо заједницу отвореног кода
- Заједница која настоји да буде топла, прихвата и позива
- Његови циљеви и приоритети су јасно и снажно управљање
- Свеобухватна стратегија са компајлером, библиотекама, документацијом, алатима, управљањем пакетима и још много тога
Брз и компатибилан са Ц++
- Радите заједно са Ц ++ код већ имате, укључујући наслеђе и шаблоне
- Са ЛЛВМ, перформансе су упоредиве са Ц++ и приступ на ниском нивоу битовима и адресама
- Градње које су брзе и скалабилне и компатибилне са вашим постојећим Ц++ системима градње
Зашто је Гоогле направио програмски језик Царбон?
Софтвер који је критичан за перформансе и даље је углавном написан на Ц++, који има огромне и све шире базе кода и улагања.
Међутим, има проблема са напредовањем и испуњавањем захтева програмера, као што је горе поменуто, углавном због гомилања технолошког дуга током више година.
Изузетно је тешко постепено побољшати Ц++ због техничког дуга који је акумулирао, као и потешкоћа у процесу његовог еволуције.
Идеалан приступ решавању ових проблема је да се почне са јаким језичким основама, као што је савремени генерички систем, модуларна структура кода и доследна, јасна синтакса, уместо директног наслеђивања традиције Ц или Ц++.
Го, Свифт, Котлин, Руст и многи други савремени језици већ нуде изванредно развојно искуство. Програмери који су способни да користе један од ових тренутних језика би то требало да раде.
Нажалост, усвајање и миграција са Ц++-а су озбиљно отежани дизајном ових језика. Ове препреке укључују трошкове перформанси и модификације идиоматског дизајна софтвера.
Царбон није покушај постепеног побољшања Ц++; него је то језичка стратегија наследника. Његов фокус је на Ц++ интероперабилности, као и на широком прихватању и миграцији за програмере и базе кодова који тренутно користе Ц++.
Језик замене Ц++ мора да има:
- Перформансе упоредиве са Ц++ су кључна карактеристика за програмере.
- Управљива крива учења и ниво познавања за Ц++ програмере
- Миграција која је скалабилна и укључује неке идиоматске преводе Ц++ кода са извора на извор.
- Слична експресивност и подршка за архитектуру и дизајн тренутног софтвера.
- Интероперабилност са Ц++ која је беспрекорна и двосмерна, омогућавајући било којој библиотеци да усвоји Царбон без потребе за портирањем остатка стека.
Овом стратегијом, Гоогле додаје екосистему који већ постоји за Ц++ и укључује тренутне инвестиције, базе кода и развојне заједнице.
Неколико језика је усвојило овај приступ за различите екосистеме, а Царбон настоји да игра сличну функцију као Ц++ у овим ситуацијама:
- Јава – Котлин
- ЈаваСцрипт – ТипеСцрипт
- Ц++ – угљеник
Ц++ ВС Царбон Цоде
Царбон би требало да има ниску криву учења ако сте већ Ц++ програмер. Састоји се од фиксног скупа граматичких конструкција које би требало да звуче природно и да буду једноставне за читање и разумевање.
Пример Ц++ кода:
Овај угљенични код одговара:
Царбон вс Руст
Још један савремени језик дизајниран изричито да испуни захтеве апликација за перформансе безбедне за меморију зове се Руст.
Па зашто једноставно не користите Руст?
Док неки тврде да је Руст, који је почео као Мозилла пројекат и који је касније нарастао у приличну јавност, наследник Ц++, Царрутх сумња да ли је паралела још увек важећа.
Руст је несумњиво фантастичан језик са којим се може започети нови пројекат, али пошто му недостаје „двосмерна интероперабилност“ језика као што су Јава и Котлин, тешко је постепено прећи на њега.
Царрутх је одржао предавање на ЦПП Нортх-у и охрабрио људе који су већ користили Руст да то наставе. Програмери који већ имају велике Ц++ базе кода које је тешко претворити у Руст треба да користе Царбон.
Конкретно, Царбон је оно што је Царрутх назвао „језиком наследником“, који је конструисан на врху постојећег екосистема, у овом случају Ц++.
У ту сврху, Царбон треба да буде потпуно компатибилан са тренутним Ц++ кодом, чак и ако има много циљева са Руст-ом, као што је помоћ програмерима у креирању „апликација критичних за перформансе“.
Поред тога, намерава да учини прелазак са Ц++ на Царбон што једноставнијим.
Zakljucak
Коначно, креатори Царбон језика су се потрудили да обрате пажњу на процес стварања. Код пројекта је доступан на захтев и отворено се чува на Гитхуб, а њена култура је дефинисана као инклузивна и отворена како за приватне грађане тако и за ИТ сектор.
Царбон тим је сматрао да Царбон треба да буде аутономан пројекат који води заједница, а не само пројекат који покреће Гоогле како би се развијао у будућности.
Карут је додао да је, упркос интересовању бројних ИТ компанија, овај концепт још увек у експерименталној фази.
Ostavite komentar