والا پروگرامنگ زبان کے مترجم کی ریلیز 0.54.0

پروگرامنگ لینگوئج مترجم والا 0.54.0 کا نیا ورژن جاری کر دیا گیا ہے۔ والا زبان ایک آبجیکٹ پر مبنی پروگرامنگ لینگویج ہے جو C# یا جاوا کی طرح ایک نحو فراہم کرتی ہے۔ والا کوڈ کا ترجمہ ایک C پروگرام میں کیا جاتا ہے، جو بدلے میں، ایک معیاری C کمپائلر کے ذریعے بائنری فائل میں مرتب کیا جاتا ہے اور ٹارگٹ پلیٹ فارم کے آبجیکٹ کوڈ میں مرتب کردہ ایپلیکیشن کی رفتار سے عمل میں لایا جاتا ہے۔ اسکرپٹ موڈ میں پروگرام چلانا ممکن ہے۔ زبان کو GNOME پروجیکٹ کے تحت تیار کیا جا رہا ہے۔ گوبجیکٹ (گلیب آبجیکٹ سسٹم) کو آبجیکٹ ماڈل کے طور پر استعمال کیا جاتا ہے۔ کمپائلر کوڈ LGPLv2.1 لائسنس کے تحت تقسیم کیا گیا ہے۔

زبان میں انٹرو انسپیکشن، لیمبڈا فنکشنز، انٹرفیس، ڈیلیگیٹس اور کلوزرز، سگنلز اور سلاٹس، مستثنیات، پراپرٹیز، غیر null قسمیں، مقامی متغیرات (var) کے لیے ٹائپ انفرنس کے لیے تعاون حاصل ہے۔ میموری کا انتظام حوالہ شمار کی بنیاد پر کیا جاتا ہے۔ زبان کے لیے ایک عمومی پروگرامنگ لائبریری libgee تیار کی گئی ہے، جو اپنی مرضی کے مطابق ڈیٹا کی اقسام کے لیے مجموعے بنانے کی صلاحیت فراہم کرتی ہے۔ foreach بیان کا استعمال کرتے ہوئے مجموعہ عناصر کی گنتی کی حمایت کی جاتی ہے. گرافکس پروگراموں کی پروگرامنگ GTK گرافکس لائبریری کا استعمال کرتے ہوئے کی جاتی ہے۔

یہ کٹ سی زبان میں لائبریریوں کے لیے بڑی تعداد میں پابندیوں کے ساتھ آتی ہے۔ والا مترجم جنی زبان کے لیے معاونت فراہم کرتا ہے، جو کہ اسی طرح کی صلاحیتیں فراہم کرتا ہے، لیکن اس میں Python پروگرامنگ لینگویج سے متاثر ایک نحو کے ساتھ۔ اس طرح کے پروگرام جیسے گیری ای میل کلائنٹ، بڈگی گرافیکل شیل، شاٹ ویل فوٹو اور ویڈیو فائل آرگنائزیشن پروگرام، اور دیگر والا زبان میں لکھے جاتے ہیں۔ ایلیمنٹری OS کی تقسیم کی ترقی میں زبان کو فعال طور پر استعمال کیا جاتا ہے۔

اہم اختراعات:

  • پیرامیٹرز کی متغیر تعداد کے ساتھ مندوبین کے لیے شامل کردہ تعاون؛
  • LIBC پروفائل شامل کیا گیا، جو POSIX پروفائل کا مترادف ہے۔
  • POSIX پروفائل موڈ میں بہتر نسل؛
  • متغیرات کا اعلان کرنے کی اہلیت کو شامل کیا گیا جن کی قسم کے تخمینہ (var?) کے ساتھ null قدر ہو سکتی ہے۔
  • وراثت کے لیے ممنوعہ کلاسوں کا اعلان کرنے کی اہلیت شامل کی گئی (مہر بند)؛
  • کلاس فیلڈز میں محفوظ رسائی آپریٹر کو شامل کیا گیا جو کہ کالعدم ہو سکتا ہے (a.?b.?c)؛
  • ڈھانچے کے مواد کو کالعدم کرنے کی اجازت دی گئی (const Foo[] BARS = { { "bar", 42 }, null };);
  • resize() آپریشن مستقل صفوں کے لیے ممنوع ہے۔
  • ایک فنکشن کال کو باطل کرنے کی کوشش کرتے وقت انتباہی آؤٹ پٹ شامل کیا گیا ((void)not_void_func();
  • GLib.Array عنصر کی اقسام پر سے پابندی ہٹا دی گئی۔
  • foreach() سٹیٹمنٹ میں طے شدہ "unowned var" ملکیتی وراثت؛
  • webkit2gtk-4.0 پر بائنڈنگ کو ورژن 2.33.3 میں اپ ڈیٹ کر دیا گیا ہے۔
  • gstreamer کے ساتھ بائنڈنگ کو ورژن 1.19.0+ گٹ ماسٹر میں اپ ڈیٹ کر دیا گیا ہے۔
  • gtk4 پر بائنڈنگ کو ورژن 4.5.0~e681fdd9 میں اپ ڈیٹ کر دیا گیا ہے۔
  • gtk+-3.0 کے لیے بائنڈنگ کو ورژن 3.24.29+f9fe28ce میں اپ ڈیٹ کر دیا گیا ہے۔
  • gio-2.0، glib-2.0 کو بائنڈنگ ورژن 2.69.0 میں اپ ڈیٹ کر دیا گیا ہے۔
  • لینکس کے لیے، 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, webkitweb2-کی بائنڈنگز میں اصلاحات ایکسٹینشن-4.0، x11، zlib، gnutls؛
  • gedit-2.20 اور webkit-1.0 بائنڈنگز کو ہٹا دیا گیا؛
  • GIR کی بنیاد پر اپ ڈیٹ شدہ پابندیاں؛
  • تیار کردہ C کوڈ کو جانچنے کی صلاحیت کو ٹیسٹنگ سسٹم میں شامل کر دیا گیا ہے۔
  • بہتر گرپارسر، گر رائٹر، ویلاڈاک، لیبوالاڈوک/گیریمپورٹر؛
  • مختلف کمپائلر اجزاء کی جمع شدہ غلطیاں اور کوتاہیوں کو دور کر دیا گیا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں