ΠΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠ΅Π²ΠΎΠ΄Π°ΡΠ° Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Vala 0.54.0. ΠΠ·ΠΈΠΊΡΡ Vala Π΅ ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° C# ΠΈΠ»ΠΈ Java. ΠΠΎΠ΄ΡΡ Π½Π° Vala ΡΠ΅ ΠΏΡΠ΅Π²Π΅ΠΆΠ΄Π° Π² C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ C ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎ Π² ΠΎΠ±Π΅ΠΊΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π° ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΊΡΠΈΠΏΡ. ΠΠ·ΠΈΠΊΡΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΠΎΠ΄ Π΅Π³ΠΈΠ΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° GNOME. Gobject (Glib Object System) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΎΠ±Π΅ΠΊΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π». ΠΠΎΠ΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· LGPLv2.1.
ΠΠ·ΠΈΠΊΡΡ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ, Π»Π°ΠΌΠ±Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π΄Π΅Π»Π΅Π³Π°ΡΠΈ ΠΈ Π·Π°ΡΠ²Π°ΡΡΠ½ΠΈΡ, ΡΠΈΠ³Π½Π°Π»ΠΈ ΠΈ ΡΠ»ΠΎΡΠΎΠ²Π΅, ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½Π΅Π½ΡΠ»Π΅Π²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΠΈΠ·Π²ΠΎΠ΄ Π·Π° ΡΠΈΠΏ Π·Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ (var). Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ° Π΅Π·ΠΈΠΊΠ° Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ libgee, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° foreach. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° GTK.
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΡΡ ΠΈΠ΄Π²Π° Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΊΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C. ΠΡΠ΅Π²ΠΎΠ΄Π°ΡΡΡ Vala ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° Genie, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π²Π΄ΡΡ Π½ΠΎΠ²Π΅Π½ ΠΎΡ Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Python. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Geary, Π³ΡΠ°ΡΠΈΡΠ½Π°ΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Budgie, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Shotwell ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Vala. ΠΠ·ΠΈΠΊΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π½Π° Elementary OS.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅Π»Π΅Π³Π°ΡΠΈ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ² Π±ΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½ LIBC ΠΏΡΠΎΡΠΈΠ», ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π½Π° POSIX ΠΏΡΠΎΡΠΈΠ»;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ POSIX ΠΏΡΠΎΡΠΈΠ»;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ Π½ΡΠ»Π΅Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Ρ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠ° (var?);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅, Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΈ Π·Π° Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ (Π·Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΈ);
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊΡΠΌ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ null (a.?b.?c);
- ΠΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π΄ΠΎ null (const Foo[] BARS = { { "bar", 42 }, null };);
- ΠΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° resize() Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½Π° Π·Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΊΡΠΌ void ((void)not_void_func(););
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ GLib.Array;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° βΠ½Π΅ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Π½ Π²Π°Ρβ Π² ΠΈΠ·ΡΠ°Π·Π° foreach();
- Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ webkit2gtk-4.0 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 2.33.3;
- Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ gstreamer Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 1.19.0+ git master;
- Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ gtk4 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 4.5.0~e681fdd9;
- ΠΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π·Π° gtk+-3.0 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 3.24.29+f9fe28ce
- Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ gio-2.0,glib-2.0 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 2.69.0;
- ΠΠ° linux ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΊΡΠΌ SocketCAN;
- ΠΠΎΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, rest-0.7, libusb, libusb-1.0, pixman-1, webkit2gtk-web- ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅-4.0, x11, zlib, gnutls;
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° gedit-2.20 ΠΈ webkit-1.0;
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° GIR;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡ C ΠΊΠΎΠ΄ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ girparser, girwriter, valadoc, libvaladoc/girimporter;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ ΡΠ° Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru