Hacker News

D Programming Language

D Programming Language ဤစူးစမ်းလေ့လာမှုသည် ပရိုဂရမ်ရေးဆွဲခြင်းတွင် ပါဝင်ပြီး ၎င်း၏ အရေးပါမှုနှင့် ဖြစ်နိုင်ချေရှိသော သက်ရောက်မှုများကို ဆန်းစစ်သည်။ အဓိက သဘောတရားများ လွှမ်းခြုံထားသည်။ ဤအကြောင်းအရာကို လေ့လာသည်- အခြေခံသဘောတရားများနှင့် သီအိုရီများ လက်တွေ့အကျုံးဝင်သော...

2 min read Via dlang.org

Mewayz Team

Editorial Team

Hacker News

D ပရိုဂရမ်းမင်းဘာသာစကား- ကုန်ထုတ်စွမ်းအားအတွက် တည်ဆောက်ထားသော ခေတ်မီစနစ်ဘာသာစကား

D ပရိုဂရမ်းမင်းဘာသာစကားသည် ခေတ်မီဆော့ဖ်ဝဲလ်အင်ဂျင်နီယာဆိုင်ရာ အခြေခံသဘောတရားများနှင့် C ၏ ပါဝါနှင့် စွမ်းဆောင်ရည်ကို ပေါင်းစပ်ထားသော ကိန်းသေစနစ်ဖြင့် ရိုက်ထားသော စနစ်ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သည်။ Walter Bright မှ ဒီဇိုင်းထုတ်ပြီး 2001 ခုနှစ်တွင် စတင်ထုတ်ဝေခဲ့ပြီး D သည် developer များအား ကုဒ်ရှင်းလင်းပြတ်သားမှု သို့မဟုတ် ဆော့ဖ်ဝဲရေးသားသူ၏ ကုန်ထုတ်စွမ်းအားကို မစွန့်ဘဲ စွမ်းဆောင်ရည်မြင့် အပလီကေးရှင်းများ တည်ဆောက်ရန်အတွက် ဆွဲဆောင်မှုရှိသော အခြားရွေးချယ်စရာတစ်ခုကို ပေးပါသည်။

D ပရိုဂရမ်းမင်းဘာသာစကားက ဘာလဲ၊ ဘာကြောင့် ဖန်တီးခဲ့တာလဲ။

D သည် C++ ရှုပ်ထွေးမှုများကြောင့် စိတ်ပျက်လက်ပျက်ဖြစ်ခဲ့ရသည်။ ပထမဆုံး မူရင်း C++ compiler ကို ဖန်တီးသူ Walter Bright သည် မလိုအပ်သော ရှုပ်ထွေးမှုများကို ဖယ်ရှားပေးကာ အကြမ်းထည် စနစ်အဆင့် စွမ်းဆောင်ရည်ကို ထိန်းသိမ်းထားသည့် ဘာသာစကားတစ်ခုကို စိတ်ကူးယဉ်ခဲ့သည်။ D သည် မည်သည့်ဘာသာစကားတစ်ခုမှ ဆင်းသက်လာခြင်းမဟုတ်ပါ — ၎င်းသည် C၊ C++၊ Java၊ Python နှင့် Ruby တို့မှ စိတ်ကူးစိတ်သန်းများကို ရေးဆွဲပေးသည့် အခြေခံပြန်လည်ဒီဇိုင်းတစ်ခုဖြစ်သည်။

၎င်း၏အဓိကတွင်၊ D သည် ရွေးချယ်နိုင်သော အမှိုက်စုဆောင်းမှု၊ ခိုင်မာသောစာရိုက်ခြင်းနှင့် metaprogramming အတွက် built-in ပံ့ပိုးမှုပါရှိသော စုစည်းထားသောဘာသာစကားဖြစ်သည်။ သိသိသာသာရှင်းလင်းသော syntax နှင့် Phobos ဟုခေါ်သော ပိုမိုကြွယ်ဝသောစံပြစာကြည့်တိုက်ကို ပေးဆောင်နေချိန်တွင် ၎င်းသည် C နှင့် C++ ကဲ့သို့တူညီသောစွမ်းဆောင်ရည်အဆင့်ကိုပစ်မှတ်ထားသည်။

"D သည် C++ ဖြစ်သင့်သည် — ၎င်းသည် အမျိုးမျိုးသော ပါရာဒိုင်းများမှ အကောင်းဆုံး အကြံဥာဏ်များကို ယူဆောင်ကာ ၎င်းတို့ကို လက်တွေ့ကမ္ဘာမှ ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပေါင်းစပ်လက်တွေ့ကျသော စနစ်တစ်ခုအဖြစ် ပေါင်းစပ်ထားသည်။"

D ပေါ်လွင်စေသည့် အဓိကအင်္ဂါရပ်များကား အဘယ်နည်း။

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

  • Templates နှင့် Compile-Time Function Execution (CTFE)- D ၏ နမူနာပုံစံစနစ်သည် C++ များထက် ပိုမိုဖော်ပြနိုင်ပြီး ဖတ်နိုင်သည်ဟု ကျယ်ကျယ်ပြန့်ပြန့် မှတ်ယူကြပြီး၊ လျှို့ဝှက်ရေးဆိုင်ရာ အစီအစဥ်မပါဘဲ အစွမ်းထက်သော metaprogramming ကို ပံ့ပိုးပေးပါသည်။
  • @safe မှတ်ချက်များဖြင့် မမ်မိုရီဘေးကင်းရေး- D သည် ဆော့ဖ်ဝဲရေးသားသူများအား @safe အဖြစ် လုပ်ဆောင်ချက်များကို မှတ်သားစေပြီး၊ စုစည်းချိန်၌ မလုံခြုံသော မှတ်ဉာဏ်ဆိုင်ရာ လုပ်ဆောင်ချက်များကို တားဆီးနိုင်သည် — လုံခြုံသော စနစ်ကုဒ်ဆီသို့ သိသာထင်ရှားသော ခြေလှမ်းတစ်ခု။
  • Built-in ယူနစ်စမ်းသပ်ခြင်း- D တွင် မူရင်းဖိုင်များတွင် ယူနစ်စမ်းသပ်မှုများအတွက် မူရင်းပံ့ပိုးမှု ပါ၀င်သည်၊၊ စမ်းသပ်မောင်းနှင်ထားသော ဖွံ့ဖြိုးတိုးတက်မှုကို တွေးခေါ်ခြင်းထက် ဘာသာစကား၏ ပထမတန်းစားနိုင်ငံသားဖြစ်လာစေရန်။
  • အပိုင်းအခြားများနှင့် လုပ်ဆောင်နိုင်သော ပိုက်လိုင်းများ- D ၏ အကွာအဝေးကို အခြေခံသည့် အယ်လဂိုရီသမ်များသည် လုပ်ငန်းသုံးဘာသာစကားများနှင့် ဆင်တူသော သန့်ရှင်းပြီး ပေါင်းစပ်နိုင်သော ဒေတာစီမံဆောင်ရွက်ပေးသည့် ပိုက်လိုင်းများကို လုပ်ဆောင်ပေးကာ ဘွိုင်လာပြားကို လျှော့ချကာ ဖတ်ရှုနိုင်မှုကို ပိုမိုကောင်းမွန်စေပါသည်။
  • Seamless C အပြန်အလှန်လုပ်ဆောင်နိုင်မှု- ခေတ်မီဘာသာစကားများစွာနှင့်မတူဘဲ D သည် ချည်နှောင်ခြင်း သို့မဟုတ် wrapper အလွှာများမပါဘဲ developer များအား C ဂေဟစနစ်သို့ ချက်ချင်းဝင်ရောက်ခွင့်ပေးသည်။

D သည် C++ နှင့် ခေတ်မီဖွံ့ဖြိုးတိုးတက်မှုတွင် Rust ကို မည်သို့နှိုင်းယှဉ်သနည်း။

Rust သည် Memory-Safe အဆင့်နိမ့်ကုဒ်အတွက် အရှိန်အဟုန်ကြီးမားစွာရရှိပြီး C++ သည် အမွေအနှစ်နှင့် ဂိမ်းဖွံ့ဖြိုးတိုးတက်မှုတွင် လွှမ်းမိုးကျန်ရှိနေသော စနစ်များပရိုဂရမ်နေရာလွတ်များ ပိုမိုယှဉ်ပြိုင်လာပါသည်။ D သည် ဤဝင်ရိုးစွန်းနှစ်ခုကြားတွင် စိတ်ဝင်စားဖွယ်ပုံစံဖြင့် ထိုင်သည်။

C++ နှင့် နှိုင်းယှဉ်ပါက D သည် သိသိသာသာ ပိုမိုရိုးရှင်းသော နမူနာပုံစံ အထားအသို၊ တပ်ဆင်ထားသော အမှိုက်စုဆောင်းမှု (ကိုယ်တိုင်ထိန်းချုပ်မှုဖြင့် ရနိုင်သည်) နှင့် ပိုမိုဖတ်ရှုနိုင်သော မော်ဂျူးစနစ်တို့ကို ပေးဆောင်ပါသည်။ D တွင် စုစည်းမှုအချိန်များသည် ပုံမှန် C++ တည်ဆောက်မှုများထက် သိသိသာသာ ပိုမြန်သည်၊ ၎င်းသည် ကြီးမားသောပရောဂျက်များတွင် အလွန်အရေးကြီးပါသည်။

Rust နှင့် နှိုင်းယှဉ်ပါက D သည် ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသော မမ်မိုရီမော်ဒယ်အတွက် Rust ၏ တင်းကျပ်သော ချေးယူစစ်ဆေးချက်ကို ပေးသည်။ Rust သည် မှတ်ဉာဏ်ဘေးကင်းရေးနှင့်ပတ်သက်၍ ပိုမိုခိုင်မာသော compile-time အာမခံချက်ပေးသော်လည်း၊ ၎င်းသည် D ကိုပိုမိုလွယ်ကူစွာလေ့လာနိုင်ပြီး နမူနာပုံစံကိုပိုမိုမြန်ဆန်စေသည်။ Rust ၏ မတ်စောက်သော သင်ယူမှုမျဉ်းမပါဘဲ စနစ်အဆင့် စွမ်းဆောင်ရည် လိုအပ်သော အသင်းများအတွက် D သည် စစ်မှန်သော ဆွဲဆောင်မှုရှိသော အလယ်အလတ်အခြေခံကို တင်ပြသည်။

D သည် inline assembler၊ SIMD ပင်ကိုယ်နှင့် low-level pointer manipulation — OS ဖွံ့ဖြိုးတိုးတက်မှု၊ ဂိမ်းအင်ဂျင်များ၊ သိပ္ပံနည်းကျတွက်ချက်မှုနှင့် embedded systems programming အတွက် မရှိမဖြစ်လိုအပ်သော စွမ်းရည်များကိုလည်း ပံ့ပိုးပေးပါသည်။

D Language မှ မည်သည့်စက်မှုလုပ်ငန်းနှင့် အသုံးချပလီကေးရှင်းများမှ အကျိုးကျေးဇူးအများဆုံးရရှိသနည်း။

D ၏ စွမ်းဆောင်ရည် ပရိုဖိုင်နှင့် ဖော်ပြမှု အမျိုးအစားစနစ် သည် ဖြတ်သန်းမှု နှင့် ဆော့ဖ်ဝဲရေးသားသူ အလျင် အရေးပါသည့် ဒိုမိန်းများအတွက် အထူးသင့်လျော်ပါသည်။ D ၏ compile-time reflection နှင့် zero-overhead abstraction တို့မှ ဂိမ်းအင်ဂျင်တည်ဆောက်မှု အကျိုးကျေးဇူးများ။ သိပ္ပံနည်းကျ ကွန်ပြူတာအသိုင်းအဝိုင်းများသည် D ၏ ကိန်းဂဏာန်းစာကြည့်တိုက်များနှင့် ထပ်ခါတလဲလဲ သုတေသနလုပ်ငန်းအသွားအလာများအတွက် လျင်မြန်သောစုစည်းမှုသံသရာများကို တန်ဖိုးထားကြသည်။

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Node.js နှင့် အပြိုင်အဆိုင် အပြိုင်အဆိုင် အပြိုင်အဆိုင် အပြိုင်အဆိုင် အပြိုင်အဆိုင် I/O နှင့် HTTP ဆာဗာစွမ်းရည်များကို ပံ့ပိုးပေးသည့် Vibe.d ကဲ့သို့သော မူဘောင်များဖြင့်လည်း ဖြစ်နိုင်သည် — CPU-အများအားဖြင့် တောင်းဆိုမှု ကိုင်တွယ်မှုအတွက် သိသိသာသာ ပိုကောင်းသည့် ကုန်ကြမ်းကို ပေးဆောင်နေပါသည်။

စနစ်များ ကိရိယာတန်ဆာပလာများ၊ စုစည်းမှုများ၊ ခွဲခြမ်းစိပ်ဖြာမှုများနှင့် ဒေတာလုပ်ဆောင်ခြင်း ပိုက်လိုင်းများသည် အခြားသော သဘာဝအတိုင်း ကိုက်ညီမှုများကို ကိုယ်စားပြုသည်။ D compiler ကိုယ်တိုင် (DMD၊ LDC နှင့် GDC) သည် ခေတ်မီဆန်းပြားသော toolchain software ကိုတည်ဆောက်ရန်အတွက် ဘာသာစကား၏စွမ်းရည်ကို ပြသသည်။

D ပရိုဂရမ်းမင်းဘာသာစကား၏ အနာဂတ်ကား အဘယ်နည်း။

D ၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ရေရှည်ဘာသာစကား ထိန်းကျောင်းမှုကို ကတိပြုထားသည့် အကျိုးအမြတ်မယူသော အဖွဲ့အစည်းတစ်ခုဖြစ်သည့် D Language Foundation မှ မောင်းနှင်ပါသည်။ အသိုက်အဝန်းသည် ဘာသာစကား၏ ဂေဟစနစ်၊ မှတ်တမ်းပြုစုခြင်းနှင့် ကိရိယာတန်ဆာပလာများ—၎င်း၏နည်းပညာပိုင်းဆိုင်ရာအရ နောက်ကျကျန်ခဲ့သော သမိုင်းကြောင်းအရ နောက်ကျကျန်ခဲ့သော နယ်ပယ်များကို မြှင့်တင်ရန် တက်ကြွစွာ လုပ်ဆောင်နေပါသည်။

DIP (D Improvement Proposal) လုပ်ငန်းစဉ်သည် ယခင်က လုပ်ငန်း၏မွေးစားခြင်းကို ဟန့်တားခဲ့သော ဘာသာစကား တည်ငြိမ်မှုနှင့် ပတ်သက်၍ စိုးရိမ်မှုများကို ဖြေရှင်းကာ ဘာသာစကား ဆင့်ကဲဖြစ်စဉ်သို့ ဖွဲ့စည်းတည်ဆောက်ထားသော အုပ်ချုပ်ရေးကို ယူဆောင်လာခဲ့သည်။ ပိုမိုခိုင်မာသောမှတ်ဉာဏ်ဘေးကင်းရေးအာမခံချက်များအတွက် ပက်ကေ့ဂျ်မန်နေဂျာ DUB၊ ပိုမိုကောင်းမွန်သော IDE ပေါင်းစည်းမှုနှင့် -preview=dip1000 ကဲ့သို့သော အစပျိုးမှုများသည် ပိုမိုကျယ်ပြန့်စွာအသုံးပြုရန်အတွက် အသင့်ဖြစ်နေပြီဖြစ်သော ရင့်ကျက်သောဂေဟစနစ်ကို အချက်ပြသည်။

ဆော့ဖ်ဝဲလ်စနစ်များ ပိုမိုရှုပ်ထွေးလာကာ အမှားအယွင်းများ ကုန်ကျစရိတ်များ တိုးလာသည်နှင့်အမျှ ခိုင်မာသော compile-time အာမခံချက်၊ ကောင်းမွန်သောစွမ်းဆောင်ရည်နှင့် ဖော်ပြနိုင်စွမ်းရှိသော abstractions များကို ပေးဆောင်သော ဘာသာစကားများသည် အရေးပါမှုတွင်သာ ကြီးထွားလာမည်ဖြစ်သည်။ D ၏ ဤစရိုက်လက္ခဏာများ ပေါင်းစပ်ခြင်းသည် စနစ်ပရိုဂရမ်ရေးဆွဲခြင်း၊ စွမ်းဆောင်ရည်မြင့် ကွန်ပျူတာနှင့် ကိရိယာများ ဖွံ့ဖြိုးတိုးတက်မှုတွင် ဆက်လက်သက်ဆိုင်မှုအတွက် ကောင်းမွန်သော အနေအထားတွင် ရှိနေပါသည်။


အမေးများသောမေးခွန်းများ

D ပရိုဂရမ်းမင်းဘာသာစကားကို ဆက်လက်ထိန်းသိမ်းထားဆဲလား။

ဟုတ်ကဲ့၊ D ကို DMD (ကိုးကားရေးဖွဲ့ခြင်း)၊ LDC (LLVM အခြေခံ၊ အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ခြင်း) နှင့် GDC (GCC နောက်ခံအစွန်း) အတွက် ပုံမှန် compiler ထုတ်ဝေမှုများဖြင့် D Language Foundation မှ တက်ကြွစွာ ထိန်းသိမ်းထားပါသည်။ ဘာသာစကားသည် စဉ်ဆက်မပြတ်အပ်ဒိတ်များကို လက်ခံရရှိပြီး ကွန်မြူနတီသည် ဖိုရမ်များ၊ GitHub နှင့် Discord ချန်နယ်များတွင် D ဖွံ့ဖြိုးတိုးတက်မှုအတွက် သီးသန့်လုပ်ဆောင်နေပါသည်။

D programming language သည် စတင်သူများအတွက် အဆင်ပြေပါသလား။

D သည် ရှင်းလင်းသော syntax၊ built-in testing နှင့် ပိုမိုကောင်းမွန်သော error messages များကြောင့် system programming ကို စိတ်ဝင်စားသော beginners များအတွက် C++ ထက် ပိုမိုချဉ်းကပ်နိုင်သည်။ သို့သော်၊ ၎င်းကို Python သို့မဟုတ် JavaScript နှင့် နှိုင်းယှဉ်ပါက ပထမဘာသာစကားအဖြစ် အကြံပြုထားခြင်းမရှိပါ။ သတ္တုနှင့် ပိုမိုနီးကပ်စွာ ရွေ့လျားလိုသော ပရိုဂရမ်းမင်းနောက်ခံရှိ အချို့သော ဆော့ဖ်ဝဲရေးသားသူများသည် D ၏ သင်ယူမှုမျဉ်းကွေးကို စီမံခန့်ခွဲနိုင်ပြီး ဆုလာဘ်များကို တွေ့ရှိမည်ဖြစ်သည်။

D ပရိုဂရမ်းမင်းဘာသာစကားကို ဘယ်လိုစတင်ရမလဲ။

သင်သည် D compiler နှင့် toolchain ကို dlang.org တွင် ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။ tour.dlang.org မှတရားဝင်ခရီးစဉ်သည် အပြန်အလှန်အကျိုးသက်ရောက်သောဘရောက်ဆာ-အခြေခံမိတ်ဆက်မှုကိုပေးသည်။ ပက်ကေ့ဂျ်စီမံခန့်ခွဲမှုအတွက်၊ DUB သည် npm သို့မဟုတ် ကုန်တင်ကုန်ချကဲ့သို့ မှီခိုမှုကို ကိုင်တွယ်သည်။ VS Code၊ Vim နှင့် Emacs အပါအဝင် အဓိက ကုဒ်တည်းဖြတ်သူအများစုတွင် ပေါင်းစပ်အသားပေးဖော်ပြခြင်း၊ ပြီးစီးခြင်းနှင့် အမှားရှာပြင်ခြင်းဆိုင်ရာ ပံ့ပိုးမှုများအတွက် D language plugins များရှိသည်။


သင်သည် D၊ Python၊ Rust သို့မဟုတ် အခြားဘာသာစကားဖြင့် တည်ဆောက်သည်ဖြစ်စေ ခေတ်မီဆော့ဖ်ဝဲလ်ပရောဂျက်တစ်ခုကို စီမံခန့်ခွဲခြင်း— ကောင်းမွန်သောကုဒ်ထက် ပိုလိုအပ်ပါသည်။ သင့်အဖွဲ့၊ ဖောက်သည်များ၊ လည်ပတ်မှုများနှင့် တိုးတက်မှုတို့ကို တစ်နေရာတည်းတွင် ကိုင်တွယ်ရန် ကိရိယာများ လိုအပ်ပါသည်။ Mewayz သည် သုံးစွဲသူပေါင်း 138,000 ကျော်မှ ယုံကြည်စိတ်ချရသော all-in-one လုပ်ငန်းလည်ပတ်မှုစနစ်ဖြစ်ပြီး၊ သင့်လုပ်ငန်းလည်ပတ်မှုကဏ္ဍတိုင်းကို ချောမွေ့စေရန် — ဖောက်သည်စီမံခန့်ခွဲမှုမှ ခွဲခြမ်းစိတ်ဖြာမှုအထိ ငွေပေးချေမှုအထိ — တစ်လလျှင် $19 ဖြင့် စတင်အသုံးပြုနိုင်သော ပေါင်းစပ် module 207 ခုကို ပေးဆောင်ထားပါသည်။

သင့်အခမဲ့အစမ်းသုံးခြင်းကို app.mewayz.com တွင် စတင်ပြီး ဆော့ဖ်ဝဲလ်ကောင်းများကိုတည်ဆောက်ရာတွင် သင်အာရုံစိုက်နေချိန်တွင် Mewayz သည် သင့်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်း၏လုပ်ငန်းဘက်ခြမ်းကို မည်ကဲ့သို့စွမ်းဆောင်နိုင်သည်ကို ရှာဖွေပါ။

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime