إطلاق مترجم لغة البرمجة Vala 0.56.0

تم إصدار نسخة جديدة من مترجم لغة البرمجة Vala 0.56.0. لغة Vala هي لغة برمجة موجهة للكائنات توفر بناء جملة مشابهًا لـ C# أو Java. تتم ترجمة كود Vala إلى برنامج C، والذي بدوره يتم تجميعه بواسطة مترجم C القياسي إلى ملف ثنائي ويتم تنفيذه بسرعة التطبيق الذي تم تجميعه في رمز الكائن للنظام الأساسي الهدف. من الممكن تشغيل البرامج في وضع البرنامج النصي. يتم تطوير اللغة تحت رعاية مشروع جنوم. يتم استخدام Gobject (نظام كائن Glib) كنموذج كائن. يتم توزيع رمز المترجم بموجب ترخيص LGPLv2.1.

تدعم اللغة الاستبطان، ووظائف لامدا، والواجهات، والمفوضين والإغلاقات، والإشارات والفتحات، والاستثناءات، والخصائص، والأنواع غير الخالية، واستدلال النوع للمتغيرات المحلية (var). تتم إدارة الذاكرة بناءً على العد المرجعي. تم تطوير مكتبة برمجة عامة libgee للغة، والتي توفر القدرة على إنشاء مجموعات لأنواع البيانات المخصصة. يتم دعم تعداد عناصر المجموعة باستخدام عبارة foreach. تتم برمجة برامج الرسومات باستخدام مكتبة الرسومات GTK.

تأتي المجموعة مع عدد كبير من الارتباطات للمكتبات في لغة C. يوفر مترجم Vala الدعم للغة Genie، التي توفر إمكانات مماثلة، ولكن مع بناء جملة مستوحى من لغة برمجة Python. برامج مثل عميل البريد الإلكتروني Geary، وBudgie Graphic Shell، وبرنامج تنظيم ملفات الصور والفيديو Shotwell، وغيرها مكتوبة بلغة Vala. يتم استخدام اللغة بنشاط في تطوير توزيع نظام التشغيل الأولي.

الابتكارات الرئيسية:

  • تمت إضافة دعم للوظيفة الرئيسية () غير المتزامنة؛
  • تمت إضافة دعم للوظائف المتداخلة؛
  • تم تغيير تنسيق عرض التحذيرات والأخطاء أثناء التجميع؛
  • يتم توفير القدرة على استدعاء الإشارات بشكل ديناميكي؛
  • تمت إضافة دعم للفئات الجزئية - الفئات التي توجد محتوياتها في عدة ملفات مصدر؛
  • بالنسبة للارتباطات، تمت إضافة القدرة على تحديد أنواع طول المصفوفة. في السابق، كان مسموحًا فقط بالنوع الصحيح 32 بت؛
  • تمت إضافة دعم لمشغل foreach لأنواع Glib.Sequence وGlib.Array؛
  • تمت إضافة روابط جديدة libsoup، linux-media؛
  • أثناء عملية النقل، تم تقسيم مكتبة سطح المكتب gnome إلى gnome-desktop-4 وgnome-rr-4 وgnome-bg-4.
  • تم توسيع أدلة برمجة جنوم بأمثلة في Vala.
  • تمت إضافة ملاحظات الإصدار بلغة ترميز Markdown.
  • الارتباطات المحدثة:
    • gtk4 حتى الإصدار 4.6.0+06ec4ec1;
    • gstreamer يصل إلى الإصدار 1.21.0+ git master؛
    • gio-2.0 حتى الإصدار 2.72؛
    • glib-2.0 قبل الإصدار 2.72؛
    • gobject-2.0 قبل الإصدار 2.72؛
    • webkit2gtk-*.0 قبل الإصدار 2.35.1.

المصدر: opennet.ru

إضافة تعليق