издавање на системски програмски јазик . Јазикот Nim користи статичко пишување и е создаден со внимание на Pascal, C++, Python и Lisp. Изворниот код на Nim се компајлира во C, C++ или JavaScript репрезентација. Последователно, добиениот C/C++ код се компајлира во извршна датотека користејќи кој било достапен компајлер (clang, gcc, icc, Visual C++), што ви овозможува да постигнете перформанси блиску до C, ако не ги земете предвид трошоците за извршување собирачот на ѓубре. Слично на Python, Nim користи вовлекување како разграничувачи на блокови. Поддржани се алатки и можности за метапрограмирање за создавање јазици специфични за домен (DSL). Код на проектот под лиценцата MIT.
Значајните промени во новото издание вклучуваат:
- Спроведе нов ѓубреџија („-gc:arc“).
- Во модулот "„Додадени се нови макроа собирање, дупирање и снимање.
- Додадено е ново макро „со“.
- Голем дел од нови повици се додадени во стандардната библиотека, вклучувајќи strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeLeapDay, times. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt итн.
- Додадени се нови модули std/stackframes и std/compilesettings.
- Во компајлерот се додадени опциите „—asm“ (за анализа на генериран склопен код) и „—panics:on“ за принудно излегување на IndexError и OverflowError грешки, без можност да бидат пресретнати од управувачот „try“.
- Подобрено откривање на можни прелевања на тампон.
Извор: opennet.ru
