Lëshimi i gjuhës së programimit Hare 0.24.2

Drew DeVault, autori i mjedisit përdorues Sway, klientit të postës Aerc dhe platformës së bashkëpunimit SourceHut, publikoi versionin 0.24.2 të gjuhës së programimit Hare (numri i versionit formohet si 0.YY.Q, ku YY janë dy shifrat e fundit të vitit, dhe Q është numri i tremujorit). Hare paraqitet si një gjuhë programimi sistemore e afërt me gjuhën C, por më e thjeshtë se C. Kodi burimor i kompilatorit dhe mjeteve shpërndahet nën licencën GPLv3, ndërsa kodi i bibliotekës standarde nën licencën MPL (Mozilla Public License).

Gjuha është optimizuar për zgjidhjen e detyrave të nivelit të ulët, si zhvillimi i sistemeve operative, kompilerëve, aplikacioneve rrjet dhe mjeteve sistemore, për të cilat kërkohet arritja e performancës maksimale dhe kontrolli të plotë mbi ekzekutimin. Në këtë gjuhë aplikohet menaxhimi manual i memories dhe një sistem i tipave statik, ku çdo variabël duhet t'i caktohet një tip i caktuar.

Për ekzekutimin e aplikacionit ofrohet një runtime minimal, dhe për zhvillim shpërndahet biblioteka standarde e funksioneve, e cila ofron qasje në ndërfaqet bazë të sistemit operativ dhe gjithashtu ofron funksione për të punuar me algoritmet tipike, protokollet dhe formatet, duke përfshirë mjete për përdorimin e shprehjeve të rregullta dhe enkriptimin. Për zhvillimin e aplikacioneve grafike, zhvillohet mjeti hare-wayland, si dhe lidhje për qasje në mundësitë e GTK, Vulkan, OpenGL, SDL2 dhe libui.

Në këtë version të ri:

  • Shtuar mbĂ«shtetje pĂ«r sistemin operativ NetBSD (pĂ«rveç OpenBSD, FreeBSD dhe Linux qĂ« ishin mbĂ«shtetur mĂ« parĂ«).
  • Shtuar sintaksĂ«n pĂ«r tĂ« definuar ciklet 'for-each', qĂ« lehtĂ«sojnĂ« pĂ«rshkrimin e elementeve tĂ« array-ve dhe slice-ve. let items = [1, 2, 3, 4, 5]; for (let item .. items) { fmt::println(item)!; };
  • Ofrohet mundĂ«sia pĂ«r tĂ« definuar parametra opsionalĂ« tĂ« funksioneve, ku vlera standarde pĂ«rcaktohet gjatĂ« definimit tĂ« funksionit. fn example(x: int, y: int = 34) void = { // ... }; example(12); // ekvivalente me thirrjen example(12, 34);
  • Rritur performanca e modulit bufio dhe API-ve tĂ« lidhura, tĂ« cilat pĂ«rdorin input/output tĂ« buferizuar, si unix::resolvconf, unix::hosts dhe unix::passwd.
  • NĂ« modul 'regex::', nĂ« shprehjet e rregullta, ofrohet mundĂ«sia e pĂ«rdorimit tĂ« modeleve si '(ha|py|sh)' pĂ«r tĂ« listuar disa variante pĂ«r zgjedhje.
  • Shtuar mbĂ«shtetje pĂ«r memorjen e ndarĂ« (shm_open) dhe mekanizmin memfd, i cili lejon identifikimin e njĂ« zone memorjeje pĂ«rmes njĂ« deskit tĂ« skedarĂ«ve tĂ« kaluar midis proceseve. Memorja e ndarĂ«, e cila mund tĂ« pĂ«rdoret pĂ«r ndĂ«rveprimin midis proceseve dhe brenda proceseve, siç Ă«shtĂ« tashmĂ« e angazhuar nĂ« implementimin e klientit dhe server Wayland hare-wayland.
  • Shtuar funksionet kriptografike crypto::ec, crypto::ecdh dhe crypto::ecdsa.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster