izdanje sistemskog programskog jezika . Jezik Nim koristi statično kucanje i kreiran je s okom na Pascal, C++, Python i Lisp. Nim izvorni kod se kompajlira u C, C++ ili JavaScript reprezentaciju. Nakon toga, rezultirajući C/C++ kod se kompajlira u izvršnu datoteku koristeći bilo koji dostupan kompajler (clang, gcc, icc, Visual C++), što vam omogućava da postignete performanse bliske C, ako ne uzmete u obzir troškove pokretanja sakupljač smeća. Slično Pythonu, Nim koristi uvlačenje kao graničnike blokova. Podržani su alati i mogućnosti za metaprogramiranje za kreiranje jezika specifičnih za domenu (DSL). Šifra projekta pod MIT licencom.
Značajne promjene u novom izdanju uključuju:
- Implementiran novi sakupljač smeća (“-gc:arc”).
- U modulu ""Dodani su novi makroi za prikupljanje, kopiranje i snimanje.
- Dodan novi makro "sa".
- Veliki dio novih poziva dodat je standardnoj biblioteci, uključujući strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, itd.
- Dodati novi moduli std/stackframes i std/compilesettings.
- Opcije “—asm” (za analizu generiranog asemblerskog koda) i “—panics:on” za prisilni izlaz na greške IndexError i OverflowError su dodane kompajleru, bez mogućnosti da ih presretne “try” rukovalac.
- Poboljšana detekcija mogućih prekoračenja bafera.
izvor: opennet.ru
