Doli një version i ri i gjuhës sistemike të programimit Nim, e cila këtë shtator mbush një vit që nga dalja e saj versioni i parë stabil. Sipërfaqja e gjuhës është e ngjashme me Python, ndërsa performanca e saj është pothuajse si C++. Sipas FAQ gjuhë në shumë aspekte merr nga (në renditjen e rëndësisë së kontributit): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Funksionon kudo falë mundësisë së kompilimit në C/C++/Objective-C/JS. Aty mbështeten makrosat, OOP, gjenerikët, përjashtimet, ndryshimi i nxehtë i kodit dhe shumë të tjera. Licenca është MIT.
Ndryshimet më të rëndësishme:
-
U shtua mbledhĂ«si i ri i mbeturinave ORC, i cili pĂ«rdor njĂ« algoritĂ«m nga ARC, por trajton nĂ« mĂ«nyrĂ« speciale lidhjet ciklike. Aktivizohet me opsionin âgc:orc. PĂ«r dallimet ARC/ORC ka njĂ« artikull tĂ« shk outstanding.
U shtua njĂ« mod i ashpĂ«r i pĂ«rcaktimeve tĂ« funksioneve, ku aktivizohet njĂ« kontroll shtesĂ« pĂ«r ndryshueshmĂ«rinĂ« e objekteve. Aktivizohet pĂ«rmes pragmĂ«s {.experimental: "strictFuncs".} ose pĂ«rmes çelĂ«sit âexperimental:strictFuncs.
Fjalë kyçe from tani mund të përdoret si operator.
U shtua pragm .noalias. Ajo lidhet me fjalën kyçe C restrict për të rritur efikasitetin që kjo fjalë mund të sigurojë.
ParalajmĂ«rimet specifike tani mund tĂ« shndĂ«rrohen nĂ« gabime pĂ«rmes âwarningAsError[X]:on|off.
Komanda e re: nim r main.nim [argsâŠ], e cila kompilon dhe ekzekuton main.nim, dhe pĂ«rfshin âusenimcache, kĂ«shtu qĂ« rezultati ruhet nĂ« $nimcache/main$exeExt, duke pĂ«rdorur logjikĂ«n e njĂ«jtĂ« si nim c -r pĂ«r tĂ« shmangur ripĂ«rpilimin kur skedarĂ«t burimorĂ« nuk janĂ« ndryshuar. Shembuj:
nim r compiler/nim.nim âhelp # kompiluar pĂ«r herĂ« tĂ« parĂ«
echo âimport os; echo getCurrentCompilerExe()â | nim r â # gjithashtu funksionon
nim r compiler/nim.nim âfullhelp # pa ripĂ«rpilim
nim r ânimcache:/tmp main # binarit ruhet nĂ« /tmp/main
U shtua njĂ« sugjerim i ri âhint:msgOrigin, i cili do tĂ« tregojĂ« ku kompjuteri ka gjeneruar mesazhe gabimesh/paralajmĂ«rimesh. Kjo ndihmon kur nuk Ă«shtĂ« e qartĂ« se nga ka ardhur mesazhi.
U shtua flaka âbackend:js|c|cpp|objc (ose -b:js etj.) pĂ«r tĂ« ndryshuar backend-in.
U shtua flaka âusenimcache pĂ«r tĂ« dalĂ« binaret nĂ« nimcache.
ĂelĂ«sat e hequr: âoldNewlines, âlaxStrings, âoldast, âoldgensym
Utilita nimsuggest tani tregon jo vetëm shpalljen paraprake, por edhe vendndodhjen e implementimit sipas kërkesës def.
Përveç kësaj, janë bërë shumë ndryshime në bibliotekën standarde dhe shumë rregullime gabimesh.
Burimi: linux.org.ru
