ပရိုဂရမ်းမင်းဘာသာစကား Vala 0.54.0 ၏ ဘာသာပြန်ဆိုသူ ထုတ်ဝေသည်။

ပရိုဂရမ်းမင်းဘာသာစကား ဘာသာပြန်ဆိုသူ Vala 0.54.0 ဗားရှင်းအသစ် ထွက်ရှိလာပါပြီ။ Vala ဘာသာစကားသည် C# သို့မဟုတ် Java နှင့် ဆင်တူသော အထားအသိုတစ်ခုကို ပံ့ပိုးပေးသည့် အရာဝတ္ထုကို ဦးတည်သော ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သည်။ Vala ကုဒ်ကို C ပရိုဂရမ်သို့ ဘာသာပြန်ဆိုထားပြီး၊ ၎င်းကို စံ C compiler က binary ဖိုင်အဖြစ် စုစည်းပြီး ပစ်မှတ်ပလက်ဖောင်း၏ အရာဝတ္ထုကုဒ်အဖြစ် စုစည်းထားသော အပလီကေးရှင်းတစ်ခု၏ အရှိန်ဖြင့် လုပ်ဆောင်သည်။ script မုဒ်တွင် ပရိုဂရမ်များကို လုပ်ဆောင်နိုင်သည်။ ဘာသာစကားကို GNOME ပရောဂျက်၏ ပံ့ပိုးကူညီမှုအောက်တွင် တီထွင်နေပါသည်။ Gobject (Glib Object System) ကို object model အဖြစ် အသုံးပြုသည်။ ကွန်ပလီကုဒ်ကို LGPLv2.1 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

ဘာသာစကားတွင် introspection၊ lambda လုပ်ဆောင်ချက်များ၊ အင်တာဖေ့စ်များ၊ ကိုယ်စားလှယ်များနှင့် ပိတ်မှုများ၊ အချက်ပြမှုများနှင့် အကွက်များ၊ ခြွင်းချက်များ၊ ဂုဏ်သတ္တိများ၊ အချည်းနှီးမဟုတ်သော အမျိုးအစားများ၊ ဒေသဆိုင်ရာ ကိန်းရှင်များ (var) အတွက် အမျိုးအစား အနုအရင့်များပါရှိသည်။ ကိုးကားရေတွက်ခြင်းအပေါ် အခြေခံ၍ Memory Management ကို ဆောင်ရွက်ပါသည်။ စိတ်ကြိုက်ဒေတာအမျိုးအစားများအတွက် စုဆောင်းမှုများကို ဖန်တီးနိုင်စေသည့် ဘာသာစကားအတွက် ယေဘူယျပြုသော ပရိုဂရမ်းမင်းစာကြည့်တိုက် libgee ကို တီထွင်ထားပါသည်။ Foreach Statement ကို အသုံးပြု၍ စုစည်းထားသော အစိတ်အပိုင်းများကို စာရင်းကောက်ခြင်းကို ထောက်ခံပါသည်။ GTK ဂရပ်ဖစ်စာကြည့်တိုက်ကို အသုံးပြု၍ ဂရပ်ဖစ်ပရိုဂရမ်များ ပရိုဂရမ်ရေးဆွဲခြင်းကို လုပ်ဆောင်သည်။

အဆိုပါကိရိယာသည် C ဘာသာစကားရှိ စာကြည့်တိုက်များနှင့် ချိတ်ဆက်မှုအများအပြားပါရှိသည်။ Vala ဘာသာပြန်ဆိုသူသည် အလားတူစွမ်းရည်များကိုပေးစွမ်းသည့် Genie ဘာသာစကားအတွက် ပံ့ပိုးပေးသော်လည်း Python ပရိုဂရမ်းမင်းဘာသာစကားမှ ဖန်တီးထားသော အထားအသိုတစ်ခုဖြင့် ပေါင်းစပ်ထားသည်။ Geary အီးမေးလ်ကလိုင်းယင့်၊ Budgie ဂရပ်ဖစ်ရှဲလ်၊ Shotwell ဓာတ်ပုံနှင့် ဗီဒီယိုဖိုင်အဖွဲ့အစည်းပရိုဂရမ်နှင့် အခြားပရိုဂရမ်များကို Vala ဘာသာစကားဖြင့် ရေးသားထားသည်။ အခြေခံ OS ဖြန့်ချီရေးတွင် ဘာသာစကားကို တက်ကြွစွာ အသုံးပြုပါသည်။

အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • ပြောင်းလဲနိုင်သော ကန့်သတ်ချက်များ အရေအတွက်ဖြင့် ကိုယ်စားလှယ်များအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။
  • POSIX ပရိုဖိုင်နှင့် ထပ်တူထပ်မျှဖြစ်သည့် LIBC ပရိုဖိုင်၊
  • POSIX ပရိုဖိုင်မုဒ်တွင် တိုးတက်သောမျိုးဆက်၊
  • အမျိုးအစား အနုမာန (var?);
  • အမွေဆက်ခံခွင့်အတွက် တားမြစ်ထားသော အတန်းများကို ကြေငြာနိုင်မှု ထပ်လောင်း (တံဆိပ်ခတ်ထားသည်)၊
  • null (a.?b.?c);
  • ဖွဲ့စည်းတည်ဆောက်ပုံပါအကြောင်းအရာများကို null (const Foo[] BARS = { { "bar", 42 }, null };
  • စဉ်ဆက်မပြတ် array များအတွက် အရွယ်အစား() ပြောင်းလဲခြင်းအား တားမြစ်ထားသည်။
  • ပျက်ပြယ်စေရန် လုပ်ဆောင်ချက်ခေါ်ဆိုမှုကို ကာစ်လုပ်ရန် ကြိုးစားသောအခါ ((void)not_void_func(););
  • GLib.Array ဒြပ်စင်အမျိုးအစားများပေါ်တွင် ကန့်သတ်ချက်ကို ဖယ်ရှားခဲ့သည်။
  • foreach() ထုတ်ပြန်ချက်တွင် ပုံသေ "unowned var" ပိုင်ဆိုင်မှု အမွေဆက်ခံမှု၊
  • webkit2gtk-4.0 သို့ ချိတ်ဆက်ခြင်းအား ဗားရှင်း 2.33.3 သို့ အပ်ဒိတ်လုပ်ထားပါသည်။
  • gstreamer နှင့် ချိတ်ဆက်ခြင်းကို ဗားရှင်း 1.19.0+ git master သို့ အပ်ဒိတ်လုပ်ထားပါသည်။
  • gtk4 သို့ ချိတ်ဆက်ခြင်းအား ဗားရှင်း 4.5.0~e681fdd9 သို့ အပ်ဒိတ်လုပ်ထားပါသည်။
  • gtk+-3.0 သို့ ချိတ်ဆက်ခြင်းကို ဗားရှင်း 3.24.29+f9fe28ce သို့ အပ်ဒိတ်လုပ်ထားပါသည်။
  • gio-2.0၊glib-2.0 နှင့် ချိတ်ဆက်ခြင်းကို ဗားရှင်း 2.69.0 သို့ အပ်ဒိတ်လုပ်ထားပါသည်။
  • linux အတွက်၊ SocketCAN နှင့် ချိတ်ဆက်မှုများကို ပေါင်းထည့်ထားသည်။
  • glib-2.0၊ gio-2.0၊ gstreamer-rtp-1.0၊ javascriptcoregtk-4.0၊ gobject-2.0၊ pango၊ linux၊ gsl၊ rest-0.7၊ libusb၊ libusb-1.0၊ pixman-1၊ webkit2gtk-web အတွက် ပေါင်းစပ်ပြင်ဆင်မှုများ extension-4.0၊ x11၊ zlib၊ gnutls;
  • gedit-2.20 နှင့် webkit-1.0 bindings များကို ဖယ်ရှားပြီး၊
  • GIR ကိုအခြေခံ၍ ချိတ်ဆက်မှုများကို အပ်ဒိတ်လုပ်ထားသည်။
  • ထုတ်လုပ်ထားသော C ကုဒ်ကို စစ်ဆေးနိုင်မှုကို စမ်းသပ်မှုစနစ်တွင် ထည့်သွင်းထားသည်။
  • မြှင့်တင်ထားသော girparser၊ girwriter၊ valadoc၊ libvaladoc/girimporter၊
  • အမျိုးမျိုးသော compiler အစိတ်အပိုင်းများ၏ စုစည်းထားသော အမှားများနှင့် ချို့ယွင်းချက်များကို ပြုပြင်ပြီးဖြစ်သည်။

source: opennet.ru

မှတ်ချက် Add