Первая программа на Nim
Первая программа на Nim
Подготовка рабочего окружения
Шаг 1: Установка компилятора Nim
Для написания и запуска программ на Nim требуется компилятор. Официальный сайт языка — https://nim-lang.org. На главной странице доступна кнопка Download, ведущая к странице загрузки.
Выберите операционную систему:
- Windows: рекомендуется использовать установщик
.exeили архив.zip. Установщик автоматически добавит Nim в переменную PATH, что упрощает вызов компилятора из командной строки. - macOS: можно установить через Homebrew командой
brew install nim. - Linux: большинство дистрибутивов содержат Nim в своих репозиториях. Например, в Ubuntu или Debian достаточно выполнить
sudo apt install nim. Альтернативно — использовать официальный скрипт установки с сайта.
После завершения установки откройте терминал (или командную строку в Windows) и введите:
nim --version
Если команда возвращает версию компилятора (например, Nim Compiler Version 2.0.0), значит, установка прошла успешно.
Шаг 2: Выбор текстового редактора или IDE
Nim не требует специализированной среды разработки. Программы на Nim можно писать в любом текстовом редакторе, поддерживающем подсветку синтаксиса. Однако для повышения продуктивности рекомендуется использовать один из следующих вариантов:
- Visual Studio Code с расширением Nim от Pragmagic. Это расширение обеспечивает подсветку синтаксиса, автодополнение, навигацию по коду и интеграцию с компилятором.
- Vim или Neovim с плагином nim.nvim или nim.vim.
- JetBrains IDE (IntelliJ IDEA, CLion и другие) с плагином Nim.
- Простой редактор, такой как Notepad++ (Windows) или Kate (Linux), если требуется минималистичный подход.
Для новичков оптимальным выбором будет Visual Studio Code благодаря простоте установки, бесплатности и широкой поддержке языков.
Установка расширения в VS Code:
- Откройте VS Code.
- Перейдите в раздел Extensions (Ctrl+Shift+X).
- В поиске введите «Nim».
- Установите расширение с иконкой в виде зелёного треугольника и подписью «Nim by Pragmagic».
- После установки перезапустите редактор.
Расширение автоматически обнаружит установленный компилятор Nim, если он доступен в PATH.
Создание первой программы
Шаг 3: Написание кода
Создайте новый файл с расширением .nim. Например, назовите его hello.nim.
Откройте файл в выбранном редакторе и введите следующий код:
echo "Hello, World!"
Это полная программа на Nim. Она состоит из одного оператора — вызова встроенной процедуры echo, которая выводит переданную строку в стандартный поток вывода (обычно терминал).
Особенности синтаксиса:
- Nim не требует объявления точки входа в программу, такой как
main()в C или Java. Выполнение начинается с первой исполняемой строки файла. - Строки заключаются в двойные кавычки.
- Точка с запятой в конце строки не обязательна.
- Отступы могут использоваться для структурирования кода, но в данном случае они не нужны, так как программа состоит из одной строки.
Сохраните файл.
Шаг 4: Компиляция и запуск
Откройте терминал в той же директории, где находится файл hello.nim.
Выполните команду:
nim c hello.nim
Флаг c означает «compile» — компиляция без немедленного запуска. Компилятор создаст исполняемый файл (в подкаталоге nimcache или в текущей директории, в зависимости от настроек) с именем hello (или hello.exe на Windows).
Чтобы сразу скомпилировать и запустить программу, используйте флаг r:
nim r hello.nim
Эта команда компилирует файл и немедленно запускает полученный исполняемый файл. В терминале появится строка:
Hello, World!
Если вы работаете в VS Code с установленным расширением Nim, можно использовать встроенную команду запуска:
- Нажмите
Ctrl+Shift+P. - Введите «Nim: Run file».
- Выберите эту опцию — редактор автоматически выполнит
nim rдля текущего файла.
Понимание процесса компиляции
Компилятор Nim преобразует исходный код в промежуточное представление, а затем — в C-код. По умолчанию Nim использует компилятор GCC или Clang для генерации машинного кода. Это означает, что на этапе компиляции Nim зависит от установленного C-компилятора в системе.
На Windows официальный установщик Nim включает в себя MinGW-w64, поэтому дополнительных действий не требуется. На Linux и macOS компилятор C обычно уже установлен (например, gcc или clang).
Компиляция в C даёт Nim несколько преимуществ:
- Высокая портируемость: программа, написанная на Nim, может быть скомпилирована практически на любой платформе, где есть C-компилятор.
- Лёгкая интеграция с существующим C-кодом.
- Возможность отладки на уровне C при необходимости.
Исполняемый файл, созданный Nim, не требует наличия интерпретатора или виртуальной машины. Он полностью автономен и может быть запущен на любой совместимой системе без дополнительных зависимостей.
Расширение первой программы
После успешного запуска «Hello, World!» можно добавить простые элементы взаимодействия. Например, запрос имени пользователя и персонализированный приветствие:
echo "Как тебя зовут?"
let name = readLine(stdin)
echo "Привет, ", name, "!"
Здесь:
readLine(stdin)считывает строку из стандартного ввода.letобъявляет неизменяемую переменнуюname.- Оператор
echoможет принимать несколько аргументов, которые будут выведены подряд.
Сохраните изменения и снова выполните nim r hello.nim. Программа запросит имя и выведет персонализированное сообщение.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). На сегодняшний день Nim остаётся нишевым, но зрелым языком, ориентированным на разработчиков, которые хотят полного контроля над своим кодом при сохранении высокого уровня абстракции. Его история —… Язык программирования Nim представляет собой статически типизированный, компилируемый и системный язык, сочетающий в себе высокую производительность, выразительность и удобство разработки. Он создан… Nim — это компилируемый язык, но его архитектура включает в себя фазу трансляции через промежуточное представление. Исходный код на Nim сначала преобразуется в абстрактное синтаксическое дерево… Типизация, набор правил определения типа данных значений языка. Nim поддерживает три ключевых способа объявления переменных — let — неизменяемая связь, значение присваивается один раз и не может быть изменено, var — изменяемая переменная, значение можно… В Nim функции объявляются с помощью ключевого слова proc, что является сокращением от procedure. Это слово используется как для процедур, так и для функций, поскольку в Nim нет принципиального…История языка Nim
Основы языка Nim
Архитектура компиляции и метапрограммирования
Типы данных и шаблоны
Управляющие конструкции и операторы Nim
Функции и макросы