The OpenNET Project / Index page

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

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

25.04.2026 09:30 (MSK)

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

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

Изменения в языке и компиляторе:

  • Добавлен экспериментальный флаг "--experimental:typeBoundOps", реализующий RFC #380 и повышающий надёжность работы интерфейсов "hash", "$", "==" для именованных типов при непрямых импортах. Пример:
    
      import std/hashes
      type Obj* = object
         x*, y*: int
         z*: string
    
       proc `==`*(a, b: Obj): bool = a.x == b.x and a.y == b.y
       proc hash*(a: Obj): Hash = $!(hash(a.x) &! hash(a.y))
    
       # main.nim
       {.experimental: "typeBoundOps".}
       from objs import Obj
       import std/tables
    
       var t: Table[Obj, int]
       t[Obj(x: 3, y: 4, z: "debug")] = 34
       echo t[Obj(x: 3, y: 4, z: "ignored")]  # 34
    
  • Исправлена ошибка, при которой "sizeof(T)" внутри шаблона "typedesc", вызываемого из when-выражения дженерика, приводил к ошибке компиляции.

Основные изменения, влияющие на обратную совместимость:

  • По умолчанию активирован флаг "-d:nimPreviewFloatRoundtrip". Функции "system.addFloat" и оператор "$" теперь используют алгоритм Dragonbox для генерации минимальных строковых представлений чисел с плавающей точкой с гарантиями корректного округления и обратимости преобразования. Для возврата к старому поведению доступен флаг "-d:nimLegacySprintf".
  • Параметр "default" в функции "tables.getOrDefault" переименован в "def" во избежание конфликтов с "system.default". Код, использующий именованные аргументы "getOrDefault(..., default = ...)", требует обновления.
  • При включении флага "-d:nimPreviewCheckedClose" функция "close" в модуле "std/syncio" теперь генерирует исключение при ошибках ввода-вывода.
  • Неизвестные предупреждения и подсказки компилятора теперь генерируют предупреждение "warnUnknownNotes" вместо ошибок.
  • С флагом "-d:nimPreviewAsmSemSymbol" в операторах asm/emit добавлена проверка типов для символов в обратных кавычках.
  • Блок "except:" без указания типа теперь вызывает панику при перехвате "Defect". Для обработки рекомендуется использовать "except Exception:" или "except Defect:". Для миграции предусмотрен флаг "--legacy:noPanicOnExcept".
  • С флагом "-d:nimPreviewCStringComparisons" операторы сравнения ({, >, {=, >=) для "cstring" переключены с семантики ссылок на семантику значений, аналогично "==" и "!=".
  • Модуль std/parsesql вынесен в отдельный nimble-пакет; для установки требуется "nimble install parsesql" или использование менеджера atlas.
  • С флагом "-d:nimPreviewDuplicateModuleError" импорт двух модулей с одинаковым именем становится ошибкой компиляции. Для разрешения коллизий рекомендуется использовать алиасы: "import foo as foo1".
  • Добавлена опция "--mangle:nim|cpp" для выбора стиля манглинга имён при включённой отладочной информации (по умолчанию - cpp).
  • Второй параметр функций succ, pred, inc, dec в модуле system теперь принимает тип "SomeInteger" вместо "Ordinal".
  • Операторы битовых сдвигов (shl, shr, ashr) применяют битовую маску к правому операнду в бэкендах C/C++/VM/JS.
  • Добавлено предупреждение "--warning:ImplicitRangeConversion", обнаруживающее потенциально опасные неявные преобразования к диапазонам меньшего размера (например, int -> range[0..255]), способные вызвать панику времени выполнения.

Нововведения в стандартной библиотеке:

  • В модуль "setutils" добавлены функции "symmetricDifference", оператор "-+-" и инлайн-версия "toggle" для эффективного вычисления симметрической разности битовых множеств.
  • В "strutils.multiReplace" добавлена перегрузка для замены символов из набора за один проход - полезно для санитизации строк.
  • В модуль std/files добавлены процедуры с поддержкой типа Path: getFilePermissions, setFilePermissions, tryRemoveFile, copyFile (с настраиваемым буфером и обработкой ссылок), copyFileWithPermissions, copyFileToDir. Экспортированы типы CopyFlag и FilePermission для тонкого контроля операций с файлами.
  • Модуль std/dirs получил новые процедуры: copyDir и copyDirWithPermissions для рекурсивного копирования каталогов с сохранением атрибутов.
  • В бэкендах refc, JS и VM реализована поддержка функции "system.setLenUninit" для типа "string", позволяющей изменять длину строки без инициализации новой памяти при расширении.
  • В std/parseopt добавлена поддержка нескольких режимов парсинга аргументов командной строки через перечисление CliMode: Nim (по умолчанию), а также экспериментальные Lax и Gnu.
  • В std/math оператор "^" теперь поддерживает вещественные числа в качестве показателя степени.
  • Функции min, max и их аналоги из sequtils для openArray теперь принимают пользовательскую функцию сравнения.
  • Оптимизирована реализация system.substr: при наличии используется copymem (обёртка над C memcpy).
  • Функция system.newStringUninit помечена как свободная от побочных эффектов, что позволяет использовать её с флагом "--experimental:strictFuncs".

Инструменты и документация:

  • В генератор документации добавлен флаг "--raw" для отключения рендеринга разметки в JSON-выводе.
  • Добавлен флаг "--stdinfile" для задания имени файла при запуске кода из stdin (по умолчанию - stdinfile.nim).
  • Флаг "--styleCheck:warning" позволяет трактовать нарушения стилевых проверок как предупреждения, а не ошибки.
  • В руководство добавлена документация по прагме completeStruct.

Исправлено более 30 ошибок, в том числе:

  • Ошибки работы new с ref object и генерации кода для кортежей в массивах;
  • Проблемы с обработкой static-параметров и typedesc;
  • Регрессии в системах управления памятью ORC/refc, включая выравнивание объектов и избыточные вызовы nimZeroMem;
  • Ошибки парсинга в parseopt, parsecfg и генерации кода для бэкенда JavaScript;
  • Утечки и падения при использовании замыканий, итераторов и больших объектов.


  1. Главная ссылка к новости (https://nim-lang.org/blog/2026...)
  2. OpenNews: Выпуск языка программирования Nim 2.2.8
  3. OpenNews: В языке Nim представлен YRC - потокобезопасный сборщик циклических ссылок
  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/65282-nim
Ключевые слова: nim
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (82) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:53, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучший ЯП стал еще лучше!
     
  • 1.2, aname (ok), 09:54, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А это безопасный язык?
     
     
  • 2.4, A.Stahl (ok), 09:58, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +25 +/
    Ну я не слышал чтобы он на кого-то напал или взорвался. Вполне безопасный, скорее всего.
     
     
  • 3.18, небесный ученый (?), 11:13, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    правительство скрывает это от вас
     

  • 1.3, Аноним (3), 09:56, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >'=='*

    А более читаемо для обычных смертных нельзя было сделать? Или этот язык под ИИ заточен, а не под человеков?

     
     
  • 2.5, A.Stahl (ok), 09:59, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Мне кажется это перегрузка оператора ==. Так что кавычки тут вполне ок.
     
  • 2.8, Аноним (8), 10:10, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Человекам не мешало бы понимать, что представления о правильности синтаксиса, усвоенные из одного языка, бессмысленно тащить в другой язык.
     
     
  • 3.10, Аноним (10), 10:16, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не о правильности, а о читаемости речь.
     
     
  • 4.43, Аноним (8), 18:23, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    just a matter of skills
     
     
  • 5.62, Аноним (62), 06:21, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тратить время на изучение такого, даже не стоит.
     
  • 5.78, Аноним (10), 19:58, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, как сношение в гамаке стоя.
     
  • 2.13, Аноним (13), 10:20, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ИИ для простых людей уже мертво. Посмотри какие нынче цены. С 20 долларами ты уже особо ничего не накодишь.
     
     
  • 3.63, Аноним (62), 06:22, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    copilot вообще бесплатный, я его эксплуатирую по всякому бессовестно.
     
  • 2.15, Аноним (15), 10:24, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нужно больше закорючек.
     
  • 2.38, Мемоним (?), 17:21, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мне ИИ доказывал что ему наоборот такие криптические выражения труднее понимать. Типа если создавать ЯП именно для ИИ лучше использовать обычные целые слова, как в Паскале.
     

  • 1.6, Аноним (6), 10:04, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Чем он лучше TypeScript?
     
     
  • 2.9, Аноним (8), 10:11, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Тем, что он не TypeScript.
     
  • 2.12, Аноним (13), 10:19, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты бы еще с турбопаскалем сравнил
     
     
  • 3.16, анонимс (?), 10:28, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Паскаль суперский. В одном ряду с C и в чём-то наподобие модулей превосходит его.
     
     
  • 4.21, Аноним (21), 11:38, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > В одном ряду с C и в чём-то наподобие модулей превосходит его.

    В плане модулей он и C++ превосходит.

     
     
  • 5.26, Смузихлеб забывший пароль (?), 13:16, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    В плане осей колёс телега превосходит грузовик. Точнее, в плане смазывания их дёгтем
     
  • 4.41, Аноним (41), 18:14, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Во как пасквилисты к сишникам примазались. Тем, что рядом садятся.
     
     
  • 5.46, Аноним (8), 19:46, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Они рядом садятся, а тебя мокрыми тряпками гонят. Завидуй молча.
     
     
  • 6.53, Аноним (41), 22:46, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да замем кого-то гнать, пусть садятся, рядом свобоных очков много.
     

  • 1.17, Аноним (17), 11:02, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эх, если бы тот же python изначально запилили таким образом, тогда не было таких проблем с производительностью. Но как говорится, задним числом мы все умные. А так, по сути неплохая была бы замена-альтергатива для python, но увы сообщество очень небольшое.

    Поглядим, что там будет дальше, кроме того непонятно что там будет в nim 3 со стратегией управления памятью, или добавят что-то новое, или что-то просто выкинут. В общем в продакшен с таким подходом он явно никогда не попадет.

     
     
  • 2.20, Аноним (20), 11:33, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >В общем в продакшен с таким подходом он явно никогда не попадет.

    Т.е. <<продакшн>> для тебя это что-то устаревшее и неизменное?

     
     
  • 3.47, Аноним (8), 19:47, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для тебя <<продакшн>> - это площадка для эвспериментов?
     
     
  • 4.60, Анонимный татарин (?), 01:34, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для меня продакшн — это не пальцы а нос пихать
     
  • 2.22, Аноним (21), 11:43, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Эх, если бы тот же python изначально запилили таким образом, тогда не было таких проблем с производительностью.

    Каким "таким" образом? Игрушечной поделкой без конкретной цели существования, где в каждом минорном релизе ломается обратная совметимость (вон список в новости) и каждые N лет половина синтаксиса переизобретается с нуля? Нет уж, спасибо...

    А жаловаться про якобы "проблемы с производительностью" в СКРИПТОВОМ языке - это вообще специальная олимпиада.

     
     
  • 3.50, Аноним (50), 21:54, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >А жаловаться про якобы "проблемы с производительностью" в СКРИПТОВОМ языке - это вообще специальная олимпиада.

    v8, luajit, разные реализации lisp-а почему-то производительны даже не смотря на интерпретируемость и динамическую типизацию. Не подскажите почему?

     
     
  • 4.56, Сладкая булочка (?), 23:09, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > v8, luajit,
    > почему-то производительны даже не смотря на интерпретируемость
    > jit
    > интерпретируемость

    Ничего не смущает?

     
     
  • 5.72, Аноним (50), 15:47, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно смущает: что в гвидобейсик за все эти миллионные вливания до сих пор не добавили jit.
     
     
  • 6.90, мшефд (?), 13:06, 29/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ковыряют JIT с версии 3.13
     
  • 4.57, Аноним (21), 23:14, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > v8, luajit, разные реализации lisp-а почему-то производительны даже не смотря на интерпретируемость и динамическую типизацию. Не подскажите почему?

    Потому что JIT.

     
     
  • 5.68, Аноним (68), 10:04, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А в питоний jit не завезли еще? Кажись базары какие-то были, или дальше бла-бла не пошло?
     
  • 3.58, Сладкая булочка (?), 23:25, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А жаловаться про якобы "проблемы с производительностью" в СКРИПТОВОМ языке - это вообще специальная олимпиада.

    Что такое скриптовый язык? Типы указывать не надо? Ну дык есть быстрые реализации.

     
  • 2.30, Гуманоид (?), 14:40, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Производительность программы обратно пропорциональна производительности человека при ее создании.
     
  • 2.51, Аноним (50), 21:59, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Эх, если бы тот же python изначально запилили таким образом

    Эх, если бы python так и остался никому неизвестной поделкой, как было бы хорошо.
    >А так, по сути неплохая была бы замена-альтергатива для python, но увы сообщество очень небольшое.

    Замена, с необходимостью считать ссылки.
    >непонятно что там будет в nim 3 со стратегией управления памятью

    Большинство языков повторяют судьбу крестов, когда сложность языка растёт бесконтрольно, настолько, что полностью овладеть языком становится практически невозможно.

     
     
  • 3.61, _ (??), 05:29, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Эх, если бы python так и остался никому неизвестной поделкой, как было бы хорошо.

    Кстате - не факт! Ну писали бы сейчас то что на пионе - на каком нибудь perl или ruby ... в таком разрезе может лучше уж питон? ;-)

     
     
  • 4.73, Аноним (50), 15:53, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >на каком нибудь perl или ruby

    Два языка без управляющих пробелов. Как минимум одна проблема была бы решена. Это не говоря уже про то, что ruby ООП язык, а не как python, где процедурность намешана с ООП.
    >в таком разрезе может лучше уж питон? ;-)

    Зачем лично вам питон, какую именно проблему вы им хотите решить? Это уже не говоря про то, что подобных языков очень много, но они оказываются в тени известных, даже если по какому-то параметру и лучше.

     
     
  • 5.79, Аноним (10), 20:02, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В чём проблема управляющих пробелов? У хацкеров попоболь, что нельзя код в одну строку запихнуть? Так это замечательно, хоть код читать можно.
     
     
  • 6.82, Аноним (50), 10:40, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >В чём проблема управляющих пробелов?

    В том, что набивать их придётся руками.
    >У хацкеров попоболь, что нельзя код в одну строку запихнуть? Так это замечательно, хоть код читать можно.

    Автоформатирование изобретено. Кроме того, в крупных проектах обычно есть инстумент для формтирования, для того, чтобы код выглядел единообразно, а не десятком разных стилей.

     
     
  • 7.85, Аноним (85), 13:06, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если автоформатирование изобретено, то на кой ляд пробелы набивать руками? Сделать indent после двоеточия - ума много не надо, с этим любой блокнот справится.
     
     
  • 8.87, Аноним (87), 00:06, 28/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Поскольку редактор не знает, где пробелы нужны, а где нет При малейшем переписы... текст свёрнут, показать
     
  • 3.69, Аноним (68), 10:05, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А почему так усложняется? Из-за сахарка синтаксического?
     

  • 1.19, Аноним (20), 11:31, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >документация по прагме completeStruct.

    <<Прагма>> чо за модное слово?

     
     
  • 2.25, анм (?), 13:05, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Игорь такая вышла, прагмата
    Вот и отсылки пихают куда ни попадя
     
  • 2.28, Axonic (ok), 13:53, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    «Прагма» — это просто «директива для компилятора». Слово пришло из греческого «πρᾶγμα» — «дело», «действие» — и в программировании означает указание компилятору, как обрабатывать код, не меняя саму семантику программы.
     
  • 2.29, Axonic (ok), 13:55, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Исторически термин пришёл из Ada и ALGOL, где «pragma» означало прагматическую информацию — то есть сведения, которые нужны компилятору, но не являются частью языка как такового.
    Позже это перекочевало в C/C++ (#pragma), а затем и в другие языки.

    В Nim «pragma» — это атрибут, который:
        добавляет метаданные к типам, функциям, структурам;
        управляет генерацией кода;
        включает/выключает особенности компиляции;
        может быть встроенной (.inline., .deprecated., .exportc.) или пользовательской.

    Pragma в Nim — это реализует тот же механизм: указание компилятолру, встроенное прямо в код.

     
     
  • 3.44, Аноним (44), 19:29, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо чатгпт
     

  • 1.23, Аноним (23), 12:17, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужна нужна "родная" графика "из коробки", как в Thinter в Pynhon. Чтобы без танцев с бубном при подключении сторонних графических инструментов. Тогда может выстрелить. Ну у автора амбиции, хочет влезть в нишу языка системного программирования. А туда уже Rust прёт как танк. Да и Си уже там, совершенствуется и покидать её не собирается.
     
     
  • 2.27, Axonic (ok), 13:50, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть нормальный кроссплатформенный github.com/simonkrauter/NiGui
    Разрабатывается своя универсальная кроссплатформа: github.com/nim-lang/uirelays

    Имеются обёртки ко всем тулкитам. В частности: github.com/Balans097/libQt

     
  • 2.31, Аноним (31), 15:19, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Нужна нужна "родная" графика "из коробки"

    Наркоман. В приличные языки графику из коробки не суют. Попроси разработчиков Qt и GTK чтобы написали привязку к языку Nim.

     
     
  • 3.70, Аноним (23), 14:21, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а вот имею желание неприличное, ничего не поделаешь, зов природы
     
     
  • 4.76, Аноним (50), 16:57, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В чём проблема поставить ещё один пакет с графикой?
     
  • 2.42, Аноним (41), 18:21, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Thinter" совсем неродной для Python, он на TCL.
     

  • 1.34, Сладкая булочка (?), 17:04, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Маргинальный язык. Автор вместо стабилизации все пишет и пишет, играется. Будущего нет. Чисто эксперимент.
     
  • 1.35, Сладкая булочка (?), 17:05, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > https://github.com/nim-lang/Nim/issues?q=is%3Aissue%20state%3Ao

    154 бага на проблемы с памятью, некоторые висят по много лет. Автору норм. Он пишет новую версию.

     
     
  • 2.36, Axonic (ok), 17:18, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ...из которых 142 неактуальны или исправлены и 12 открыты.
     
     
  • 3.39, Сладкая булочка (?), 18:06, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > ...из которых 142 неактуальны или исправлены и 12 открыты.

    Ну да. А что бы не закрыть тогда? В issues бардак.

    Вот к примеру уже год https://github.com/nim-lang/Nim/issues/25037 явно не исправлена.

     

  • 1.37, Аноним (37), 17:20, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Интересный по списку фич язык, но что-то в нём такое отталкивающие... Возможно, дело в нескрываемом душке паскаля.
     
     
  • 2.71, Аноним (23), 14:29, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Единственный неприятный душок у Паскаля это везде лезущие BEGIN END. Убийственная ошибка Вирта. В Ним этот синтаксический мусор наоборот исключен отступами, как в Питоне.
     
     
  • 3.74, Аноним (37), 16:47, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Единственный неприятный душок у Паскаля это везде лезущие BEGIN END.

    Не только. Регистронезависимость идентификаторов и игнорирование знаков '_' в именах.

     
     
  • 4.80, Аноним (10), 20:06, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Регистронезависимость это как раз прекрасно. Шаг к людям, а не к машине.
     
     
  • 5.86, Аноним (86), 14:58, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы посмотрел на код, компилирующийся только с турецкой локалью :)
     

  • 1.45, Аноним (44), 19:34, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    https://github.com/zedeus/nitter/discussions/1212#discussioncomment-12081572

    "Nim is pretty much a dead language at this point, I've lost faith in it after having used it for 6 years. Go is a much better fit, and it's way more likely to attract future contributors."

     
     
  • 2.66, Axonic (ok), 07:20, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ...и из 34 репозиториев автора на GitHub — 27 на Nim, 1 на Go.
     
     
  • 3.89, Аноним (89), 04:03, 28/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И все, кроме nitter - никому не нужны. См. звёзды.
     

  • 1.48, Аноним (48), 20:18, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Язык компилируется в ... JavaScript, обеспечивая производительность на уровне C

    Поздравляю адептов Си, оказаться на одном уровне с JS - это успех!

     
     
  • 2.54, Сладкая булочка (?), 23:06, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Он компилируется в жс, чтобы под браузер писать.
     

  • 1.49, Аноним (49), 21:27, 25/04/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.52, Аноним (52), 22:42, 25/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Абракадабра в стиле раста
     
     
  • 2.55, Сладкая булочка (?), 23:07, 25/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя бы на входе отсеивает неосиляторов отступов.
     
     
  • 3.59, Аноним (59), 00:06, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У Brainfuck отбор строже
     
  • 3.75, Аноним (50), 16:57, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ручных набивателей отступов.
     

  • 1.64, Аноним (62), 06:24, 26/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вы меня извините пожалуйста, это конечно мое личное мнение, но вдохновляться Python для написания нового языка это дурной вкус.
     
     
  • 2.67, Axonic (ok), 07:23, 26/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    От Питона там лишь отступы и простота синтаксиса. Остальное больше от Си (производительность) и Лиспа (макропрограммирование через модификацию AST).
     

  • 1.77, Аноним (77), 17:48, 26/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пестоновские отступы - самое тynoе, что мог запилить узколобый автор.
     
     
  • 2.81, Аноним (81), 10:09, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да чем Вам отступы помешали? Наглядный аккуратный код.
     
     
  • 3.83, Аноним (50), 10:41, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Автоформатирование изобретно. А с ним - любой код аккуратный.
     
     
  • 4.84, жыжа (?), 12:37, 27/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме PHP, потому что

    Editor -> Code Style -> PHP

    PEAR
    Zend
    Symfony2
    PSR1/PSR2
    CodeIgniter
    Laravel
    PSR12
    Joomla!
    Drupal
    WordPress

    И удачи потом понять где что должно висеть и в каких кавычках

     
     
  • 5.88, Аноним (87), 00:11, 28/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если вам так трудно выбрать, сгенерируйте случайное число. И да, у условного си их тоже не мало. https://en.wikipedia.org/wiki/Indentation_style
     

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



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

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