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

Drew DeVault, autori i ambientit përdorues Sway, klientit të postës Aerc dhe platformës së zhvillimit bashkëpunues SourceHut, publikoi versionin e gjuhës së programimit Hare 0.25.2. Numri i versionit formohet si 0.YY.Q, ku YY janë dy shifrat e fundit të vitit, dhe Q është numri i tremujorit, versioni i mëparshëm Hare 0.24.2 u publikua një vit më parë. Hare paraqitet si një gjuhë e programimit sistemor, e afërt me gjuhën C, por më e thjeshtë se C. Kodi burimor i kompilatorit dhe mjetet shpërndahen 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:

  • JanĂ« zgjeruar mundĂ«sitĂ« e hyrjes/daljes me bufer. NĂ« modul «memio::» Ă«shtĂ« shtuar njĂ« modalitet fluksit «nonblocking». JanĂ« ofruar opcione pĂ«r konfigurimin e sjelljes nĂ« pĂ«rpunimin e fundit tĂ« skedarit nĂ« bufio::scanner dhe modalitete menaxhimi tĂ« flukseve bufio::stream. JanĂ« shtuar funksionet os::open_buffered dhe os::create_buffered.
  • NĂ« utilitarin «haredoc» Ă«shtĂ« pĂ«rfshirĂ« mundĂ«sia e nxjerrjes sĂ« njĂ« pĂ«rshkrimi tĂ« shkurtĂ«r tĂ« moduleve nga skedarĂ«t README dhe shfaqjes sĂ« tij gjatĂ« listimit tĂ« moduleve.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r Unix/POSIX API: io::fsync, io::fdatasync, unix::getrlimit, unix::setrlimit dhe fcntl (pĂ«rmes os::getflags dhe os::setflags). PĂ«r sistemin operativ NetBSD Ă«shtĂ« portuar mbĂ«shtetje pĂ«r kujtesĂ« tĂ« ndarĂ«.
  • NĂ« utilitarin hare Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r inkorporimin e trajtuesve tĂ« jashtĂ«m, tĂ« cilĂ«t thirren pĂ«rmes komandĂ«s nĂ«n «hare tool». PĂ«r shembull, pĂ«rmes njĂ« trajtuesi tĂ« tillĂ« Ă«shtĂ« siguruar integrimi me mjetin «hare-update».
  • ËshtĂ« bĂ«rĂ« e detyrueshme pĂ«rpunimi i gabimeve nĂ« situata tĂ« mungesĂ«s sĂ« memories. ËshtĂ« shtuar njĂ« tip primitiv i ri «nomem», qĂ« kthehet nga funksionet e alokimit tĂ« memories kur nuk Ă«shtĂ« e mundur tĂ« alokosh sasinĂ« e kĂ«rkuar tĂ« memories.
  • API i pĂ«rmirĂ«suar pĂ«r punĂ«n me datat dhe orĂ«t. MundĂ«sitĂ« pĂ«r punĂ«n me zona kohore janĂ« zgjeruar dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r rregullat PETZ (POSIX Extending TZ). ShumĂ« funksione janĂ« transferuar nga moduli time::chrono nĂ« time::date.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r annotimet semantike tĂ« kodit, duke lejuar lidhjen e metadatat shtesĂ« me kodin, tĂ« cilat injorohen nga kompili, por mund tĂ« merren parasysh nga analizatori leksikor nĂ« bibliotekĂ«n standarde. #[json::gen] export type player = struct { name: str, #[json::field(name = «X», omit_null=true)] x: *f64, #[json::field(name = «Y», omit_null=true)] y: *f64, };
  • ËshtĂ« shtuar utiliteti hare-update pĂ«r tĂ« thjeshtuar migrimin e kodit nĂ« versione tĂ« reja tĂ« mjeteve Hare, qĂ« pĂ«rmbajnĂ« ndryshime qĂ« dĂ«mtojnĂ« mbĂ«shtetje tĂ« prapaveprueshme. PĂ«r shembull, utiliteti mund tĂ« pĂ«rdoret pĂ«r tĂ« adaptuar kodin ekzistues pĂ«r aplikimin e trajtimit tĂ« detyrueshĂ«m tĂ« gabimeve gjatĂ« alokimit tĂ« memories, e cila Ă«shtĂ« shfaqur nĂ« versionin aktual.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster