U lançua i gjuhës së programimit Nim 2.2.8. Nim është një gjuhë programimi e tipizuar statikisht dhe e kompiliuar me sintaksë të frymëzuar nga Python dhe mundësi metaprogramimi në nivelin e Lisp. Gjuhë e cila kompilohesh në C, C++ dhe JavaScript, duke ofruar performancë në nivelin e C-së me shprehshmëri të gjuhëve të nivelit të lartë.
Mundësitë e Nim përfshijnë një sistem makrosh që funksionon mbi AST gjatë kompilimit, mbështetje për programimin e përgjithshëm me koncepte, shpërndarje të shumëfishtë (multiple dispatch), menaxhim të determinueshëm të memories me mbështetje për disa strategji (ARC/ORC, refc, etiketim dhe pastrimin), mbështetje të integruar për async/await për programimin asinkron dhe FFI për integrim të thjeshtë me C/C++/JavaScript. Nim pozicionohet si një gjuhë sistemet, e përshtatshme për zhvillimin nga sisteme të integruara deri te uebi,servera, me theks në efikasitet, sigurinë e memories dhe lehtësinë e zhvillimit.
Versioni 2.2.8 u lansua katër muaj pas versionit 2.2.6 dhe përfshin 89 komitete me ndreqje dhe përmirësime. Përmirësimi kryesor i lëshimit është një rritje e rëndësishme e stabilitetit të alokatorit të kujtesës standard gjatë përdorimit intensiv të shumëfishtë. Sipas zhvilluesve, nevoja për zgjidhjen alternative "-d:useMalloc" për kodin shumëfishtë ka mbetur në të kaluarën. Përdoruesit janë ftuar të lënë reagime.
Ndër ndreqjet e gabimeve:
- SIGBUS gjatë iterimit mbi një tabelë konstante për shkak të asgjësimit të parakohshëm të objekteve temporale;
- SIGSEGV me iteratorë të mbyllur;
- gjenerim i papërshtatshëm i kodit C gjatë inicializimit të .global brenda metodës;
- gabim në trajtimin e finally në iteratorin e mbyllur në prani të try..except;
- mangĂ«si nĂ« emĂ«rimin e stileve C++ gjatĂ« pĂ«rdorimit tĂ« âdebuginfo;
- punë e ngadaltë e setLen kur zvogëlohet madhësia e sekuencës për shkak të pastrimit të tepruar të kujtesës;
- mungesĂ« e setLenUninit pĂ«r modalitetin "âmm:refc";
- ngadalësim i përpunimit të term rewriting në skedarë të mëdhenj;
- SIGSEGV gjatë përdorimit të tipave distinct me caktim në objekte heap në modalitetin refc;
- akses i pavlefshëm në m_type në hooks për tipet e përgjithshme distinct nën ARC/ORC/ATOMICARC;
- çështje e kompilatorit gjatë kalimit të një tuple me «items» nga koncepti;
- konceptet rekursive shkaktuan segfault të kompilatorit;
- gjenerim i pavlefshëm i kërkesave HTTPS përmes HTTP-proxyt në httpclient;
- sjellje e pacaktuar gjatë operacionit shl;
- prerje e literaleve të gjata të numrave pa paralajmërim;
- dështime të kompilatorit gjatë një serie instancimesh të pavlefshme të përgjithshme;
- shtuar mĂ«nyra âstyleCheck:warn.
Burimi: opennet.ru
