The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск языка программирования Nim 2.2.8

23.02.2026 22:26 (MSK)

Представлен релиз языка системного программирования Nim 2.2.8. Nim – статически типизированный компилируемый язык программирования с синтаксисом, вдохновлённым Python, и возможностями метапрограммирования на уровне Lisp. Язык компилируется в C, C++ и JavaScript, обеспечивая производительность на уровне C при выразительности высокоуровневых языков. Код проекта поставляется под лицензией MIT.

Возможности Nim включают систему макросов, работающих на AST во время компиляции, поддержку обобщённого программирования с концептами, множественную диспетчеризацию (multiple dispatch), детерминированное управление памятью с поддержкой нескольких стратегий (ARC/ORC, refc, маркировка-и-подметание), встроенную поддержку async/await для асинхронного программирования и FFI для простой интеграции с C/C++/JavaScript. Nim позиционируется как системный язык, подходящий для разработки от встраиваемых систем до веб-серверов, с акцентом на эффективность, безопасность памяти и удобство разработки.

Выпуск 2.2.8 состоялся спустя четыре месяца после версии 2.2.6 и включает 89 коммитов с исправлениями ошибок и улучшениями. Главным улучшением релиза названо значительное повышение стабильности стандартного аллокатора памяти при активном использовании многопоточности. По словам разработчиков, необходимость в обходном решении "-d:useMalloc" для многопоточного кода осталась в прошлом. Пользователей просят оставлять обратную связь.

Среди исправленных ошибок:

  • SIGBUS при итерации по константной таблице из-за преждевременного уничтожения временных объектов;
  • SIGSEGV с замыкающими итераторами;
  • некорректная генерация C-кода при инициализации .global внутри метода;
  • ошибка в обработке finally в замыкающем итераторе при наличии try..except;
  • некорректное name mangling в стиле C++ при использовании --debuginfo;
  • медленная работа setLen при уменьшении размера последовательности из-за излишней зачистки памяти;
  • отсутствие setLenUninit для режима "--mm:refc";
  • зависание обработки term rewriting на больших файлах;
  • SIGSEGV при использовании distinct-типов с назначением в heap-объекты в режиме refc;
  • некорректный доступ к m_type в хуках для обобщённых distinct-типов под ARC/ORC/ATOMICARC;
  • сбой компилятора при передаче кортежа с "items" из концепта;
  • рекурсивные концепты вызывали segfault компилятора;
  • некорректная генерация HTTPS-запросов через HTTP-прокси в httpclient;
  • неопределённое поведение при операции shl;
  • усечение длинных целочисленных литералов без предупреждения;
  • сбои компилятора при ряде некорректных обобщённых инстанциаций;
  • добавлен режим --styleCheck:warn.


  1. Главная ссылка к новости (https://nim-lang.org/blog/2026...)
  2. OpenNews: В языке Nim представлен YRC - потокобезопасный сборщик циклических ссылок
  3. OpenNews: Выпуск языка программирования Nim 2.2.6
  4. OpenNews: Представлены принципы дизайна компилятора Nimony для будущего Nim 3.0
  5. OpenNews: Для Nim 3.0 развивается новый компиляторный бэкенд на основе формата NIF
  6. OpenNews: Релиз языка программирования Nim 2.0
Автор новости: User097
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64858-nim
Ключевые слова: nim
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.7, 12yoexpert (ok), 23:09, 23/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > инстанциаций

    афордабл хоть?

     
     
  • 2.16, Shellpeck (?), 09:34, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    формидабл
     

  • 1.10, вдцлсоцжтчфлыь (?), 00:48, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Кто-то: если ваш ним так хорош, что все игры на графах к нему сводятся по теореме Шпрага-Гранди, то почему ещё не выпустили ним 2?

    тем временем ним 2:

     
  • 1.11, Аноним (11), 02:51, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    С таким списком багфиксов использовать это в проде будет только хеловротщик
     
     
  • 2.14, Аноним (14), 07:49, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если действовать с такой же настойчивостью, как в отношении офтопика, баги не помешают использованию сабжа (у офтопика багов на порядок больше, но он уже в ядре).
     

  • 1.12, Аноним (12), 07:02, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем он нужен? Какие проблемы он решает?
     
     
  • 2.13, Аноним (14), 07:47, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Исчерпывающие ответы на Ваши вопросы содержатся в следующем фрагменте новости:
    > позиционируется как системный язык, подходящий для разработки от встраиваемых систем до веб-серверов, с акцентом на эффективность, безопасность памяти и удобство разработки.
     
     
  • 3.15, нах.. (?), 09:09, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не ответ, это описание. Какие проблемы решает - это пример решения проблем, очевидно.
     
     
  • 4.19, нимнимним (?), 11:19, 24/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    - какие проблемы решаешь на работе?
    - могу копать, могу картошку сажать, могу уравнения решать, могу людьми управлять
    - хорошо, а решаешь какие?
    - да двор подметаю
     

  • 1.17, cheburnator9000 (ok), 10:08, 24/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В общем пока этот "язык" является языком для транспайлера для GCC он так и будет оставаться нишей для извращенцев и все.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру