Megjelent a Vala 0.51.1 programozási nyelv fordító kísérleti verziója

Megjelent a Vala 0.51.1 programnyelv-fordító új verziója. A Vala nyelv egy objektum-orientált programozási nyelv, amely a C#-hoz vagy a Java-hoz hasonló szintaxist biztosít. A Gobject (Glib Object System) objektummodellként használatos. A memóriakezelés referenciaszámláláson alapul.

A nyelv támogatja az introspekciót, a lambda-függvényeket, az interfészek, a delegáltak és a lezárások, a jelek és helyek, a kivételek, a tulajdonságok, a nem nulla típusok, a helyi változók típuskövetkeztetését (var). A nyelvhez kifejlesztettek egy általánosított programozási könyvtárat, a libgee-t, amely lehetővé teszi gyűjtemények létrehozását az egyéni adattípusokhoz. A gyűjteményelemek felsorolása a foreach utasítás használatával támogatott. A grafikus programok programozása a GTK+ grafikus könyvtár segítségével történik. A készlet számos C nyelvű könyvtárhoz való kötést tartalmaz.

A Vala programokat C reprezentációra fordítjuk, majd egy szabványos C fordító fordítja le.Lehetőség van a programok futtatására script módban. A Vala fordító támogatja a Genie nyelvet, amely hasonló képességeket biztosít, de a Python programozási nyelv által ihletett szintaxissal.

A Vala nyelvet a GNOME projekt égisze alatt fejlesztették ki. Vala olyan programok írására szolgál, mint a Geary e-mail kliens, a Budgie grafikus shell, a Shotwell fotó- és videógyűjtemény-kezelő program és mások. A Vala-t aktívan használják a Linux disztribúció Elementary OS összetevőinek fejlesztésében.

Az új verzióban:

  • Hozzáadott támogatás az automatikus típusszűkítéshez a kifejezésekben; if (x a Foo){ x.SomeFooField // nem kell kifejezetten "x"-et "Foo"-ba adni }
  • Támogatás hozzáadva a sablonokhoz való konstruktorláncok hívásához;
  • Hozzáadott libvala verzióellenőrzés futás közben;
  • Hozzáadott támogatás az átlátszatlan kompakt osztályokhoz;
  • A tömbparaméterek kiterjesztett támogatása a konstruktorokban;
  • A virtuális metódusok vagy jelek által nem támogatott névtelen delegáltak feldolgozása hozzáadva a girparserhez;
  • Javítva a valadoc, libvaladoc és girwriter hibái;
  • Hozzáadás az SDL 2.x-hez, az SDL 1.x-kötés támogatása megszűnt;
  • Kötés hozzáadva az Enchant 2.x-hez;
  • Memóriaszivárgás javítása a tömbök explicit másolásakor, a Glib.Value használatával vagy a kupacban lefoglalt struktúra verembe való áthelyezésekor;
  • A gdk-pixbuf-2.0-hoz való kötés frissítve a 2.42.3-as verzióra;
  • A getopt_long() függvény és számos más GNU függvény összerendelése hozzáadva;
  • Hozzáadott kötés a libunwind-generichez;
  • Javított kötések a következőhöz: 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+-k3.0x,ml, gtk+-k4x,ml, -2.0;
  • A gio-2.0-hoz való kötés frissítve a 2.67.3-as verzióra;
  • A gobject-2.0-hoz való kötés frissítve a 2.68-as verzióra;
  • A gstreamerhez való kötés frissítve a git master 1.19.0+ verziójára;
  • A gtk4-hez való kötés frissítve a 4.1.0+2712f536 verzióra;
  • Összerendelések hozzáadva a reguláris kifejezés API-hoz POSIX, GNU és BSD esetén;
  • A webkit2gtk-4.0-hoz való kötés frissítve a 2.31.1-es verzióra;
  • A fordítóprogram felgyülemlett hibáit és hiányosságait kijavították.

Forrás: opennet.ru

Hozzászólás