Nim
Nim | |
---|---|
Парадигма | імперативне програмування, процедурне програмування, конкурентні обчислення, функційне програмування, об'єктно-орієнтоване програмування, Шаблонне метапрограмування[d] і метапрограмування |
Дата появи | 2008 |
Творці | Andreas Rumpf |
Останній реліз | |
Система типізації |
! dialects = |
Під впливом від | Modula-3d, Object Pascal, Ада, C++, Python, LISP, Оберон і C Sharp |
Мова реалізації | Nim[3] |
Платформа | IA-32, x86-64 |
Операційна система | кросплатформова програма |
Ліцензія | MIT[4][5] |
Звичайні розширення файлів | .nim |
Репозиторій вихідного коду | github.com/nim-lang/Nim |
Вебсайт | nim-lang.org |
Nim (раніше — Nimrod) — системна мова програмування, націлена на забезпечення високої продуктивності, переносності та виразності коду. Мова використовує статичну типізацію і створена з використанням досвіду Pascal, C++, Python і Lisp. Код проекту поставляється під ліцензією MIT. Крім того, мову супроводжує пакетний менеджер nimble для поширення модулів на мові Nim.
Початковий код мовою Nim компілюється в представлення на C, C++ або JavaScript. Надалі отриманий C/C++ код компілюється у виконуваний файл за допомогою будь-якого доступного компілятора (clang, gcc, icc, Visual C++), що дозволяє домогтися продуктивності близькою до C, якщо не враховувати витрати на виконання збирача сміття. За аналогією з Python у Nim як розподільники блоків застосовуються відступи. Регістр написання символів у ідентифікаторах не враховується. Підтримуються засоби метапрограмування і можливості для створення предметно-орієнтованих мов (DSL).
- ↑ Nim by example. GitHub. Архів оригіналу за 1 вересня 2017. Процитовано 20 липня 2014.
- ↑ Караджов, Захари; Станимиров, Борислав (2014). Метапрограмиране с Nimrod. VarnaConf (Bulgarian) . Архів оригіналу за 26 вересня 2018. Процитовано 27 липня 2014.
- ↑ http://github.com/nim-lang/nim
- ↑ FAQ. Nim-lang.org. Архів оригіналу за 11 липня 2017. Процитовано 27 березня 2015.
- ↑ copying.txt. GitHub. Архів оригіналу за 26 вересня 2018. Процитовано 27 березня 2015.
- Офіційний сайт
- Nim на GitHub
- Information about Nim on Stack Overflow
- Nimble [Архівовано 9 травня 2017 у Wayback Machine.]
- c2nim [Архівовано 11 червня 2018 у Wayback Machine.]