Новая версия языка программирования Nim 0.17.0
Сообщается о выходе проекта Nim 0.17.0, в рамках которого развивается язык для системного программирования, сфокусированный на производительности, переносимости и выразительности. Язык использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Код проекта поставляется под лицензией MIT.
Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Регистр написания символов в идентификаторах не учитывается. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL).
В новой версии устранены недоработки в системе управления памятью. Значительно расширены средства работы с концптами (concept, определяемые пользователем типы классов). Представлена новая утилита choosenim для одновременной установки и работы с разными версиями Nim. До версии 0.8.6 обновлен пакетный менеджер Nimble. Расширен состав стандартных библиотек.