發布程式語言翻譯器 Vala 0.51.1 實驗版

新版本的程式語言翻譯機 Vala 0.51.1 已發布。 Vala 語言是一種物件導向的程式語言,提供類似 C# 或 Java 的語法。 Gobject(Glib 物件系統)用作物件模型。 記憶體管理是基於引用計數進行的。

該語言支援內省、lambda 函數、介面、委託和閉包、訊號和槽、異常、屬性、非空類型、局部變數 (var) 的類型推斷。 已經為該語言開發了通用程式庫 libgee,它提供了為自訂資料類型建立集合的能力。 支援使用 foreach 語句列舉集合元素。 圖形程式的程式設計是使用GTK+圖形庫進行的。 該套件附帶大量 C 語言庫的綁定。

Vala程式被翻譯成C表示,然後由標準C編譯器編譯,可以以腳本模式執行程式。 Vala 翻譯器提供對 Genie 語言的支持,該語言提供類似的功能,但其語法受到 Python 程式語言的啟發。

Vala 語言是在 GNOME 專案的支持下開發的。 Vala 用於編寫 Geary 電子郵件用戶端、Budgie 圖形 shell、Shotwell 照片和影片收藏管理程式等程式。 Vala 積極用於 Linux 發行版 Elementary OS 元件的開發。

在新版本中:

  • 新增了對表達式中自動類型縮小的支援; if (x is Foo){ x.SomeFooField // 不需要明確地將「x」轉換為「Foo」 }
  • 新增了對呼叫模板建構函數鏈的支援;
  • 新增了運行時 libval​​a 版本檢查;
  • 添加了對不透明緊湊類的支援;
  • 擴展了對構造函數中數組參數的支援;
  • 在 girparser 中加入了對虛擬方法或訊號不支援的匿名委託的處理;
  • 修復了 valadoc、libval​​adoc 和 girwriter 中的錯誤;
  • 新增了對 SDL 2.x 的綁定,不再支援 SDL 1.x 綁定;
  • 新增了對附魔 2.x 的綁定;
  • 修復了明確複製數組、使用 Glib.Value 或將堆上分配的結構移動到堆疊時的記憶體洩漏;
  • 與gdk-pixbuf-2.0的綁定已更新至版本2.42.3;
  • 新增了 getopt_long() 函數和其他幾個 GNU 函數的綁定;
  • 新增了對 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、gdk-4、gdk-x2.0-XNUMX、gtk+-XNUMX、XNUMXkXNUMX、fuse、libxmlxml 的綁定-XNUMX;
  • 綁定gio-2.0已更新至2.67.3版本;
  • 綁定到gobject-2.0已更新至2.68版本;
  • 與 gstreamer 的綁定已更新至版本 1.19.0+ git master;
  • 綁定gtk4已更新至版本4.1.0+2712f536;
  • 新增了對 POSIX、GNU 和 BSD 正規表示式 API 的綁定;
  • 綁定webkit2gtk-4.0已更新至2.31.1版本;
  • 編譯器累積的錯誤和缺點已修復。

來源: opennet.ru

添加評論