Релиз языка программирования Nim 2.0
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
Представлен релиз языка системного программирования Nim 2.0. Язык Nim ориентирован на решение задач системного программирования, использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++, Objective-C или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT.
Среди изменений в новом выпуске:
- По умолчанию задействован сборщик мусора ORC, который использует тот же алгоритм подсчёта ссылок на объекты, что и сборщик мусора ARC, но дополнительно поддерживает обработчик циклов, позволяющий использовать ARC с реализацией механизма async в стандартной библиотеке.
- Улучшена распаковка кортежей и добавлена возможность вложенной распаковки:
proc returnsNestedTuple(): (int, (int, int), int, int) = (4, (5, 7), 2, 3)
let (x, (_, y), _, z) = returnsNestedTuple()
- Добавлена возможность нисходящего вывода типов:
let foo: seq[(float, byte, cstring)] = @[(1, 2, "abc")]
- Добавлена прагма .forbids для определения запрещённых тегов.
- В стандартной библиотеке модуль "os" разделён на несколько отдельных модулей: std/oserrors, std/envvars, std/paths, std/dirs, std/files, std/symlinks, std/appdirs и std/cmdline.
- Стабилизирована поддержка перегрузки перечисляемых типов (enum).
- Для объектов предоставлена возможность определения значений полей по умолчанию.
type
Rational* = object
num: int = 0
den: int = 1
- Бэкенд для генерации кода JavaScript переведён на использование типа BigInt для 64-разрядных целых типов (int64 и uint64).
- Улучшена переносимость с кодом на языке C++.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://nim-lang.org/blog/2023...)
- OpenNews: В openSUSE обеспечена полная поддержка языка программирования Nim
- OpenNews: Релиз языка программирования Nim 1.6.0
- OpenNews: Создатель LLVM развивает новый язык программирования Mojo
- OpenNews: В языке программирования Zig обеспечена поддержка самораскрутки (bootstraping)
- OpenNews: Доступен язык программирования Julia 1.9
Похожие новости:
- В openSUSE обеспечена полная поддержка языка программирования Nim
- Релиз языка программирования Nim 1.6.0
- [Веб-дизайн, Разработка веб-сайтов, JavaScript, Программирование] Лёгкая, гибкая, производительная обёртка над Web Animations API — @okikio/animate (перевод)
- [Работа с 3D-графикой, Компьютерная анимация, Физика] Программа для physics-based анимации персонажей Cascadeur вышла в ранний доступ
- Выпуск OpenToonz 1.5, открытого пакета для создания 2D-анимации
- [Разработка под iOS, Разработка мобильных приложений, Интерфейсы, Swift] Настало время офигительных историй. Кастомные транзишены в iOS. [2/2]
- [IT-компании] Минюст США обеспокоен монополией на аниме: Sony покупает Crunchyroll
- [Python, Программирование] Ускоряем код на Python с помощью Nim (перевод)
- [Unity] Подводные камни — Анимация травы (Unity3d)
- [Разработка игр, Дизайн игр] Наши попытки процедурной анимации движения персонажа
Теги для поиска: #_nim
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 05:56
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
Представлен релиз языка системного программирования Nim 2.0. Язык Nim ориентирован на решение задач системного программирования, использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++, Objective-C или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT. Среди изменений в новом выпуске:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 05:56
Часовой пояс: UTC + 5