Nim ပရိုဂရမ်းမင်းဘာသာစကား 1.4.0 ထွက်ရှိသည်။

Nim စနစ် ပရိုဂရမ်းမင်းဘာသာစကား၏ ဗားရှင်းအသစ်ကို ယခုစက်တင်ဘာလတွင် ၎င်း၏တစ်နှစ်ပြည့်အထိမ်းအမှတ်အဖြစ် ကျင်းပခဲ့သည်။ ပထမတည်ငြိမ်သောဗားရှင်း. ဘာသာစကားသည် Python နှင့် syntax တွင်ဆင်တူပြီး စွမ်းဆောင်ရည်တွင် C++ နှင့်နီးပါးတူသည်။ အရ အမြဲမေးလေ့ရှိသောမေးခွန်းများ ဘာသာစကားသည် (ပံ့ပိုးကူညီမှုအလို့ငှာ) မှ ကြီးကြီးမားမား ချေးယူသည်- Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


C/C++/Objective-C/JS တွင် compile လုပ်နိုင်စွမ်းကြောင့် နေရာတိုင်းတွင် အလုပ်လုပ်ပါသည်။ ထောက်ခံပါတယ်။ မက်ခရို, OOP, ဘဝတစ်ခု, ခြွင်းချက်, hot code swap ပြီးတော့နောက်ထပ်အများကြီးပဲ။ လိုင်စင်: MIT

အထင်ရှားဆုံး အပြောင်းအလဲများ-

  • ARC မှ အယ်လဂိုရီသမ်ကို အသုံးပြုသည့် ORC အမှိုက်စုဆောင်းသူအသစ်ရှိသော်လည်း တစ်ချိန်တည်းတွင် စက်ဝိုင်းဆိုင်ရာကိုးကားချက်များကို အထူးနည်းလမ်းဖြင့် ကိုင်တွယ်သည်။ -gc:orc ရွေးချယ်မှုဖြင့် ဖွင့်ထားသည်။ ARC/ORC ကွာခြားချက်များအကြောင်း ကောင်းတဲ့ဆောင်းပါးတစ်ခုရှိပါတယ်။.

  • တင်းကျပ်သော လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်များအတွက် မုဒ်ကို ထည့်သွင်းထားပြီး၊ အရာဝတ္တုများ ပြောင်းလဲနိုင်မှုကို ထပ်လောင်းစစ်ဆေးနိုင်စေပါသည်။ လက်တွေ့ကျကျ {.experimental: "strictFuncs".} သို့မဟုတ် --experimental:strictFuncs သော့မှတစ်ဆင့် အသက်သွင်းထားသည်။

  • သော့ချက်စကားလုံးမှ ယခု အော်ပရေတာအဖြစ် သုံးနိုင်ပါပြီ။

  • .noalias pragma ကို ထည့်ပေးခဲ့သည်။ ၎င်းသည် သော့ချက်စကားလုံးကို ပေးစွမ်းနိုင်သော စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန် သော့ချက်စကားလုံးကို ကန့်သတ်ရန် C သို့ မြေပုံဆွဲထားသည်။

  • တိကျသောသတိပေးချက်များကို --warningAsError[X]:on|off မှတစ်ဆင့် အမှားများအဖြစ်သို့ ပြောင်းလဲနိုင်ပါပြီ။

  • ကွန်မန်းအသစ်- nim r main.nim [args...] ကို compile လုပ်ပြီး main.nim ကို လုပ်ဆောင်ပြီး --usenimcache ပါ၀င်သောကြောင့် ရလဒ်ကို nim c - ကဲ့သို့ တူညီသော logic ကို အသုံးပြု၍ $nimcache/main$exeExt တွင် သိမ်းဆည်းထားရန်၊ r အရင်းအမြစ်များ မပြောင်းလဲသောအခါ ပြန်လည်စုစည်းခြင်းမှ ဖယ်ရှားရန်။ ဥပမာ-

nim r compiler/nim.nim --help # ကို ပထမဆုံးအကြိမ် ပြုစုသည်။
ပဲ့တင်သံ 'သွင်းကုန် os; getCurrentCompilerExe()' | nim r - # ဒါကလည်း အဆင်ပြေတယ်။
nim r compiler/nim.nim --fullhelp # ပြန်လည်စုစည်းခြင်းမပြုဘဲ
nim r —nimcache:/tmp main # binary ကို /tmp/main တွင် သိမ်းဆည်းထားသည်။

  • အရိပ်အမြွက်အသစ် -hint:msgOrigin ကို ပေါင်းထည့်လိုက်သည်၊ ၎င်းသည် ကွန်ပြူလာက အမှား/သတိပေးသည့် မက်ဆေ့ချ်များကို ထုတ်ပေးသည့်နေရာကို ပြသမည်ဖြစ်သည်။ မက်ဆေ့ချ်က ဘယ်ကလာတယ်ဆိုတာ မသိရတဲ့အခါ ဒါက ကူညီပေးတယ်။

  • နောက်ခံဖိုင်ကိုပြောင်းရန် အလံထပ်ထည့်ထားသည် —backend:js|c|cpp|objc (သို့မဟုတ် -b:js စသည်ဖြင့်)။

  • nimcache သို့ binaries များထုတ်ပေးရန် --usenimcache အလံကို ထည့်ထားသည်။

  • သော့များကို ဖယ်ရှားလိုက်သည်- --oldNewlines၊ --laxStrings၊ --oldast၊ --oldgensym

  • nimsuggest utility သည် ယခုကြိုတင်ကြေငြာချက်ကိုသာမက def တောင်းဆိုမှုအတွက် အကောင်အထည်ဖော်သည့်တည်နေရာကိုလည်း ပြသထားသည်။

ထို့အပြင်၊ စံဒစ်ဂျစ်တိုက်သို့ အပြောင်းအလဲများစွာနှင့် ချွတ်ယွင်းချက်ပြင်ဆင်မှုများများစွာကို ထည့်သွင်းထားသည်။

source: linux.org.ru