แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž€แŸ†แžŽแŸ‚แž–แžทแžŸแŸ„แž’แž“แŸแžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž—แžถแžŸแžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Vala 0.51.1

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

แž—แžถแžŸแžถแž“แŸแŸ‡แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ 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 แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž”แž€โ€‹แž”แŸ’แžšแŸ‚โ€‹แž‘แŸ…โ€‹แž‡แžถโ€‹แžแŸ†แžŽแžถแž„ C แž แžพแž™โ€‹แž”แž“แŸ’แž‘แžถแž”แŸ‹โ€‹แž˜แž€โ€‹แž…แž„แž€แŸ’แžšแž„โ€‹แžŠแŸ„แž™โ€‹แžขแŸ’แž“แž€โ€‹แž…แž„แž€แŸ’แžšแž„ C แžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแŸ”โ€‹ แžœแžถโ€‹แžขแžถแž…โ€‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšโ€‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธโ€‹แž€แŸ’แž“แžปแž„โ€‹แž‘แž˜แŸ’แžšแž„แŸ‹โ€‹แžŸแŸ’แž‚แŸ’แžšแžธแž”แŸ” แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚ Vala แž•แŸ’แžแž›แŸ‹แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแžŸแžถ Genie แžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแž˜แžแŸ’แžแž—แžถแž–แžŸแŸ’แžšแžŠแŸ€แž„แž‚แŸ’แž“แžถ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‡แžถแž˜แžฝแž™แž“แžนแž„แžœแžถแž€แŸ’แž™แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž•แžปแžŸแž‚แŸ†แž“แžทแžแžŠแŸ„แž™แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Python แŸ”

แž—แžถแžŸแžถ Vala แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แž€แŸ’แžšแŸ„แž˜แž€แžถแžšแžงแž”แžแŸ’แžแž˜แŸ’แž—แžšแž”แžŸแŸ‹แž‚แž˜แŸ’แžšแŸ„แž„ GNOME แŸ” Vala แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแžผแž…แž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžขแŸŠแžธแž˜แŸ‚แž› Geary, แžŸแŸ‚แž›แž€แŸ’แžšแžถแž แŸ’แžœแžทแž… Budgie, แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แžถแžšแž”แŸ’แžšแž˜แžผแž›แžšแžผแž”แžแž แž“แžทแž„แžœแžธแžŠแŸแžขแžผ Shotwell แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แŸ—แž‘แŸ€แžแŸ” Vala แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž”แŸ’แžšแžพโ€‹แž™แŸ‰แžถแž„โ€‹แžŸแž€แž˜แŸ’แž˜โ€‹แž€แŸ’แž“แžปแž„โ€‹แž€แžถแžšโ€‹แž”แž„แŸ’แž€แžพแžโ€‹แžŸแž˜แžถแžŸแž’แžถแžแžปโ€‹แž“แŸƒโ€‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’โ€‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšโ€‹แž”แž‹แž˜โ€‹แž“แŸƒโ€‹แž€แžถแžšโ€‹แž…แŸ‚แž€แž…แžถแž™โ€‹แž›แžธแž“แžปแž…แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแŸ–

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แžšแžฝแž˜แž”แŸ’แžšแž—แŸแž‘แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแž“แŸ…แž€แŸ’แž“แžปแž„แž€แž“แŸ’แžŸแŸ„แž˜; แž”แŸ’แžšแžŸแžทแž“แž”แžพ (x แž‚แžบ Foo){ x.SomeFooField // แž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž”แŸ„แŸ‡ "x" แž‘แŸ… "Foo" }
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž แŸ…แžแŸ’แžŸแŸ‚แžŸแž„แŸ’แžœแžถแž€แŸ‹แžขแŸ’แž“แž€แžŸแžถแž„แžŸแž„แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ†แžšแžผแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แŸ†แžŽแŸ‚ libvala แž–แžทแž“แžทแžแŸ’แž™แž“แŸ…แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแŸ’แž“แžถแž€แŸ‹แž”แž„แŸ’แžšแžฝแž˜แžŸแŸ’แžšแžขแžถแž”แŸ‹;
  • แž–แž„แŸ’แžšแžธแž€แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžขแžถแžšแŸแž“แŸ…แž€แŸ’แž“แžปแž„แžขแŸ’แž“แž€แžŸแžถแž„แžŸแž„แŸ‹;
  • แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แž“แŸ’แžแŸ‚แž˜แž“แŸƒแž”แŸ’แžšแžแžทแž—แžผแžขแž“แžถแž˜แžทแž€แžŠแŸ‚แž›แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แžถแŸ†แž‘แŸ’แžšแžŠแŸ„แž™แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแž“แžทแž˜แŸ’แž˜แžทแž แžฌแžŸแž‰แŸ’แž‰แžถแž‘แŸ… girparser;
  • แž‡แžฝแžŸแž‡แžปแž›แž€แŸ†แž แžปแžŸแž“แŸ…แž€แŸ’แž“แžปแž„ valadoc, libvaladoc แž“แžทแž„ girwriter;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž…แž„แž‘แŸ… SDL 2.x แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž…แž„ SDL 1.x แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž…แž„แž‘แŸ… Enchant 2.x;
  • แž‡แžฝแžŸแž‡แžปแž›แž€แžถแžšแž›แŸแž…แž’แŸ’แž›แžถแž™แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แž“แŸ…แž–แŸแž›แž…แž˜แŸ’แž›แž„แžขแžถแžšแŸแž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹ แžŠแŸ„แž™แž”แŸ’แžšแžพ Glib.Value แžฌแž•แŸ’แž›แžถแžŸแŸ‹แž‘แžธแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž”แžถแž“แž”แž˜แŸ’แžšแžปแž„แž‘แžปแž€แž“แŸ…แž›แžพ Heap แž‘แŸ…แž‡แž„แŸ‹แŸ”
  • แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… gdk-pixbuf-2.0 แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž‘แŸ…แž€แŸ†แžŽแŸ‚ 2.42.3;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž…แž„แž“แŸƒแžขแž“แžปแž‚แž˜แž“แŸ getopt_long() แž“แžทแž„แž˜แžปแžแž„แžถแžš GNU แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‡แžถแž…แŸ’แžšแžพแž“;
  • แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž…แž„แž‘แŸ… libunwind-generic;
  • แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แžแŸแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ Cairo, gobject-2.0, pango, goocanvas-2.0, แž”แžŽแŸ’แžแžถแžŸแžถ, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk+-4, fuse -2.0;
  • แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… gio-2.0 แžแŸ’แžšแžผแžœแž”แžถแž“แžขแžถแž”แŸ‹แžŠแŸแžแž‘แŸ…แž€แŸ†แžŽแŸ‚ 2.67.3;
  • แž€แžถแžšแž…แž„แž‘แŸ… gobject-2.0 แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž‘แŸ…แž€แŸ†แžŽแŸ‚ 2.68;
  • แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… gstreamer แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž‘แŸ…แž€แŸ†แžŽแŸ‚ 1.19.0+ git master;
  • แž€แžถแžšแž…แž„แž‘แŸ… gtk4 แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž‘แŸ…แž€แŸ†แžŽแŸ‚ 4.1.0+2712f536;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž…แž„แž‘แŸ… API แž€แž“แŸ’แžŸแŸ„แž˜แž’แž˜แŸ’แž˜แžแžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹ POSIX, GNU แž“แžทแž„ BSD;
  • แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… webkit2gtk-4.0 แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž‘แŸ…แž€แŸ†แžŽแŸ‚ 2.31.1;
  • แž€แŸ†แž แžปแžŸแž”แŸ’แžšแž˜แžผแž›แž•แŸ’แžแžปแŸ† แž“แžทแž„แž…แŸ†แžŽแžปแž…แžแŸ’แžœแŸ‡แžแžถแžแžšแž”แžŸแŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž‡แžฝแžŸแž‡แžปแž›แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

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