မာတိကာ[ဖျောက်][ရှိုး]
ကြည်ညိုဖွယ်ကောင်းသော်လည်း နှေးကွေးသော C++ ကို အစားထိုးရန် ကြိုးပမ်းမှုတွင် Google မှ သုတေသီများသည် Carbon ဟုအမည်ပေးထားသော open source ပရိုဂရမ်းမင်းဘာသာစကားအသစ်စက်စက်ကို မိတ်ဆက်ခဲ့သည်။
ကာဗွန်သည် C++ ၏ နောက်ဆက်ခံဘာသာစကားအဖြစ် လုပ်ဆောင်နိုင်သည်၊ ၎င်းသည် ဆော့ဖ်ဝဲရေးသားသူများအတွက် မှတ်ဉာဏ်ဘေးကင်းမှုနှင့် ယေဘုယျသဘောတရားများကဲ့သို့ ခေတ်ပြိုင်ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ သဘောတရားများကို ကိုင်တွယ်ဖြေရှင်းသည့် တီထွင်သူများအတွက် ရိုးရှင်းသောအစပြုသည့်ဘာသာစကားအသစ်တစ်ခုအဖြစ် လုပ်ဆောင်နိုင်သည်။
၎င်းသည် Java ရှိအားနည်းချက်များကိုအားကောင်းစေရန် JavaScript နှင့် Kotlin ကိုမွမ်းမံရန်အတွက် Microsoft မှ Typescript ကိုတည်ဆောက်ပုံနှင့်ဆင်တူသည်။
Google သည် နှစ်များတစ်လျှောက် ပရိုဂရမ်းမင်းဘာသာစကား အများအပြားကို တီထွင်ခဲ့ပြီး အချို့မှာ ထင်ရှားကျော်ကြားပြီး ထင်ပေါ်ကျော်ကြားမှု ရရှိခဲ့သည်။
ဥပမာအားဖြင့်၊ Golang (သို့မဟုတ် Go just) ကို ဆာဗာများ ဖန်တီးခြင်းနှင့် ဖြန့်ဝေမှုစနစ်များ လွယ်ကူချောမွေ့စေရန် တီထွင်ခဲ့ပြီး နောက်ပိုင်းတွင် အများသူငှာ လက်ခံလာခဲ့သည်။
လှံလက်နက် programming language ကိုJavaScript အစားထိုးအဖြစ် ဖန်တီးထားသည့် Flutter ကို စတင်သည့်အချိန်အထိ လူသိမများခဲ့ပါ။
Google ဝန်ထမ်း Chandler Carruth သည် 19 ခုနှစ် ဇူလိုင်လ 2022 ရက်နေ့တွင် Toronto ရှိ Cpp North ညီလာခံတွင် Carbon ဟုခေါ်သော ပရိုဂရမ်ဘာသာစကားအသစ်အတွက် ၎င်း၏စိတ်ကူးကို တင်ပြခဲ့သည်။ Conor Hoekstra ၏ ပြောကြားချက်အရ သိရသည်။တက်ရောက်၍ မှတ်တမ်းတင် ဆလိုက်များ၊
ဇာတ်လမ်းကို သတ်မှတ်ရန်အတွက် Carruth သည် ယနေ့ခေတ်၏ လူကြိုက်အများဆုံး programming language အများအပြားတွင် developer များ လျင်မြန်စွာဖြစ်ထွန်းနိုင်ပြီး ခေတ်ပြိုင်ဘာသာစကားဒီဇိုင်းမှလည်း အကျိုးကျေးဇူးများရရှိစေမည့် မျိုးဆက်ဆက်နွယ်များရှိကြောင်း သရုပ်ပြခဲ့သည်။
၎င်း၏အင်္ဂါရပ်များ၊ Google ၏တီထွင်မှုရည်ရွယ်ချက်နှင့် အခြားအရာများအပါအဝင် ကာဗွန်ပရိုဂရမ်းမင်းဘာသာစကားကို ယေဘုယျမိတ်ဆက်ခြင်းဖြင့် စတင်ကြပါစို့။
ကာဗွန် ပရိုဂရမ်းမင်း ဘာသာစကား မိတ်ဆက်
19 ခုနှစ် ဇူလိုင်လ 2022 ရက်နေ့တွင် Google သည် Carbon ကို ဖန်တီးခဲ့သည့် နောက်ဆုံးပေါ် ပရိုဂရမ်ဘာသာစကားအဖြစ် ထုတ်ဖော်ခဲ့သည်။ ၎င်းသည် C++ ကို စမ်းသပ်အသုံးပြုရန် ရည်ရွယ်ထားသည်။
ကျေးဇူးတင်ပါတယ် ယေဘုယျစနစ်instantiation တစ်ခုစီအတွက် ကုဒ်ကို နှစ်ဆစစ်ဆေးရန် လိုအပ်မှုကို ဖယ်ရှားပေးမည့် Carbon သည် ခေတ်မီပရိုဂရမ်းမင်းအယူအဆများ၏ အခြေခံအုတ်မြစ်ပေါ်တွင် တည်ဆောက်မည်ဖြစ်သည်။
နှစ်ကုန်တွင်၊ ဒီဇိုင်းသည် အခြေခံလုပ်ငန်းလည်ပတ်မှုဗားရှင်း (ဗားရှင်း 0.1) ကို ပေးဆောင်ရန် စီစဉ်ထားသည်။
Memory integrity သည် C++ ပျောက်နေသော အရေးကြီးသော အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ လုံခြုံရေးချို့ယွင်းချက်များ၏ အဓိကအရင်းအမြစ်များထဲမှတစ်ခုမှာ မှတ်ဉာဏ်ဝင်ရောက်ခြင်းဆိုင်ရာ ပြဿနာများဖြစ်သည်။
ဒိုင်းနမစ်နယ်နိမိတ်စစ်ဆေးမှုများ ဖွံ့ဖြိုးတိုးတက်မှု၊ မလုပ်ဆောင်ရသေးသည့် အခြေအနေများကို ပိုမိုခြေရာခံခြင်းနှင့် စေ့စေ့စပ်စပ် ပုံသေအမှားပြင်ဆင်ခြင်းမုဒ်သည် ကာဗွန်အသင်း၏ ပန်းတိုင်များဖြစ်သည်။ ဖန်တီးသူများသည် အချိန်နှင့်အမျှ လုံခြုံသော ကာဗွန်အခွဲတစ်ခုကို ဖန်တီးရန် ရည်ရွယ်ထားသည်။
သို့သော်၊ အောက်ပါတို့သည် ပရိုဂရမ်းမင်းဘာသာစကားအသစ်၏ အရေးပါသောလက္ခဏာများဖြစ်သည်။
- အမျိုးအစားများကို အမည်ပေးရန်အတွက် အသုံးအနှုန်းများကို အသုံးပြုပါ။
- အဓိပ္ပါယ်စစ်ဆေးမှုများနှင့်အတူ ခိုင်မာသော generics
- အမျိုးအစားများသည် အထူးအားဖြင့် အင်တာဖေ့စ်များကို လုပ်ဆောင်သည်။
- နိဒါန်းစကားစုများနှင့် အခြေခံသဒ္ဒါ
- ညွှန်ပြချက်များသည် အကန့်အသတ်မရှိ ဝင်ရောက်ခွင့်နှင့် အသွင်ကူးပြောင်းမှုကို ခွင့်ပြုသည်။
- လုပ်ဆောင်ချက်ထည့်သွင်းမှုဘောင်များအတွက် တန်ဖိုးများသည် ဖတ်ရန်သာဖြစ်သည်။
- root namespace သည် package ဖြစ်သည်။
- API များကို ၎င်းတို့၏ ပက်ကေ့ဂျ်အမည်များဖြင့် တင်သွင်းနိုင်သည်။
- နည်းလမ်းတစ်ခုကို တိကျပြတ်သားသော အရာဝတ္ထုဘောင်တစ်ခုမှတစ်ဆင့် ကြေညာသည်။
- အတန်းများသည် မူရင်းအတိုင်း နောက်ဆုံးဖြစ်သည်။ အမွေတစ်ခုပဲရှိတယ်။
ကာဗွန်၏အင်္ဂါရပ်များ
ခေတ်မီဖွံ့ဖြိုးတိုးတက်သည်။
- ကာဗွန်ဗားရှင်းများအကြား အဆင့်မြှင့်တင်မှုများသည် ရိုးရှင်းပြီး ကိရိယာကိုအခြေခံသည်။
- အထူးသဖြင့် သင် C++ ကို အသုံးပြုပြီး လေ့လာရန် ရိုးရှင်းပါက ခိုင်မာသော ဘာသာစကားကို ပံ့ပိုးပေးပါသည်။
- ပိုမိုဘေးကင်းသော အခြေခံအုတ်မြစ်များနှင့် မှတ်ဉာဏ်ဘေးကင်းသော အစုခွဲတစ်ခုဆီသို့ အဆင့်ဆင့်ချဉ်းကပ်မှု
open source အသိုင်းအဝိုင်းမှ ကြိုဆိုသည်။
- နွေးထွေးမှု၊ လက်ခံမှု၊ ဖိတ်ခေါ်မှုဖြစ်စေရန် ကြိုးပမ်းသည့်အသိုင်းအဝိုင်း
- ၎င်း၏ ရည်မှန်းချက်များနှင့် ဦးစားပေးများသည် ကွဲပြားပြီး ခိုင်မာသော အုပ်ချုပ်ရေးဖြစ်သည်။
- compiler၊ စာကြည့်တိုက်များ၊ စာရွက်စာတမ်းများ၊ ကိရိယာများ၊ ပက်ကေ့ဂျ်စီမံခန့်ခွဲမှုနှင့် အခြားအရာများပါရှိသော တစ်ခုတည်းသော မဟာဗျူဟာ
မြန်ဆန်ပြီး C++ နှင့် တွဲဖက်အသုံးပြုနိုင်သည်။
- တွဲပြီး အလုပ်လုပ်ပါ။ C ++ ကုဒ် အမွေဆက်ခံခြင်းနှင့် ပုံစံများအပါအဝင် သင့်တွင်ရှိပြီးသားဖြစ်သည်။
- LLVM ဖြင့်၊ C++ နှင့် ယှဉ်နိုင်သော စွမ်းဆောင်ရည်နှင့် bits များနှင့် လိပ်စာများသို့ အဆင့်နိမ့်ဝင်ရောက်ခွင့်
- သင့်လက်ရှိ C++ တည်ဆောက်မှုစနစ်များနှင့် လျင်မြန်ပြီး အရွယ်အစားမှာ လိုက်ဖက်နိုင်သော တည်ဆောက်မှုများ
Google က ဘာကြောင့် Carbon programming language ကို တည်ဆောက်ခဲ့တာလဲ။
စွမ်းဆောင်ရည်-အရေးပါသော ဆော့ဖ်ဝဲလ်ကို C++ တွင် အများအားဖြင့် ဆက်လက်ရေးသားထားဆဲဖြစ်ပြီး၊ ကြီးမားပြီး ကျယ်ပြန့်သော codebases နှင့် ရင်းနှီးမြှုပ်နှံမှုများ ပါရှိသည်။
သို့သော်၊ အများစုမှာ နှစ်ပေါင်းများစွာ နည်းပညာဆိုင်ရာကြွေးမြီများကြောင့် အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း developer များ၏ လိုအပ်ချက်များကို ရှေ့တိုးကာ ဖြည့်ဆည်းရန် အခက်အခဲရှိနေပါသည်။
၎င်းတွင် တိုးလာသော နည်းပညာဆိုင်ရာ အကြွေးများနှင့် ၎င်း၏ ဆင့်ကဲဖြစ်စဉ်အတွက် အခက်အခဲများကြောင့် C++ ကို တိုးမြှင့်ရန် အလွန်ခက်ခဲပါသည်။
ဤပြဿနာများကိုဖြေရှင်းရန် စံပြနည်းလမ်းမှာ C သို့မဟုတ် C++ ၏အစဉ်အလာကို တိုက်ရိုက်အမွေဆက်ခံမည့်အစား ခေတ်ပြိုင် generics စနစ်၊ modular ကုဒ်ဖွဲ့စည်းပုံကဲ့သို့ ခိုင်မာသောဘာသာစကားအခြေခံဖြင့် စတင်ရန်ဖြစ်သည်။
Go၊ Swift၊ Kotlin၊ Rust နှင့် အခြားသော ခေတ်ပြိုင်ဘာသာစကားများစွာသည် ထူးထူးခြားခြား ဖွံ့ဖြိုးတိုးတက်မှုအတွေ့အကြုံကို ပေးဆောင်ထားပြီးဖြစ်သည်။ ဤလက်ရှိဘာသာစကားများထဲမှ တစ်ခုကို အသုံးပြုနိုင်သည့် developer များ ဖြစ်သင့်သည်။
ကံမကောင်းစွာဖြင့်၊ C++ မှ မွေးစားခြင်းနှင့် ရွှေ့ပြောင်းခြင်းများသည် ဤဘာသာစကားများ၏ ဒီဇိုင်းများကြောင့် ပြင်းထန်စွာ အဟန့်အတားဖြစ်နေပါသည်။ ဤအတားအဆီးများတွင် စွမ်းဆောင်ရည်အပေါ်ပိုင်းနှင့် ဆော့ဖ်ဝဲ၏ idiomatic ဒီဇိုင်းကို ပြုပြင်မွမ်းမံခြင်းများ ပါဝင်သည်။
ကာဗွန်သည် C++ ကို တဖြည်းဖြည်း မြှင့်တင်ရန် ကြိုးပမ်းမှုမဟုတ်ပါ။ ယင်းအစား ၎င်းသည် ဆက်ခံသော ဘာသာစကားဗျူဟာတစ်ခုဖြစ်သည်။ ၎င်း၏ အာရုံစိုက်မှုသည် C++ အပြန်အလှန်လုပ်ဆောင်နိုင်မှုအပြင် C++ အသုံးပြုနေသော developer များနှင့် codebases များအတွက် ကျယ်ပြန့်စွာလက်ခံမှုနှင့် ရွှေ့ပြောင်းခြင်းအပေါ်ဖြစ်သည်။
C++ အစားထိုးဘာသာစကားတစ်ခုတွင် ရှိရမည်-
- C++ နှင့် ယှဉ်နိုင်သော စွမ်းဆောင်ရည်သည် ဆော့ဖ်ဝဲရေးသားသူများအတွက် အရေးကြီးသော လက္ခဏာတစ်ခုဖြစ်သည်။
- C++ ပရိုဂရမ်မာများအတွက် စီမံခန့်ခွဲနိုင်သော သင်ယူမှုမျဉ်းကွေးနှင့် ရင်းနှီးမှုအဆင့်
- အရွယ်အစားပြောင်းနိုင်သော ရွှေ့ပြောင်းခြင်းတွင် အရင်းအမြစ်မှ အရင်းအမြစ် idiomatic C++ ကုဒ်ဘာသာပြန်ခြင်းအချို့ ပါဝင်သည်။
- လက်ရှိဆော့ဖ်ဝဲ၏ တည်ဆောက်ပုံနှင့် ဒီဇိုင်းအတွက် ဆင်တူသော ဖော်ပြနိုင်စွမ်းနှင့် ပံ့ပိုးမှု။
- မည်သည့်စာကြည့်တိုက်ကိုမဆို ကာဗွန်ကိုထည့်သွင်းရန် ခွင့်ပြုပေးသော ချောမွေ့မှုမရှိသော C++ နှင့် အပြန်အလှန်လုပ်ဆောင်နိုင်မှု။
ဤနည်းဗျူဟာဖြင့်၊ Google သည် C++ အတွက် ရှိနှင့်ပြီးသား ဂေဟစနစ်သို့ ပေါင်းထည့်ကာ လက်ရှိ ရင်းနှီးမြှုပ်နှံမှုများ၊ ကုဒ်ဘေ့စ်များနှင့် ဖွံ့ဖြိုးတိုးတက်ရေး အသိုင်းအဝိုင်းများကို ပေါင်းစပ်ထားသည်။
ဘာသာစကားအချို့သည် အမျိုးမျိုးသော ဂေဟစနစ်များအတွက် ဤချဉ်းကပ်မှုကို လက်ခံကျင့်သုံးကြပြီး၊ Carbon သည် ဤအခြေအနေများတွင် C++ နှင့် ဆင်တူသောလုပ်ဆောင်ချက်ကို ကစားရန် ကြိုးစားသည်-
- Java – Kotlin
- JavaScript – TypeScript
- C++ - ကာဗွန်
C++ VS ကာဗွန်ကုဒ်
အကယ်၍ သင်သည် C++ developer ဖြစ်နေပြီဆိုလျှင် ကာဗွန်သည် သင်ယူမှုမျဉ်းနိမ့်ရှိသင့်သည်။ ၎င်းသည် သဘာဝဆန်ပြီး ဖတ်ရန် ရိုးရှင်းသင့်သည့် သဒ္ဒါတည်ဆောက်မှုပုံစံ အစုံအလင်ဖြင့် ဖွဲ့စည်းထားသည်။
C++ ကုဒ်၏ ဥပမာတစ်ခု။
ဤကာဗွန်ကုဒ်သည်-
ကာဗွန် Vs သံချေး
Memory-Safe Performance Application များ၏ လိုအပ်ချက်များနှင့် ကိုက်ညီစေရန် အတိအလင်း ဒီဇိုင်းထုတ်ထားသော ခေတ်ပြိုင်ဘာသာစကားကို Rust ဟုခေါ်သည်။
ဒါဆို ဘာကြောင့် Rust ကို ရိုးရိုးရှင်းရှင်း မသုံးတာလဲ။
Mozilla ပရောဂျက်တစ်ခုအနေဖြင့် စတင်ခဲ့ပြီး နောက်ပိုင်းတွင် အများသူငှာ လိုက်လျောညီထွေဖြစ်စေရန် ကြီးထွားလာခဲ့သည့် Rust သည် C++ ၏ ဆက်ခံသူဖြစ်ကြောင်း အချို့က စောဒကတက်သော်လည်း အပြိုင်တရားဝင်ဆဲဖြစ်ပါက Carruth က သံသယဝင်သည်။
Rust သည် ပရောဂျက်အသစ်တစ်ခုစတင်ရန် အံ့သြဖွယ်ကောင်းသောဘာသာစကားတစ်ခုဖြစ်သည်မှာ သေချာသော်လည်း ၎င်းသည် Java နှင့် Kotlin ကဲ့သို့သော ဘာသာစကားများ၏ "အပြန်အလှန်အပြန်အလှန်လုပ်ဆောင်နိုင်မှု" နည်းပါးသောကြောင့် ၎င်းကို တဖြည်းဖြည်းကူးပြောင်းရန် စိန်ခေါ်လျက်ရှိသည်။
Carruth သည် CPP North တွင် ဟောပြောပွဲတစ်ခု ပြုလုပ်ခဲ့ပြီး Rust ကို အသုံးပြုပြီးသောသူများကို ဆက်လက်လုပ်ဆောင်ရန် တိုက်တွန်းခဲ့သည်။ Rust သို့ ပြောင်းလဲရန် ခက်ခဲသော C++ ကုဒ်ဘေ့စ်များ ရှိနှင့်ပြီးသော developer များသည် Carbon ကို အသုံးပြုသင့်သည်။
အထူးသဖြင့်၊ Carbon သည် ဤဥပမာ C++ တွင် ရှိပြီးသားဂေဟစနစ်၏ထိပ်တွင်တည်ဆောက်ထားသည့် "ဆက်ခံသောဘာသာစကား" အဖြစ် Carruth ရည်ညွှန်းသည်။
ထိုရည်ရွယ်ချက်အတွက်၊ Carbon သည် "စွမ်းဆောင်ရည်-အရေးပါသော အပလီကေးရှင်းများဖန်တီးရာတွင် ပရိုဂရမ်မာများအား ကူညီခြင်းကဲ့သို့သော Rust နှင့် ရည်ရွယ်ချက်များစွာရှိသော်လည်း၊ လက်ရှိ C++ ကုဒ်နှင့် လုံး၀သဟဇာတဖြစ်စေရန် ရည်ရွယ်ပါသည်။
ထို့အပြင်၊ ၎င်းသည် C++ မှ ကာဗွန်သို့ တတ်နိုင်သမျှ ရိုးရှင်းစေရန် ရည်ရွယ်ပါသည်။
ကောက်ချက်
နောက်ဆုံးတွင်၊ ကာဗွန်ဘာသာစကားဖန်တီးသူများသည် ဖန်တီးမှုလုပ်ငန်းစဉ်ကိုအာရုံစိုက်ရန် ကြိုးပမ်းခဲ့ကြသည်။ ပရောဂျက်၏ကုဒ်ကို တောင်းဆိုချက်အတွက် ရရှိနိုင်ပြီး ပွင့်လင်းစွာ သိမ်းဆည်းထားသည်။ Github၎င်း၏ယဉ်ကျေးမှုကို ပုဂ္ဂလိကနိုင်ငံသားများနှင့် အိုင်တီကဏ္ဍနှစ်ခုစလုံးတွင် ပါဝင်နိုင်ပြီး ပွင့်လင်းမြင်သာမှုအဖြစ် သတ်မှတ်ထားသည်။
ကာဗွန်အဖွဲ့သည် ကာဗွန်ကို လူမှုအသိုင်းအဝိုင်းက မောင်းနှင်သော ကိုယ်ပိုင်အုပ်ချုပ်ခွင့်ရပရောဂျက်တစ်ခုဖြစ်ပြီး အနာဂတ်တွင် ဖွံ့ဖြိုးတိုးတက်ရန်အတွက် Google မှ လှုံ့ဆော်ပေးသည့် ပရောဂျက်တစ်ခုသာ လိုအပ်သည်ဟု ထင်မြင်ယူဆခဲ့သည်။
အိုင်တီစီးပွားရေးလုပ်ငန်းအများအပြားမှ စိတ်ဝင်စားနေသော်လည်း၊ ဤအယူအဆသည် စမ်းသပ်ဆဲအဆင့်တွင်ရှိနေဆဲဖြစ်ကြောင်း Caruth က ပြောကြားခဲ့သည်။
တစ်ဦးစာပြန်ရန် Leave