Мундариҷа[Пинҳон кардан][Намоиш]
Барои иваз кардани C++ ҳамчун забони стандартии барномасозӣ, Google Carbon-ро ҳамчун насли ояндаи забонҳои барномасозӣ таҳия кардааст.
Лоиҳаи таҷрибавии кушодаасос, он аст. Забони карбон, ки бори аввал аз ҷониби Чандлер Каррут дар конфронси CppNorth нишон дода шуда буд, як ивазкунандаи афсонавии C++ ба назар мерасад.
Ин мақола забони карбон, насб ва синтаксиси асосиро дар бар мегирад. Он инчунин якчанд рамзҳои намунавиро дар бар мегирад.
Забони барномасозии карбон
Бо пешрафти технология, забони карбон дар ниҳоят метавонад C++-ро иваз кунад. C++ аллакай забони афсонавии барномасозӣ аст. Он дорои иҷрои хуб аст ва дар системаҳои гуногуни истеҳсолӣ васеъ истифода мешавад.
Он бо платформаҳои сершумор, меъмории сахтафзор ва системаҳои оператсионӣ мувофиқ аст. Аммо, баъзе аз мушкилот бо C++ инҳоянд:
Қарзи техникӣ (қоидаҳои пешбурди бутун) дар якчанд вазифаҳо ҷамъ шудаанд. Мутобиқати ақиб бо C таъмири қарзи технологӣ ва татбиқи тағйироти кодро мушкилтар мекунад.
Аз сабаби хароҷоти равандҳои ISO ва маҳдудиятҳо дар озмоиш, раванди эволютсия барои илова кардани функсияҳои нав ба C++ махсусан душвор аст.
Аз ин рӯ, C++ ба чанд ҳадафи худ ноил шуда наметавонад, аз қабили таҳияи нармафзори муҳими иҷроиш, таҳаввулоти нармафзор ва забонҳо, навиштани коди содда ва хонданшаванда ва мусоидат ба рушди босуръат ва миқёспазир.
Боздид аз “Забони барномасозии карбон аз ҷониби Google - Муқаддима” агар шумо хоҳед, ки дар бораи забони барномасозии карбон маълумоти бештар гиред. Ин мақола ба шумо тамоми маълумоти лозимиро медиҳад.
Акнун, ки мо фаҳмем, ки забони карбон чист ва чаро мо бояд онро истифода барем, биёед ба танзимот/насбкунӣ, синтаксис ва мисолҳо ворид шавем.
Забони барномасозии карбонро чӣ гуна бояд насб ва насб кард?
Насб кардани забони карбон насб кардани онро талаб мекунад
- Асбоби насби бастаҳо Homebrew номида мешавад. Шумо метавонед ин қадамҳоро риоя кунед, агар homebrew аллакай насб нашуда бошад.
- Bazel: Bazel як асбоби ройгони сохтан ва санҷишӣ мебошад, ки бо якчанд платформа ва забонҳо кор мекунад.
- Забони карбон дар LLVM, як мошини маҷозии сатҳи паст кор мекунад.
- Карбон Explorer: Барои забони карбон, Carbon Explorer ҳамчун воситаи амалӣ кор мекунад. Мо муҳаққиқи карбонро барои иҷро кардани ҳар як барномаи дар карбон навишташуда истифода хоҳем кард.
Барои қисми насби ин дастур, Windows истифода мешавад. Бо вуҷуди ин, роҳнамо барои амалиётҳои дигар метавонанд муқоиса карда шаванд. Агар шумо дар бораи насб ягон савол дошта бошед, шумо метавонед дар ин мақола шарҳ гузоред.
Барои насб кардани карбон lang фармонҳои зеринро дар терминали худ истифода баред.
Bazel насб кунед
Bazel метавонад тавассути иҷро насб карда шавад
Ҳоло Bazel бояд ба таври худкор насб ва танзим ва барои истифода омода карда шавад.
LLVM насб кунед
LLVM мошини асосии виртуалӣ мебошад, ки забони карбонро идора мекунад. Барои насб кардани он
Рамзи забони карбонро насб кунед
Ин қадам зеркашии рамзи карбонро дар бар мегирад.
Пас аз насб кардани забони карбон, биёед баъзе аз асосҳои ин забони навро баррасӣ кунем.
Асосҳои забони барномасозии карбон
Тағйирёбандаҳои ададӣ
Тағйирёбандаҳои забони карбон метавонанд бошанд
- bool маънои мантиқии ҳақиқӣ ё дурӯғро дорад.
- Ба намудҳои бутун i8, i16, i32, i64, i128 ва i256 дохил мешаванд.
- Навъҳои бутуни беимзо дохил мешаванд u8, u16, u32, u128 ва u256.
- намудҳои шиноварӣ иборатанд аз f16, f32, f64 ва f128.
- Он метавонад барои ҷудо кардани рақамҳо истифода шавад. Масалан, агар 1 000 000 бидуни иқтибос ифода карда шавад, он адади бутун боқӣ мемонад.
Роҳҳо
Сатрҳоро бо истифода аз синтаксис муайян кардан мумкин аст
- Сатр, ки пайдарпаии байтро ифода мекунад
- String_View ҳамчун истинод танҳо барои хондан барои пайдарпаии байт дар utf-8.
Ду роҳи эълон кардани литералҳои сатр вуҷуд дорад.
- Сатри ягона: Барои як сатр нохунаки дукаратаро ( ") истифода баред
- Эъломияи сатри бисёрсатрро барои эъломияи сатри бисёрсатр истифода баред (“””)
Туплҳо
Тупҳо арзишҳое мебошанд, ки якчанд координата доранд. Онҳоро бо истифода аз қавс ( ) муайян кардан мумкин аст
(x,y,z) наворест, ки дорои якчанд координатҳо мебошад. Индексро барои дарёфти онҳо истифода бурдан мумкин аст.
Намудҳо
Навъ ва андозаи массив барои эълони массивҳо истифода мешаванд. [навъ; андоза] синтаксис аст. Масалан, var array: [i32; 4] = (1,2,3,4);
доштан зарур
Карбон нишонаи нул надорад. Барои ифодаи нишонае, ки метавонад ба объекти қонунӣ оварда расонад ё не, навъи Optional(T*)-ро истифода баред. * барои арзиш ва & барои суроға.
Барои ҳалқа
Барои ҳалқаҳоро бо for (шартҳои давр){} ифода кардан мумкин аст.
Ҳангоми ҳалқа
Дар ҳоле ки ҳалқаҳоро метавон бо истифода аз while(condition){} муайян кард.
Функсия/Усулҳо
Калимаи калидии fn метавонад барои эълон кардани функсияҳо истифода шавад. Синтаксис fn MethodName (var param: type…) -> навъи бозгашт аст. Шумо метавонед қисмати зеринро нодида гиред -> барои намудҳои баргардонидани ботил ё холӣ.
Синфҳо
Калимаи калидии синф дар забони карбон барои эълони синфҳо истифода мешавад. Аъзоён ва усулҳо барои синфҳо имконпазиранд. Дар ин ҷо намунаи амалисозии синф аст.
Умедворам, ки ин дарс барои шумо таҷриба кардан ва фаҳмидани ғояҳои бунёдӣ ва мисолҳои синтаксисро дар забони Google Carbon осонтар мекунад.
Дин ва мазҳаб