Профиль: Аноним (вход | регистрация) не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 обязательно


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

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

     
     
  • 2.28, Аноним (28), 13:27, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Скомпилируй в C, вот и будет системное.
     

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

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

     
     
  • 2.3, опеншлёпивпродакшн (?), 10:24, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не дают смешивать табы с пробелами?
     
     
  • 3.13, Аноним (13), 11:45, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Заставляет набивать отступ руками. Вы же ведь не раскрашиваете подсветку синтаксиса в коде вручную, как в текст в ворде?
     
     
  • 4.24, _kp (ok), 13:15, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    1. Формально исходник не в текстовом виде, а в двоичном формате, хоть и частично совместим с текстовыми редакторами. Для полноценной работы нужен именно редактор умеющий работать в формате исходников Питона.

    2. Надpачивать отсупы вручную - ну это же каменный век.

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

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

    > lean

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

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

    нет, не будут

     
  • 4.9, Анонимный аноним (?), 11:07, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Математики при этом используют Maltabe/Octave с Си-подобным синтаксисом, Maxima с алгол-подобным синтаксисом, не брезгуют фортраном и прологом. Из python-подобных фреймворков для математиков я только scilab знаю.
     
  • 3.6, Аноним (6), 10:30, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1С лучше.
     
     
  • 4.25, Аноним (25), 13:19, 09/09/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.10, Аноним (10), 11:11, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Математики начали его использовать из-за простоты запуска. А потом им стало лень учить что-то ещё. Теперь пожинаем горькие плоды.
     
     
  • 4.11, Djon (??), 11:28, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что горького-то вы пожинаете? Язык как язык. Востребованный, кстати.
     
     
  • 5.26, _kp (ok), 13:19, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно. Массовым языком можно пользоваться, даже недолюбливая его, и все будет работат предсказуемо, а проблемы быстро устраняться, в отличии от всякой экзотики.
    Если что, я терпеть не могу двоиный формат исходников Питона. :)
     
  • 4.16, Аноним (8), 12:22, 09/09/2026 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
  • 3.12, Аноним (12), 11:33, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я тут хотел загнать про 4 синтаксиса строк, три для массивов и несколько синтаксисов для связки map+filter с присобаченной сбоку типизацией и :=, но зайду сразу с козырей:

    сколько языков ты знаешь, чтобы ещё и мог на них писать?

     
     
  • 4.18, Аноним (8), 12:24, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я тут хотел загнать про 4 синтаксиса строк, три для массивов и несколько синтаксисов для связки map+filter с присобаченной сбоку типизацией и :=

    какие проблемы?

    > сколько языков ты знаешь, чтобы ещё и мог на них писать?

    больше, чем ты, даже если бы питон был единственным

     
     
  • 5.23, Аноним (-), 12:51, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > какие проблемы?

    У тебя - никаких, он твой единственный.  
    У меня тоже, я им брезгую.  
    Им пользуются только те, кто другого не осилил.

     
  • 3.15, Ананоним (?), 12:19, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда логика зависит от пробелов, это эпик фейл, а не язык программирования. Такой стиль нужен только для принудительного обучения новичков стилю кодирования, а не для профессионального программирования, когда понимание давно выросло до гораздо больших высот, чем отступы и стиль.
     
  • 3.21, Аноним (-), 12:38, 09/09/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.14, Метрика (?), 12:04, 09/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Честно говоря все эти новомодные язычки расчитаны на студентов которых учат 70 летние преподы плюсам стандарта этак C++98/03 и еще в процедурном си стиле, да это ужас, но современные стандарты C++ позволяют писать настолько высокоуровневый код, что смысла в этих обвязках нет особо
     
     
  • 2.30, Аноним (12), 13:39, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Возможности Nim включают систему макросов, работающих на AST во время компиляции

    Сорян, но там полноценные макросы. На таких макросах все "современные стандарты C++" и их "высокоуровневый код" становятся библиотеками.

     

  • 1.17, Аноним (13), 12:24, 09/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Nim позиционируется как системный язык, подходящий для разработки от встраиваемых систем до веб-серверов, с акцентом на эффективность, безопасность памяти и удобство разработки.

    В какой язык не ткни, везде будет описание как под копирку, словно какой-то язык наоборот создавался медленным, неудобным и опасным. А потом открываешь https://nim-lang.org/docs/manual_experimental_strictnotnil.html и видишь, что автор настолько преисполнился в языкостроении, что вместо того, чтобы взять монадический подход, прямиком из 80-ых, а то и раньше, например, из Standard ML, автор в 2026 году до сих пор изобретает новый велосипед и изобрести никак не может. Этот язык устарел ещё до своего появления, его нужно закопать.

     
     
  • 2.27, Аноним (27), 13:21, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Соглашусь, никогда не понимал, какую цель ставит автор На роль системного языка... большой текст свёрнут, показать
     
     
  • 3.31, Аноним (12), 13:41, 09/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Соглашусь, никогда не понимал, какую цель ставит автор? На роль системного языка программирования, как альтернатива Си, мало (если вообще!) подходит.

    Подходит как альтернатива SBCL. Считай, это убийца раста, причём вот с теми какими надо макросами.

     

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



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

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