انتشار نسخه آزمایشی مترجم زبان برنامه نویسی Vala 0.51.1

نسخه جدید مترجم زبان برنامه نویسی Vala 0.51.1 منتشر شد. زبان والا یک زبان برنامه نویسی شی گرا است که سینتکسی مشابه سی شارپ یا جاوا ارائه می کند. Gobject (Glib Object System) به عنوان یک مدل شی استفاده می شود. مدیریت حافظه بر اساس شمارش مرجع انجام می شود.

این زبان از درون نگری، توابع لامبدا، رابط‌ها، نمایندگی‌ها و بسته‌ها، سیگنال‌ها و شکاف‌ها، استثناها، ویژگی‌ها، انواع غیر تهی، استنتاج نوع برای متغیرهای محلی (var) پشتیبانی می‌کند. یک کتابخانه برنامه نویسی تعمیم یافته libgee برای این زبان ایجاد شده است که توانایی ایجاد مجموعه هایی برای انواع داده های سفارشی را فراهم می کند. شمارش عناصر مجموعه با استفاده از دستور foreach پشتیبانی می شود. برنامه نویسی برنامه های گرافیکی با استفاده از کتابخانه گرافیکی GTK+ انجام می شود. این کیت با تعداد زیادی صحافی به کتابخانه ها به زبان C ارائه می شود.

برنامه های Vala به نمایش C ترجمه می شوند و سپس توسط یک کامپایلر استاندارد C کامپایل می شوند.امکان اجرای برنامه ها در حالت اسکریپت وجود دارد. مترجم Vala از زبان Genie پشتیبانی می‌کند، که قابلیت‌های مشابهی را ارائه می‌کند، اما با نحوی که از زبان برنامه‌نویسی پایتون الهام گرفته شده است.

زبان Vala تحت نظارت پروژه GNOME توسعه یافته است. Vala برای نوشتن برنامه هایی مانند سرویس گیرنده ایمیل Geary، پوسته گرافیکی Budgie، برنامه مدیریت مجموعه عکس و فیلم Shotwell و غیره استفاده می شود. Vala به طور فعال در توسعه اجزای سیستم عامل ابتدایی توزیع لینوکس استفاده می شود.

در نسخه های جدید:

  • اضافه شدن پشتیبانی برای باریک کردن خودکار نوع در عبارات. if (x Foo است){ x.SomeFooField // نیازی به فرستادن صریح "x" به "Foo" نیست }
  • پشتیبانی اضافه شده برای فراخوانی زنجیره های سازنده برای قالب ها.
  • اضافه شدن بررسی نسخه libvala در زمان اجرا.
  • پشتیبانی اضافه شده برای کلاس های فشرده مات.
  • پشتیبانی گسترده از پارامترهای آرایه در سازنده ها.
  • اضافه شدن پردازش نمایندگان ناشناس که توسط روش‌ها یا سیگنال‌های مجازی به girparser پشتیبانی نمی‌شوند.
  • رفع اشکالات در valadoc، libvaladoc و girwriter.
  • اتصال به SDL 2.x اضافه شد، پشتیبانی از اتصال SDL 1.x متوقف شد.
  • اتصال به Enchant 2.x اضافه شد.
  • رفع نشت حافظه هنگام کپی صریح آرایه ها، با استفاده از Glib.Value یا انتقال ساختار اختصاص داده شده در Heap به پشته.
  • اتصال به gdk-pixbuf-2.0 به نسخه 2.42.3 به روز شده است.
  • اتصال تابع getopt_long() و چندین توابع گنو دیگر اضافه شد.
  • اتصال به libunwind-generic اضافه شد.
  • اتصالات ثابت برای cairo، gobject-2.0، pango، goocanvas-2.0، curses، alsa، bzlib، sqlite3، libgvc، posix، gstreamer-1.0، gdk-3.0، gdk-x11-3.0، gtk+-3.0. -4;
  • اتصال به gio-2.0 به نسخه 2.67.3 به روز شده است.
  • اتصال به gobject-2.0 به نسخه 2.68 به روز شده است.
  • اتصال به gstreamer به نسخه 1.19.0+ git master به روز شده است.
  • اتصال به gtk4 به نسخه 4.1.0+2712f536 به روز شده است.
  • اتصالات به API عبارت منظم برای POSIX، GNU و BSD اضافه شده است.
  • اتصال به webkit2gtk-4.0 به نسخه 2.31.1 به روز شده است.
  • خطاها و کاستی های انباشته کامپایلر برطرف شده است.

منبع: opennet.ru

اضافه کردن نظر