Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

Релиз языка программирования Nim 2.2.12

09.09.2026 08:25 (MSK)

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

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

Выпуск включает 142 коммита, устраняющих ошибки в компиляторе и стандартной библиотеке. Среди исправлений:

  • Устранены несколько аварийных завершений (SIGSEGV) в ARC/ORC, связанных с повторным использованием шаблонов "{.dirty.}" и выделением памяти под "seq", а также возникавших при обращении к элементам объектов "case" после "move" в связке с "GC_fullCollect()" при использовании "refc".
  • Исправлена ошибка самоприсваивания при копировании памяти (self-append) в runtime "refc", приводившая к аварийному завершению на OpenBSD.
  • Устранена регрессия, из-за которой флаг "--panics:on" пропускал проверку "nimErr_" после вызова замыкания, что приводило к ложному срабатыванию проверки "OverflowDefect".
  • Исправлена некорректная семантика "deepCopy" для не копируемых (non-copyable) типов и двойной вызов деструктора при использовании прагмы "{.cursor.}".
  • Устранена ошибка кодогенерации для C++, приводившая к внутренней ошибке компилятора (ICE) при вызове конструктора "bindSym" внутри макроса.
  • Исправлено некорректное поведение "compareExchange", применявшего недопустимую семантику "release" при неудачном исходе операции.
  • Устранена ошибка в "std/encodings", при которой метод "encodings.convert" незаметно повреждал данные для сохраняющих кодировок типа ISO-2022-JP при увеличении выходного буфера.
  • Исправлена регрессия в JS-бэкенде, из-за которой некорректно генерировался файл "dockhack.js".
  • Устранена ошибка, при которой итерация по элементам массива (в отличие от "seq") всегда выполняла их копирование.
  • Исправлена регрессия производительности при переходе с "refc" на ORC либо при использовании флагов "--mm:refc --exceptions:goto", связанная с избыточными проверками defect-исключений.


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


Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, aname (ok), 09:59, 09/09/2026 [ответить]  
  • –1 +/
    > Язык компилируется в C, C++ и JavaScript

    И это всё- системное программирование

     
  • 1.2, Аноним (2), 10:14, 09/09/2026 [ответить]  
  • +/
    > с синтаксисом, вдохновлённым Python

    🤦 Я бы этим не гордился...

     
     
  • 2.3, опеншлёпивпродакшн (?), 10:24, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не дают смешивать табы с пробелами?
     
  • 2.4, Вася Пупкин (?), 10:25, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А зря. Питон объективно самый читаемый язык. Настолько, что даже математики его себе взяли. Уж они то смыслят в формальной простоте и изяществе
     
     
  • 3.5, аноним1234 (?), 10:29, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ну ты за всех математиков не говри lean julia есть и поинтреснее даже они будут
     
     
  • 4.8, Аноним (8), 10:41, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > ну ты за всех математиков не говри

    сказал ты, и решил сделать это сам

    > lean

    ясно, и ты понятия не имеешь, о чем говоришь

    > julia есть и поинтреснее даже они будут

    нет, не будут

     
  • 3.6, Аноним (6), 10:30, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    1С лучше.
     

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



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

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