プログラミング言語トランスレーター Vala 0.51.1 の新バージョンがリリースされました。 Vala 言語は、C# や Java に似た構文を提供するオブジェクト指向プログラミング言語です。 オブジェクトモデルには Gobject (Glib Object System) を使用します。 メモリ管理は参照カウントに基づいて実行されます。
この言語は、イントロスペクション、ラムダ関数、インターフェイス、デリゲートとクロージャ、シグナルとスロット、例外、プロパティ、非 null 型、ローカル変数 (var) の型推論をサポートしています。 この言語用に汎用プログラミング ライブラリ libgee が開発されており、カスタム データ型のコレクションを作成する機能を提供します。 foreach ステートメントを使用したコレクション要素の列挙がサポートされています。 グラフィックス プログラムのプログラミングは、GTK+ グラフィックス ライブラリを使用して実行されます。 このキットには、C 言語のライブラリへの多数のバインディングが付属しています。
Vala プログラムは C 表現に変換され、標準 C コンパイラでコンパイルされ、スクリプト モードでプログラムを実行できます。 Vala トランスレータは、同様の機能を提供する Genie 言語のサポートを提供しますが、構文は Python プログラミング言語からインスピレーションを得ています。
Vala 言語は、GNOME プロジェクトの後援の下で開発されています。 Vala は、Geary 電子メール クライアント、Budgie グラフィカル シェル、Shotwell 写真およびビデオのコレクション管理プログラムなどのプログラムを作成するために使用されます。 Vala は、Linux ディストリビューションの Elementary OS のコンポーネントの開発に積極的に使用されています。
収録曲:
- 式における自動型絞り込みのサポートが追加されました。 if (x is Foo){ x.SomeFooField // "x" を "Foo" に明示的にキャストする必要はありません }
- テンプレートのコンストラクター チェーンを呼び出すためのサポートが追加されました。
- 実行時の libvala バージョンチェックを追加しました。
- 不透明なコンパクトクラスのサポートが追加されました。
- コンストラクターでの配列パラメーターのサポートが拡張されました。
- 仮想メソッドやシグナルでサポートされていない匿名デリゲートの処理を girparser に追加しました。
- valadoc、libvaladoc、girwriter のバグを修正しました。
- SDL 2.x へのバインディングが追加され、SDL 1.x バインディングのサポートは廃止されました。
- Enchant 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、gtk4、fuse、libxml のバインディングを修正しました。 -2.0;
- 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 に更新されました。
- コンパイラの蓄積されたエラーと欠点が修正されました。
出所: オープンネット.ru