süsteemse programmeerimise keele väljaanne . Nim keel kasutab staatilist tüübi määratlemist ja on loodud silmas pidades Pascalit, C++, Pythoni ja Lispi. Nim kood kompileeritakse C, C++ või JavaScripti kujule. Edasi saadud C/C++ kood kompileeritakse täitmisfailiks mis tahes olemasoleva kompilaatori (clang, gcc, icc, Visual C++) abil, mis võimaldab saavutada C-ga sarnast jõudlust, välja arvatud prügikoristaja täitmise kulud. Sarnaselt Pythoni keelele kasutatakse Nimis plokkide eraldamiseks sisendeid. Toetatakse metaprogrammeerimise vahendeid ja objekte, mis võimaldavad luua domeenispetsiifilisi keeli (DSL). Projekti kood on MIT litsentsi all.
Uues versioonis on silmapaistvaid muudatusi:
- Rakendatud on uus prügikoristaja („—gc:arc“).
- Moduuli „“ on lisatud uued makrod collect, dup ja capture.
- Lisatud on uus makro „with“.
- Standardraamatukokku on tehtud suur ports uusi kutsunge, sealhulgas 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 jne.
- Lisatud uued moodulid std/stackframes ja std/compilesettings.
- Kompilaatorisse on lisatud valikud „—asm“ (genereeritava assembleri koodi analüüsimiseks) ja „—panics:on“, mis sunnib programm hüppama viga IndexError ja OverflowError korral, ilma võimaluseta neid „try“ töötleja abil püüda.
- Puhversettide ületäitumiste määramine on kiirusel.
Allikas: opennet.ru
