Перейти к основному содержимому

5.21. Первая программа

Разработчику Архитектору Инженеру

Первая программа

Подготовка рабочего окружения

Шаг 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:

  1. Откройте VS Code.
  2. Перейдите в раздел Extensions (Ctrl+Shift+X).
  3. В поиске введите «Nim».
  4. Установите расширение с иконкой в виде зелёного треугольника и подписью «Nim by Pragmagic».
  5. После установки перезапустите редактор.

Расширение автоматически обнаружит установленный компилятор 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. Программа запросит имя и выведет персонализированное сообщение.