2023: Вышел новый язык программирования Nim, компилирующий код на C++ и JavaScript
1 августа 2023 года состоялся релиз языка системного программирования Nim 2.0. Исходный код на языке Nim компилируется в представление на C, C++, Objective-C и JavaScript.
Nim — язык программирования со статической типизацией, поддерживающий процедурный, объектно-ориентированный, функциональный и обобщённый стили программирования. По утверждениям разработчиков, платформа сочетает мощь Лиспа (List Processing language — «язык обработки списков»), простоту и понятность Python и высокую производительность Си.
Nim — это язык программирования, который подходит для всего, но не для всех. Он фокусируется на императивной парадигме программирования и дополняет ее системой макросов. Настраиваемое управление памятью делает его хорошо подходящим для ряда областей, таких как системы с жестким учетом реального времени, — отмечают разработчики. |
В языке Nim, как и в Python, в качестве разделителей блоков используются отступы (так называемое правило обязательных отступов), хотя в фильтрах препроцессора блоки могут разделяться и по ключевым словам. Язык является частично регистро-независимым (учитывается только регистр первой буквы в идентификаторах). Довольно необычной особенностью является то, что подчеркивания в идентификаторах игнорируются.Как с помощью EvaProject и EvaWiki построить прозрачную бесшовную среду для успешной работы крупного холдинга
В ходе разработки языка было установлено, что правило инициализации Nim по умолчанию является одним из основных источников ошибок. Существует новый экспериментальный переключатель strictDefs, который защищает от этих ошибок.
Одним из преимуществ Nim является то, что его относительно легко освоить. В составе языка имеется множество высокоуровневых типов, от обычных строк и массивов до последовательностей, множеств, кортежей, перечислений и так далее. Низкоуровневые системные данные могут быть неуправляемыми, но основные объекты, созданные в куче, обслуживаются сборщиком мусора, освобождая программиста от большинства проблем управления памятью.[1]