Doli një version i ri të gjuhës së programimit sistemik Nim, e cila këtë Shtator mbush një vit nga dalja e saj versionit të saj të parë stabil. Sipas sintaksës, gjuha është e ngjashme me Python, ndërsa në performancë është afër C++. Sipas FAQ gjuhës, shumë gjëra janë huazuar nga (në rendin e rëndësisë): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Funksionon kudo falë mundësisë së kompaktimit në C/C++/Objective-C/JS. Përkrah makros, OOP, gjenerikë, përjashtime, zëvendësim të nxehtë të kodit dhe shumë më tepër. Licenca - MIT.
Ndryshimet më të rëndësishme:
-
Ka njĂ« mbledhĂ«s tĂ« ri plehrash ORC, qĂ« pĂ«rdor algoritemin nga ARC, por trajton nĂ« mĂ«nyrĂ« tĂ« veçantĂ« lidhjet ciklike. Aktivizohet me opsionin âgc:orc. PĂ«r dallimet ARC/ORC Ă«shtĂ« njĂ« artikull i shkĂ«lqyer.
ĂshtĂ« shtuar njĂ« mod pĂ«r definita strikte funksionesh, ku aktivizohet njĂ« kontroll shtesĂ« pĂ«r mutabilitetin e objekteve. Aktivizohet pĂ«rmes pragmĂ«s {.experimental: "strictFuncs".} ose pĂ«rmes çelĂ«sit âexperimental:strictFuncs.
Fjalori klauzola from tani mund të përdoret si operator.
ĂshtĂ« shtuar pragma .noalias. Ajo pĂ«rputhet me fjalorin e C restrict, pĂ«r tĂ« rritur efikasitetin qĂ« mund tĂ« ofrojĂ« ky fjalor.
ParalajmĂ«rimet e veçanta tani mund tĂ« shndĂ«rrohen nĂ« gabime pĂ«rmes âwarningAsError[X]:on|off.
Komanda e re: nim r main.nim [argsâŠ], qĂ« kompilon dhe ekzekuton main.nim, dhe pĂ«rfshin âusenimcache nĂ« mĂ«nyrĂ« qĂ« rezultati tĂ« ruhet nĂ« $nimcache/main$exeExt, duke pĂ«rdorur tĂ« njĂ«jtĂ«n logjikĂ« si nim c -r pĂ«r tĂ« shmangur rikompilimin kur burimet nuk janĂ« ndryshuar. Shembuj:
nim r compiler/nim.nim âhelp # kompiluar pĂ«r herĂ« tĂ« parĂ«
echo âimport os; echo getCurrentCompilerExe()â | nim r â # kjo gjithashtu funksionon
nim r compiler/nim.nim âfullhelp # pa rikompilim
nim r ânimcache:/tmp main # binari Ă«shtĂ« ruajtur nĂ« /tmp/main
ĂshtĂ« shtuar njĂ« sugjerim i ri âhint:msgOrigin, qĂ« do tĂ« tregojĂ« se ku kompajleri ka gjeneruar mesazhe gabimesh/p paralajmĂ«rimesh. Kjo ndihmon kur nuk Ă«shtĂ« e qartĂ« nga erdhi mesazhi.
ĂshtĂ« shtuar njĂ« flamur âbackend:js|c|cpp|objc (ose -b:js etj.) pĂ«r ndryshimin e backend-it.
ĂshtĂ« shtuar njĂ« flamur âusenimcache pĂ«r tĂ« nxjerrĂ« binarĂ«t nĂ« nimcache.
JanĂ« hequr çelĂ«sat: âoldNewlines, âlaxStrings, âoldast, âoldgensym
Utiliteti nimsuggest tani tregon jo vetëm deklaratën paraprake, por edhe vendndodhjen e zbatimit sipas kërkesës def.
Përveç kësaj, janë shtuar shumë ndryshime në bibliotekën standarde dhe shumë rregullime të defekteve.
Burimi: linux.org.ru
