เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเปเบ›เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Vala 0.54.0

เป€เบงเบตเบŠเบฑเปˆเบ™เปƒเปเปˆเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฃเปเบเบฃเบก Vala 0.54.0 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปเบฅเป‰เบง. เบžเบฒเบชเบฒ Vala เปเบกเปˆเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบšเบšเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเปƒเบซเป‰ syntax เบ„เป‰เบฒเบเบ„เบทเบเบฑเบš C# เบซเบผเบท Java. เบฅเบฐเบซเบฑเบ” Vala เบ–เบทเบเปเบ›เป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™ C, เป€เบŠเบดเปˆเบ‡, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ C compiler เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒเบ„เบนเปˆเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ”เป‰เบงเบเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”เบงเบฑเบ”เบ–เบธเบ‚เบญเบ‡เป€เบงเบ—เบตเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบชเบฐเบ„เบดเบš. เบžเบฒเบชเบฒเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบญเบธเบ›เบฐเบ–เปเบฒเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ GNOME. Gobject (Glib Object System) เบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเปเบšเบšเบงเบฑเบ”เบ–เบธ. เบฅเบฐเบซเบฑเบ” compiler เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” LGPLv2.1.

เบžเบฒเบชเบฒเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ introspection, lambda functions, interfaces, delegates and closed, signals and slots, exceptions, properties, non-null type, type inference for local variables (var). เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ™เบฑเบšเบญเป‰เบฒเบ‡เบญเบตเบ‡. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบšเบšเบ—เบปเปˆเบงเป„เบ›เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเป€เบฅเบฑเบเบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เปเบšเบšเบเปเบฒเบ™เบปเบ”เป€เบญเบ‡. เบเบฒเบ™เบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ foreach เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ‚เบญเบ‡เป‚เบ›เบผเปเบเบผเบกเบฎเบนเบšเบžเบฒเบšเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ”เบเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบเบฒเบŸเบดเบ GTK.

เบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบ™เบžเบฒเบชเบฒ C. เบ•เบปเบงเปเบ› Vala เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฒเบชเบฒ Genie, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เปเบ•เปˆเบกเบต syntax เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเปเบฎเบ‡เบšเบฑเบ™เบ”เบฒเบ™เปƒเบˆเบˆเบฒเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Python. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™เบฅเบนเบเบ„เป‰เบฒเบญเบตเป€เบกเบฅเปŒ Geary, เปเบเบฐเบเบฒเบŸเบดเบ Budgie, เป‚เบ„เบ‡เบเบฒเบ™เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เป„เบŸเบฅเปŒเบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบงเบดเบ”เบตเป‚เบญ Shotwell, เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ Vala. เบžเบฒเบชเบฒเบ–เบทเบเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ‚เบญเบ‡ Elementary OS.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปเบ—เบ™เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡;
  • เป€เบžเบตเปˆเบกเป‚เบ›เบฃเป„เบŸเบฅเปŒ LIBC, เป€เบŠเบดเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเปเบฒเบเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเป‚เบ›เบฃเป„เบŸเบฅเปŒ POSIX;
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เป‚เบซเบกเบ”เป‚เบ›เบฃเป„เบŸเบฅเปŒ POSIX;
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ›เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบกเบตเบ„เปˆเบฒ null เบ”เป‰เบงเบ type inference (var?);
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบซเป‰เบญเบ‡เบฎเบฝเบ™เบซเป‰เบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบทเบšเบ—เบญเบ” (เบœเบฐเบ™เบถเบเป€เบ‚เบปเป‰เบฒเบเบฑเบ™);
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบ›เบญเบ”เป„เบžเปƒเบชเปˆเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบŠเบฑเป‰เบ™เบฎเบฝเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ” null (a.?b.?c);
  • เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบ‚เบญเบ‡โ€‹เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹เป‚เบ„เบ‡โ€‹เบชเป‰เบฒเบ‡โ€‹เป€เบ›เบฑเบ™ null (const Foo[] BARS = { { "bar", 42 }, null };
  • เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ resize() เปเบกเปˆเบ™เบซเป‰เบฒเบกเบชเปเบฒเบฅเบฑเบš arrays เบ„เบปเบ‡เบ—เบตเปˆ;
  • เป€เบžเบตเปˆเบกเบœเบปเบ™เบญเบญเบเบกเบฒเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบžเบฐเบเบฒเบเบฒเบกเบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เป€เบ›เบฑเบ™เป‚เบกเบ„เบฐ ((void)not_void_func();
  • เบฅเบปเบšโ€‹เบ‚เปเป‰โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบš GLib.Arrayโ€‹;
  • เปเบเป‰เป„เบ‚เบเบฒเบ™เบชเบทเบšเบ—เบญเบ”เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ "unowned var" เปƒเบ™ foreach() statement;
  • เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบš 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 extension-4.0, x11, zlib, gnutls;
  • เป€เบญเบปเบฒเบเบฒเบ™เบœเบนเบเบกเบฑเบ” gedit-2.20 เปเบฅเบฐ webkit-1.0 เบญเบญเบเปเบฅเป‰เบง;
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ GIR;
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ” C เบ—เบตเปˆเบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš;
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ girparser, girwriter, valadoc, libvaladoc/girimporter;
  • เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบชเบฐเบชเบปเบกเปเบฅเบฐเบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš compiler เบ•เปˆเบฒเบ‡เป†เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™