C++ ဖန်တီးသူသည် လုံခြုံသော ပရိုဂရမ်းမင်းဘာသာစကားများ ချမှတ်ခြင်းကို ဝေဖန်ခဲ့သည်။

C++ ဘာသာစကားကို ဖန်တီးသူ Bjarne Stroustrup သည် NSA အစီရင်ခံစာ၏ နိဂုံးချုပ်ချက်ကို ကန့်ကွက်ကြောင်း ထုတ်ပြန်ခဲ့ပြီး၊ အဖွဲ့အစည်းများသည် C နှင့် C++ ကဲ့သို့သော ပရိုဂရမ်းမင်းဘာသာစကားများမှ ဝေးဝေးသို့ ထွက်ခွာရန် အကြံပြုထားပြီး၊ ဆော့ဖ်ဝဲရေးသားသူမှ မန်မိုရီစီမံခန့်ခွဲမှုကို ဘာသာစကားများဖြင့် ချန်လှပ်ထားခဲ့သည်။ အလိုအလျောက်မှတ်ဉာဏ်စီမံခန့်ခွဲမှု သို့မဟုတ် compile-time memory ဘေးကင်းရေးစစ်ဆေးမှုများကို လုပ်ဆောင်ပေးသည့် C#၊ Go၊ Java၊ Ruby၊ Rust နှင့် Swift ကဲ့သို့သော၊

Stroustrup ၏အဆိုအရ NSA အစီရင်ခံစာတွင်ဖော်ပြထားသော လုံခြုံသောဘာသာစကားများသည် အမှန်တကယ်တွင် C++ ထက် သူ့အမြင်ဖြင့် အရေးကြီးသော application များတွင် သာလွန်ခြင်းမရှိပေ။ အထူးသဖြင့်၊ မကြာသေးမီနှစ်များအတွင်း တီထွင်ခဲ့သော C++ (C++ Core Guidelines) ကို အသုံးပြုရန်အတွက် အခြေခံအကြံပြုချက်များသည် ဘေးကင်းသော ပရိုဂရမ်းမင်းနည်းလမ်းများကို အကျုံးဝင်ပြီး အမျိုးအစားများနှင့် အရင်းအမြစ်များဖြင့် ဘေးကင်းစွာ အလုပ်လုပ်နိုင်စေရန် အာမခံသည့် ကိရိယာများကို အသုံးပြုခြင်းကို ညွှန်းပါသည်။ ဤကဲ့သို့ တင်းကြပ်သော လုံခြုံရေးအာမခံချက်များ မလိုအပ်သော ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအတွက် ရွေးချယ်စရာကို ချန်ထားပေးပါသည်။

Stroustrup သည် C++ Core လမ်းညွှန်ချက်များကို လိုက်နာသည့် ကောင်းမွန်သော static analyzer သည် C++ ကုဒ်၏ လုံခြုံရေးအတွက် လိုအပ်သော အာမခံချက်များကို လုံခြုံသော ပရိုဂရမ်းမင်းဘာသာစကားအသစ်များသို့ ပြောင်းရွှေ့ခြင်းထက် သိသိသာသာ သက်သာသော ကုန်ကျစရိတ်ဖြင့် ပေးဆောင်နိုင်သည်ဟု Stroustrup မှ ယုံကြည်ပါသည်။ ဥပမာအားဖြင့်၊ Core Guidelines အများစုကို Microsoft Visual Studio တွင်ပါဝင်သော static analyzer နှင့် memory ဘေးကင်းရေးပရိုဖိုင်တွင် အကောင်အထည်ဖော်ပြီးဖြစ်သည်။ အချို့သောအကြံပြုချက်များကို Clang tidy static analyzer တွင်လည်း ထည့်သွင်းစဉ်းစားပါသည်။

NSA အစီရင်ခံစာသည် မှတ်ဉာဏ်ပြဿနာများကိုသာ အာရုံစိုက်ကာ လုံခြုံရေးနှင့် ယုံကြည်စိတ်ချရမှုကို ထိခိုက်စေသည့် အခြားသော ပရိုဂရမ်းမင်းဘာသာစကား ပြဿနာများစွာကို ချန်ထားခဲ့သည့်အတွက်လည်း ဝေဖန်ခံခဲ့ရသည်။ Stroustrup သည် လုံခြုံရေးကို ပိုမိုကျယ်ပြန့်သော အယူအဆအဖြစ် ရှုမြင်သည်၊ ၎င်းကို ကုဒ်ပုံစံ၊ စာကြည့်တိုက်များ၊ နှင့် static ခွဲခြမ်းစိတ်ဖြာသူများ ပေါင်းစပ်ခြင်းဖြင့် ရရှိနိုင်သည့် ကွဲပြားခြားနားသော အသွင်အပြင်များ။ အမျိုးအစားများနှင့် အရင်းအမြစ်များနှင့် အလုပ်လုပ်ခြင်း၏ ဘေးကင်းမှုကို သေချာစေသည့် စည်းမျဉ်းများပါ၀င်မှုကို ထိန်းချုပ်ရန်၊ ကုဒ်နှင့် စုစည်းမှုရွေးချယ်စရာများတွင် မှတ်ချက်များကို အသုံးပြုရန် အဆိုပြုထားသည်။

လုံခြုံရေးထက် စွမ်းဆောင်ရည်က ပိုအရေးကြီးသည့် အပလီကေးရှင်းများတွင်၊ ဤနည်းလမ်းသည် လိုအပ်သည့်နေရာတွင်သာ လုံခြုံရေးအာမခံချက်ရှိသော အင်္ဂါရပ်များကို ရွေးချယ်အသုံးပြုနိုင်စေမည်ဖြစ်သည်။ အကွာအဝေးစစ်ဆေးခြင်းနှင့် ကနဦးသတ်မှတ်ခြင်းဆိုင်ရာ စည်းမျဉ်းများဖြင့် စတင်ကာ ကုဒ်ကို ပိုမိုတင်းကြပ်သော လိုအပ်ချက်များဆီသို့ တဖြည်းဖြည်း ပြောင်းလဲခြင်းကဲ့သို့သော လုံခြုံရေးကိရိယာများကို သေးငယ်သည့်ပုံစံဖြင့်လည်း အသုံးပြုနိုင်မည်ဖြစ်သည်။

source: opennet.ru

မှတ်ချက် Add