แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Vala 0.54.0

แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž€แž”แŸ’แžšแŸ‚แž—แžถแžŸแžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Vala 0.54.0 แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แŸ” แž—แžถแžŸแžถ Vala แž‚แžบแž‡แžถแž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแž˜แŸ’แžšแž„แŸ‹แž‘แžทแžŸแžœแžแŸ’แžแžปแžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แžœแžถแž€แŸ’แž™แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŸแŸ’แžšแžŠแŸ€แž„แž‘แŸ…แž“แžนแž„ C# แžฌ Java แŸ” แž€แžผแžŠ Vala แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž€แž”แŸ’แžšแŸ‚แž‘แŸ…แž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธ C แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„แžŠแŸ„แž™แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš C แž‘แŸ…แž‡แžถแžฏแž€แžŸแžถแžšแž‚แŸ„แž›แž–แžธแžš แž แžพแž™แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžแžถแž˜แž›แŸ’แž”แžฟแž“แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž‘แŸ…แž‡แžถแž€แžผแžŠแžœแžแŸ’แžแžปแž“แŸƒแžœแŸแž‘แžทแž€แžถแž‚แŸ„แž›แžŠแŸ…แŸ” แžœแžถแžขแžถแž…แž’แŸ’แžœแžพแž‘แŸ…แž”แžถแž“แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แŸ…แž€แŸ’แž“แžปแž„แžšแž”แŸ€แž”แžŸแŸ’แž‚แŸ’แžšแžธแž”แŸ” แž—แžถแžŸแžถแž€แŸ†แž–แžปแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แž€แŸ’แžšแŸ„แž˜แž€แžถแžšแžงแž”แžแŸ’แžแž˜แŸ’แž—แž–แžธแž‚แž˜แŸ’แžšแŸ„แž„ GNOMEแŸ” Gobject (Glib Object System) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‡แžถแž‚แŸ†แžšแžผแžœแžแŸ’แžแžปแŸ” แž›แŸแžแž€แžผแžŠแž…แž„แž€แŸ’แžšแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ LGPLv2.1 แŸ”

แž—แžถแžŸแžถแž“แŸแŸ‡แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ introspection, lambda functions, interfaces, delegates and closes, signals and slots, exceptions, properties, non-null type, type inference for local variables (var) แŸ” แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž€แžถแžšแžšแžถแž”แŸ‹แž™แŸ„แž„แŸ” Libgee แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‘แžผแž‘แŸ…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแžŸแžถ แžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž”แžŽแŸ’แžแžปแŸ†แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แž‘แžทแž“แŸ’แž“แž“แŸแž™แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แŸ” แž€แžถแžšแžšแžถแž”แŸ‹แž”แž‰แŸ’แž…แžผแž›แž“แŸƒแž’แžถแžแžปแž”แŸ’แžšแž˜แžผแž›แžŠแŸ„แž™แž”แŸ’แžšแžพแžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž€แžถแžšแžŽแŸ foreach แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แžถแŸ†แž‘แŸ’แžšแŸ” แž€แžถแžšแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž”แŸ’แžšแžพแž”แžŽแŸ’แžŽแžถแž›แŸแž™แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ GTK แŸ”

แžงแž”แž€แžšแžŽแŸแž“แŸแŸ‡แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž’แŸ†แž‘แŸ…แž“แžนแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‡แžถแž—แžถแžŸแžถ C แŸ” แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚ Vala แž•แŸ’แžแž›แŸ‹แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแžŸแžถ Genie แžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแž˜แžแŸ’แžแž—แžถแž–แžŸแŸ’แžšแžŠแŸ€แž„แž‚แŸ’แž“แžถ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‡แžถแž˜แžฝแž™แž“แžนแž„แžœแžถแž€แŸ’แž™แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž”แŸ†แž•แžปแžŸแž‚แŸ†แž“แžทแžแžŠแŸ„แž™แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Python แŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแžผแž…แž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžขแŸŠแžธแž˜แŸ‚แž› Geary, แžŸแŸ‚แž›แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ Budgie, แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแŸ€แž”แž…แŸ†แžฏแž€แžŸแžถแžšแžšแžผแž”แžแž แž“แžทแž„แžœแžธแžŠแŸแžขแžผ Shotwell แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถแž—แžถแžŸแžถ Vala แŸ” แž—แžถแžŸแžถโ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž”แŸ’แžšแžพโ€‹แž™แŸ‰แžถแž„โ€‹แžŸแž€แž˜แŸ’แž˜โ€‹แž€แŸ’แž“แžปแž„โ€‹แž€แžถแžšโ€‹แž”แž„แŸ’แž€แžพแžโ€‹แž€แžถแžšโ€‹แž…แŸ‚แž€แž…แžถแž™โ€‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’โ€‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšโ€‹แž”แž‹แž˜แŸ”

แž€แžถแžšแž…แŸ’แž“แŸƒแž”แŸ’แžšแžŒแžทแžแžŸแŸ†แžแžถแž“แŸ‹แŸ—แŸ–

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž—แžผแžŠแŸ‚แž›แž˜แžถแž“แž…แŸ†แž“แžฝแž“แžขแžแŸแžšแž“แŸƒแž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžš;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แž˜แŸ’แžšแž„แŸ‹ LIBC แžŠแŸ‚แž›แž˜แžถแž“แž“แŸแž™แžŠแžผแž…แž“แžนแž„แž‘แž˜แŸ’แžšแž„แŸ‹ POSIX แŸ”
  • แž‡แŸ†แž“แžถแž“แŸ‹แžŠแŸ‚แž›แž”แžถแž“แž€แŸ‚แž›แž˜แŸ’แžขแž“แŸ…แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹แž‘แž˜แŸ’แžšแž„แŸ‹ POSIX;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ’แžšแž€แžถแžŸแžขแžแŸแžšแžŠแŸ‚แž›แžขแžถแž…แž˜แžถแž“แžแž˜แŸ’แž›แŸƒ null แž‡แžถแž˜แžฝแž™แž“แžนแž„แž”แŸ’แžšแž—แŸแž‘ inference (var?);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ’แžšแž€แžถแžŸแžแŸ’แž“แžถแž€แŸ‹แž แžถแž˜แžƒแžถแžแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‘แž‘แžฝแž›แž˜แžšแžแž€ (แž”แžทแž‘แž‡แžทแž);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžšแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž‘แŸ…แžœแžถแž›แžแŸ’แž“แžถแž€แŸ‹แžŠแŸ‚แž›แžขแžถแž…แž…แžถแžแŸ‹แž‘แžปแž€แž‡แžถแž˜แŸ„แžƒแŸˆ (a.?b.?c);
  • แž”แžถแž“แžขแž“แžปแž‰แŸ’แž‰แžถแžแž€แžถแžšแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž“แŸƒแž˜แžถแžแžทแž€แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž‘แŸ…แž‡แžถ null (const Foo[] BARS = { { "bar", 42 }, null };);
  • แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แŸ†แž แŸ† () แžแŸ’แžšแžผแžœแž”แžถแž“แž แžถแž˜แžƒแžถแžแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžขแžถแžšแŸแžแŸแžšแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž›แž‘แŸ’แž’แž•แž›แž–แŸ’แžšแž˜แžถแž“แž“แŸ…แž–แŸแž›แž–แŸ’แž™แžถแž™แžถแž˜แž”แŸ„แŸ‡แž€แžถแžšแž แŸ…แž˜แžปแžแž„แžถแžšแž‘แŸ…แž‡แžถแž˜แŸ„แžƒแŸˆ ((void)not_void_func(););
  • แž”แžถแž“แž›แžปแž”แž€แžถแžšแžšแžนแžแž”แž“แŸ’แžแžนแž„แž›แžพแž”แŸ’แžšแž—แŸแž‘แž’แžถแžแžป GLib.Array;
  • แž‡แžฝแžŸแž‡แžปแž›แž˜แžšแžแž€แž€แž˜แŸ’แž˜แžŸแžทแž‘แŸ’แž’แžท "แž˜แžทแž“แžŸแŸ’แž‚แžถแž›แŸ‹ var" แž“แŸ…แž€แŸ’แž“แžปแž„แžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž€แžถแžšแžŽแŸ 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;
  • แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž›แžธแž“แžปแž… แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… 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

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹