မာတိကာ[ဖျောက်][ရှိုး]
C++ ကို စံပရိုဂရမ်းမင်းဘာသာစကားအဖြစ် အစားထိုးရန်အတွက် Google သည် ကာဗွန်ကို ပရိုဂရမ်းမင်းဘာသာစကား၏ မျိုးဆက်သစ်များအဖြစ် တီထွင်ခဲ့သည်။
စမ်းသပ်ဆဲ open source ပရောဂျက်တစ်ခုဖြစ်သည်။ CppNorth ကွန်ဖရင့်တွင် Chandler Carruth မှ ပထမဆုံးပြသခဲ့သည့် ကာဗွန်ဘာသာစကားသည် C++ အတွက် အံဩဖွယ်အစားထိုးမှုတစ်ခုဖြစ်ပုံရသည်။
ဤဆောင်းပါးတွင် ကာဗွန်ဘာသာစကား၊ တပ်ဆင်မှုနှင့် အခြေခံအထားအသိုတို့ကို ခြုံငုံဖော်ပြထားသည်။ ၎င်းတွင် နမူနာကုဒ်အချို့လည်း ပါဝင်ပါသည်။
ကာဗွန် ပရိုဂရမ်းမင်း ဘာသာစကား
နည်းပညာတွေ တိုးတက်လာတာနဲ့အမျှ ကာဗွန်ဘာသာစကားဟာ နောက်ဆုံးမှာ C++ ကို အစားထိုးလာနိုင်ပါတယ်။ C++ သည် အလွန်ကောင်းမွန်သော ပရိုဂရမ်းမင်းဘာသာစကားဖြစ်နေပါပြီ။ ၎င်းသည် ကောင်းမွန်သော စွမ်းဆောင်ရည်ရှိပြီး အမျိုးမျိုးသော ထုတ်လုပ်မှုစနစ်များတွင် တွင်ကျယ်စွာ အသုံးပြုထားသည်။
၎င်းသည် ပလပ်ဖောင်းမျိုးစုံ၊ ဟာ့ဒ်ဝဲဗိသုကာများနှင့် လည်ပတ်မှုစနစ်များနှင့် တွဲဖက်အသုံးပြုနိုင်သည်။ သို့သော်၊ C++ ၏အချို့သောပြဿနာများသည်အောက်ပါအတိုင်းဖြစ်သည်။
နည်းပညာဆိုင်ရာကြွေးမြီများ (ကိန်းပြည့်မြှင့်တင်ရေးစည်းမျဉ်းများ) သည် လုပ်ငန်းဆောင်တာများစွာတွင် စုဆောင်းထားသည်။ C နှင့် နောက်ပြန်လိုက်ဖက်ညီမှုသည် နည်းပညာကြွေးမြီများကို ပြုပြင်ခြင်းနှင့် ကုဒ်ပြုပြင်မွမ်းမံမှုများကို အကောင်အထည်ဖော်ရာတွင် ပိုမိုခက်ခဲစေသည်။
ISO လုပ်ငန်းစဉ်ကုန်ကျစရိတ်နှင့် စမ်းသပ်မှုအပေါ် ကန့်သတ်ချက်များကြောင့် C++ တွင် လုပ်ဆောင်ချက်အသစ်များ ထပ်ထည့်ရန် ဆင့်ကဲဖြစ်စဉ်သည် အထူးသဖြင့် စိန်ခေါ်မှုဖြစ်သည်။
ထို့ကြောင့်၊ C++ သည် စွမ်းဆောင်ရည်-အရေးပါသောဆော့ဖ်ဝဲလ်ကို တီထွင်ခြင်း၊ ဆော့ဖ်ဝဲနှင့် ဘာသာစကားများ ပြောင်းလဲခြင်း၊ ရိုးရှင်းသော၊ ဖတ်နိုင်သော ကုဒ်ရေးသားခြင်းနှင့် လျင်မြန်သော အတိုင်းအတာဖြင့် ဖွံ့ဖြိုးတိုးတက်မှုကို ပံ့ပိုးပေးခြင်းတို့ကဲ့သို့သော ၎င်း၏ရည်မှန်းချက်များစွာကို အောင်မြင်ရန် ပျက်ကွက်နေသည်။
အလည်အပတ်ခရီးGoogle မှ Carbon Programming Language – နိဒါန်း"ကာဗွန်ပရိုဂရမ်းမင်းဘာသာစကားအကြောင်း ပိုမိုလေ့လာလိုပါက။ ဤပို့စ်သည် သင့်အား လိုအပ်သော အချက်အလက်အားလုံးကို ပေးလိမ့်မည်။
ယခု ကျွန်ုပ်တို့သည် ကာဗွန်ဘာသာစကားသည် ဘာလဲ၊ ၎င်းကို အဘယ်ကြောင့် အသုံးပြုရန် လိုအပ်ကြောင်း နားလည်လာသောအခါ၊ တပ်ဆင်ခြင်း/ထည့်သွင်းခြင်း၊ အထားအသိုနှင့် ဥပမာများထဲသို့ သွားကြစို့။
ကာဗွန်ပရိုဂရမ်းမင်းဘာသာစကားကို မည်သို့သတ်မှတ်ပြီး ထည့်သွင်းရမည်နည်း။
ကာဗွန်ဘာသာစကားကို တပ်ဆင်ခြင်း၏ တပ်ဆင်မှု လိုအပ်သည်။
- ပက်ကေ့ဂျ်များ ထည့်သွင်းရန်အတွက် ကိရိယာကို Homebrew ဟုခေါ်သည်။ homebrew ကို မတပ်ဆင်ရသေးပါက ဤအဆင့်များကို လိုက်နာနိုင်ပါသည်။
- Bazel- Bazel သည် ပလပ်ဖောင်းများနှင့် ဘာသာစကားများစွာဖြင့် လုပ်ဆောင်နိုင်သော အခမဲ့တည်ဆောက်မှုနှင့် စမ်းသပ်ကိရိယာတစ်ခုဖြစ်သည်။
- ကာဗွန်ဘာသာစကားကို အဆင့်နိမ့် virtual machine တစ်ခုဖြစ်သည့် LLVM တွင် လုပ်ဆောင်သည်။
- Carbon Explorer- ကာဗွန်ဘာသာစကားအတွက်၊ Carbon Explorer သည် အကောင်အထည်ဖော်ရေးကိရိယာတစ်ခုအဖြစ် လုပ်ဆောင်သည်။ ကျွန်ုပ်တို့သည် ကာဗွန်ဖြင့်ရေးသားထားသော ပရိုဂရမ်တိုင်းကို လုပ်ဆောင်ရန် ကာဗွန်ရှာဖွေသူကို အသုံးပြုပါမည်။
ဤသင်ခန်းစာ၏ ထည့်သွင်းမှုအပိုင်းအတွက်၊ Windows ကို အသုံးပြုပါမည်။ သို့သော်လည်း အခြားသော လုပ်ဆောင်ချက်များအတွက် လမ်းညွှန်ချက်များကို နှိုင်းယှဉ်နိုင်သည်။ တပ်ဆင်ခြင်းနှင့်ပတ်သက်ပြီး မေးမြန်းမှုများရှိပါက ဤဆောင်းပါးတွင် မှတ်ချက်ရေးထားနိုင်ပါသည်။
ကာဗွန်လန်းကို ထည့်သွင်းရန် သင့် terminal တွင် အောက်ပါ command များကို အသုံးပြုပါ။
Bazel ကို install လုပ်ပါ။
Bazel ကို run ခြင်းဖြင့် install လုပ်နိုင်သည်။
ယခုအခါ Bazel ကို အလိုအလျောက် ထည့်သွင်းပြီး ပြင်ဆင်ပြီး အသုံးပြုရန် အသင့်ဖြစ်သင့်သည်။
LLVM ကို ထည့်သွင်းပါ။
LLVM သည် ကာဗွန်ဘာသာစကားကို လုပ်ဆောင်သည့် အဓိက virtual machine ဖြစ်သည်။ ထူထောင်ရန်
ကာဗွန်ဘာသာစကားကုဒ်ကို စနစ်ထည့်သွင်းပါ။
ဤအဆင့်တွင် ကာဗွန်လန်းကုဒ်ကို ဒေါင်းလုဒ်လုပ်ရန် ပါဝင်သည်။
ကာဗွန်ဘာသာစကားကို သတ်မှတ်ပြီးနောက်၊ ဤအသစ်စက်စက်ဘာသာစကား၏ အခြေခံအချို့ကို လေ့လာကြည့်ကြပါစို့။
ကာဗွန်ပရိုဂရမ်းမင်းဘာသာစကား၏ အခြေခံအချက်များ
ကိန်းဂဏာန်းများ
ကာဗွန်ဘာသာစကား ပြောင်းလွဲနိုင်သည်
- bool သည် boolean true သို့မဟုတ် false ကို ကိုယ်စားပြုသည်။
- ကိန်းပြည့်အမျိုးအစားများတွင် i8၊ i16၊ i32၊ i64၊ i128 နှင့် i256 တို့ဖြစ်သည်။
- လက်မှတ်မထိုးထားသော ကိန်းပြည့်အမျိုးအစားများတွင် u8၊ u16၊ u32၊ u128 နှင့် u256 ပါဝင်သည်။
- float အမျိုးအစားများမှာ f16၊ f32၊ f64 နှင့် f128 တို့ဖြစ်သည်။
- ဂဏန်းများကို ခွဲခြားရန် အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ 1 000 000 ကို ကိုးကားချက်များမပါဘဲ ဖော်ပြပါက၊ ၎င်းသည် ကိန်းပြည့်အဖြစ် ကျန်ရှိနေပါသည်။
strings
စာကြောင်းများကို syntax ကိုအသုံးပြု၍ သတ်မှတ်နိုင်သည်။
- byte sequence ကိုကိုယ်စားပြုသော စာကြောင်းတစ်ခု
- String_View သည် utf-8 ရှိ byte sequence အတွက် ဖတ်ရန်သာ ရည်ညွှန်းချက်အဖြစ်။
string literals ကိုကြေငြာရန်နည်းလမ်းနှစ်ခုရှိသည်။
- တစ်ကြောင်းတည်း- စာကြောင်းတစ်ကြောင်းအတွက် နှစ်ထပ်ကိုးကားအမှတ် (“) ကိုသုံးပါ။
- Multi-line string declaration (""") အတွက် multi-line string declaration ကိုသုံးပါ။
ကျောင်းများ
Tuple များသည် သြဒီနိတ်များစွာပါသော တန်ဖိုးများဖြစ်သည်။ ကွင်းစဥ် ( ) ကို အသုံးပြု၍ ၎င်းတို့အား သတ်မှတ်နိုင်သည်။
(x,y,z) သည် သြဒိနိတ်များစွာပါရှိသော tuple တစ်ခုဖြစ်သည်။ ၎င်းတို့ကို ရှာဖွေရန် အညွှန်းကို အသုံးပြုနိုင်သည်။
အခင်းအကျင်း
array များကိုကြေငြာရန်အတွက် array အမျိုးအစားနှင့် size ကိုအသုံးပြုပါသည်။ [အမျိုးအစား; size] သည် syntax ဖြစ်သည်။ ဥပမာ၊ var array: [i32; 4] = (1,2,3,4);
ညွှန်ပြ
ကာဗွန်တွင် null pointers မရှိပါ။ တရား၀င်အရာဝတ္တုသို့ ဦးတည်စေမည့် သို့မဟုတ် မဖြစ်စေနိုင်သော ညွှန်ပြချက်ကို ဖော်ပြရန် Optional(T*) အမျိုးအစားကို အသုံးပြုပါ။ * တန်ဖိုးကို ကိုယ်စားပြုပြီး လိပ်စာကို ကိုယ်စားပြုသည်။
ကွင်းဆက်သည်
ကွင်းဆက်များအတွက် (loop condition){} ဖြင့် ဖော်ပြနိုင်ပါသည်။
နေစဉ်ကွင်းဆက်
while loops ကို while(condition){} သုံးပြီး သတ်မှတ်နိုင်ပါတယ်။
လုပ်ဆောင်ချက်/နည်းလမ်းများ
လုပ်ဆောင်ချက်များကို ကြေငြာရန် fn သော့ချက်စာလုံးကို သုံးနိုင်သည်။ syntax သည် fn MethodName(var param: type…) -> return type ဖြစ်သည်။ ပျက်ပြယ်ခြင်း သို့မဟုတ် အလွတ်ပြန်ခြင်းအမျိုးအစားများအတွက် အောက်ပါကဏ္ဍကို သင် လျစ်လျူရှုနိုင်သည်။
အတန်း
အတန်းများကိုကြေငြာရန် ကာဗွန်ဘာသာစကားရှိ အတန်းသော့ချက်စကားလုံးကို အသုံးပြုသည်။ အတန်းများအတွက် အဖွဲ့ဝင်များနှင့် နည်းလမ်းများ ဖြစ်နိုင်သည်။ ဤသည်မှာ အတန်းတစ်ခု၏ နမူနာကို အကောင်အထည်ဖော်ခြင်းဖြစ်သည်။
ဤသင်ခန်းစာသည် Google Carbon ဘာသာစကားတွင် အခြေခံကျသော စိတ်ကူးစိတ်သန်းများနှင့် အထားအသို နမူနာများကို စမ်းသပ်နားလည်ရန် ပိုမိုလွယ်ကူစေမည်ဟု မျှော်လင့်ပါသည်။
တစ်ဦးစာပြန်ရန် Leave