Новая версия языка Nim 0.19.0

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

В новой версии представлено два нарушающих совместимость изменения в обработке строк и последовательностей. Вместо значения «nil» строки и последовательности теперь по умолчанию принимают значения » и @[]. Доступ к нулевому символу, сигнализирующему об окончании строки, отныне не является корректной операцией и приводит к выводу ошибки. Для выборочного включения экспериментальных возможностей предложена pragma experimental и опции командной строки (одного общего переключателя для активации всех экспериментальных функций теперь нет). Кроме самого языка также доступен связанный с ним пакетный менеджер Nimble 0.9.0, в котором пересмотрен процесс создания гибридных пакетов.

© OpenNet