Програмчлалын хэлний орчуулагч Vala 0.54.0 хувилбар

Програмчлалын хэлний орчуулагч Vala 0.54.0-ийн шинэ хувилбар гарлаа. Vala хэл нь объект хандалтат програмчлалын хэл бөгөөд C# эсвэл Java-тэй төстэй синтаксийг хангадаг. Вала кодыг C програм руу хөрвүүлдэг бөгөөд энэ нь эргээд стандарт C хөрвүүлэгчээр хоёртын файл болгон хөрвүүлэгдэж, зорилтот платформын объект код болгон хөрвүүлсэн програмын хурдаар гүйцэтгэгддэг. Програмуудыг скрипт горимд ажиллуулах боломжтой. Энэ хэлийг GNOME төслийн ивээл дор хөгжүүлж байна. Gobject (Glib Object System) нь объектын загвар болгон ашиглагддаг. Хөрвүүлэгчийн кодыг LGPLv2.1 лицензийн дагуу түгээдэг.

Энэ хэл нь дотоод ажиглалт, ламбда функц, интерфэйс, төлөөлөгч ба хаалт, дохио ба оролт, үл хамаарах зүйл, шинж чанар, null бус төрлүүд, локал хувьсагчийн төрлийн дүгнэлт (var) зэргийг дэмждэг. Санах ойн менежмент нь лавлагаа тоолоход үндэслэн хийгддэг. Тус хэлэнд зориулж libgee програмчлалын ерөнхий номын санг боловсруулсан бөгөөд энэ нь захиалгат өгөгдлийн төрлүүдэд зориулж цуглуулга үүсгэх боломжийг олгодог. Foreach мэдэгдлийг ашиглан цуглуулгын элементүүдийг тоолохыг дэмждэг. График программчлалыг GTK график номын санг ашиглан хийдэг.

Энэхүү хэрэгсэл нь Си хэл дээрх номын сангуудтай олон тооны хавтастай ирдэг. Vala орчуулагч нь Genie хэлийг дэмждэг бөгөөд энэ нь ижил төстэй боломжуудыг олгодог боловч Python програмчлалын хэлнээс сэдэвлэсэн синтакстай байдаг. Geary цахим шуудангийн клиент, Budgie график бүрхүүл, Shotwell фото болон видео файл зохион байгуулах програм болон бусад программууд нь Вала хэл дээр бичигдсэн байдаг. Энэ хэлийг анхан шатны OS түгээлтийг хөгжүүлэхэд идэвхтэй ашигладаг.

Гол инноваци:

  • Хувьсах тооны параметр бүхий төлөөлөгчдөд зориулсан дэмжлэг нэмэгдсэн;
  • POSIX профайлтай ижил утгатай LIBC профайлыг нэмсэн;
  • POSIX профайлын горимд сайжруулсан хувилбар;
  • Төрөл дүгнэлт (var?) бүхий тэг утгатай байж болох хувьсагчдыг зарлах чадварыг нэмсэн;
  • Өв залгамжлахыг хориглосон ангиудыг зарлах чадварыг нэмсэн (битүүмжлэгдсэн);
  • Ангийн талбаруудад аюулгүй хандалтын оператор нэмсэн бөгөөд тэг байж болно (a.?b.?c);
  • Бүтцийн агуулгыг null болгож эхлүүлэхийг зөвшөөрсөн (const Foo[] BARS = { { "bar", 42 }, null };);
  • Тогтмол массивын хувьд resize() үйлдлийг хориглоно;
  • Функцийн дуудлагыг хүчингүй болгохыг оролдох үед анхааруулах гаралтыг нэмсэн ((void)not_void_func();
  • GLib.Array элементийн төрлүүдийн хязгаарлалтыг арилгасан;
  • foreach() хэллэг дэх "эзэмшдэггүй var" өмчлөлийн өвийг зассан;
  • webkit2gtk-4.0-д холбогдох нь 2.33.3 хувилбар болж шинэчлэгдсэн;
  • gstreamer-тэй холбогдох нь git master-ын 1.19.0+ хувилбар руу шинэчлэгдсэн;
  • 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, web-webbk-т зориулсан холболтыг зассан. өргөтгөл-2, x4.0, zlib, gnutls;
  • gedit-2.20 болон webkit-1.0 холбоосыг устгасан;
  • GIR дээр суурилсан шинэчилсэн холболтууд;
  • Туршилтын системд үүсгэсэн C кодыг шалгах чадварыг нэмсэн;
  • Сайжруулсан girparser, girwriter, valadoc, libvaladoc/girimporter;
  • Төрөл бүрийн хөрвүүлэгчийн бүрэлдэхүүн хэсгүүдийн хуримтлагдсан алдаа, дутагдлыг зассан.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх