Программы Julia
В то время как интерактивные выражения – это быстрый способ попробовать что-то в REPL и просмотреть результаты, реальные приложения требуют выполнения больших фрагментов кода. В Julia вы вводите весь программный код в обычный текстовой файл с расширением .jl. Запустите любой текстовый редактор на ваш вкус и введите следующий код в файл:
msg="Hello, World!"
println(msg)
Сохраните файл как example.jl в папке, где развернута Julia (только лишь для удобства, чтобы не указывать полный путь к файлу в команде). Запустите julia. Затем в командной строке julia вызовите команду, указанную ниже, и вы должны увидеть вывод:
julia> include("example.jl")
Hello, World!
Другой способ запустить программу Julia – запустить ее из командной строки терминала операционной системы. Откройте терминал в папке где развернута Julia (опять же лишь для удобства, чтобы не указывать полный путь к файлу в команде), наберите julia example.jl и нажмите Enter и вы снова должны увидеть вывод:
[vadim@void-linux julia-1.9.0]$ julia example.jl
Hello, World!
[vadim@void-linux julia-1.9.0]$
Программа: в первой строке мы создали переменную msg и присвоили ей текстовое значение, во второй строке функция println() выводит ее значение в поток вывода по умолчанию.
Вы можете определить глобальный (для всех пользователей компьютера) и локальный (для одного пользователя) файл программы Julia, который будет выполняться при любом запуске Julia, где могут быть определены функции или переменные, которые всегда должны быть доступны. Расположение этих двух файлов следующее:
● Глобальный файл Julia: [JULIA_INSTALL_FOLDER]\etc\julia\startup.jl (где JULIA_INSTALL_FOLDER – каталог, где установлена Julia)
● Локальный файл Julia: [USER_HOME_FOLDER]\.julia\config\startup.jl (где USER_HOME_FOLDER – домашний каталог локального пользователя, например %HOMEPATH% в Windows и ~ в Linux)
Обратите внимание, что локальный каталог конфигурации может не существовать. В этом случае вы можете просто создать отсутствующие каталоги и файл своими руками.
Дополнительные инструменты
Работа с кодом в обычном текстовом редакторе это конечно вопрос вкуса. Существует множество различных инструментов, созданных с целью облегчить и ускорить процесс работы в области программирования. Ниже приведен пример самых популярных в сообществе инструментов, которые регулярно обновляются, являются бесплатными, а также поддерживаются самими разработчиками языка программирования Julia.
Visual Studio Code
Visual Studio Code (сокращенно VS Code) – это мощный текстовой редактор исходного кода. Его отличительные особенности ниже:
● Подсветка синтаксиса и технология умного автодополнения.
● Отладка кода прямо в редакторе.
● Инструменты для работы с Git.
● Очень широкие возможности кастомизации.
Начните работу здесь: https://www.julia-vscode.org
Jupyter
JupyterLab и Jupyter Notebook – это веб приложения позволяющие работать с Julia и другими языками программирования через браузер. По сути, такие приложения представляют собой онлайн блокноты с дополнительными функциями. Некоторые из особенностей Jupyter:
● Блокнотами можно делиться с другими с помощью электронной почты, Dropbox, GitHub и Jupyter Notebook Viewer.
● Ваш код может создавать богатый интерактивный вывод: HTML, изображения, видео, LaTeX и пользовательские типы MIME.
● Централизованное развертывание
Pluto.jl
Pluto – это другой блокнот, созданный специально для работы с языком программирования Julia. Блокнот Pluto состоит из небольших блоков кода Julia (ячеек), и вместе они образуют реактивный блокнот. Когда вы меняете переменную, Pluto автоматически перезапускает ячейки, которые на нее ссылаются. Ячейки можно размещать в произвольном порядке – интеллектуальный синтаксический анализ определяет зависимости между ними и позаботится о выполнении. Некоторые отличительные черты Pluto:
● Реактивность – при изменении функции или переменной Pluto автоматически обновляет все затронутые ячейки.
● Pluto написан на Julia и прост в установке.
● Прост в использовании.
Пакеты в Julia
Julia имеет модульную конструкцию – компактное ядро, функциональность которого расширяется внешними «пакетами». Дистрибутив Julia поставляется с небольшим набором этих пакетов, называемым «стандартной библиотекой», и мощным менеджером пакетов, который может загружать пакеты, предварительно компилировать, обновлять и разрешать зависимости, и все это с помощью нескольких простых команд.
В то время как зарегистрированные пакеты можно установить, просто используя их имя, для незарегистрированных пакетов необходимо указать их исходное местоположение. На момент написания этого текста было опубликовано более 9000 зарегистрированных пакетов. Знание того, как работают пакеты, крайне необходимо для эффективной работы в Julia, и именно поэтому управление пакетами представлено в начале руководства.
Использование диспетчера пакетов
Есть два способа получить доступ к функциям управления пакетами, в интерактивном режиме или через API из кода программы Julia:
● 1.Интерактивный способ – ввести ] в консоли REPL, чтобы войти в «особый» режим pkg. Приглашение изменится с julia> на (vX.Y) pkg>, где vX.Y – версия активной среды Julia. Затем вы можете запустить любые команды диспетчера пакетов или вернуться в обычный режим интерпретатора с помощью комбинации клавиш CTRL-C или клавиши BACKSPACE в начале строки.
● 2.Способ API заключается в том, чтобы импортировать модуль Pkg в код программы (using Pkg), а затем выполнить команду Pkg.<команда менеджера пакетов>(<аргументы команды>). Очевидно, ничто не мешает вам использовать подход API и в интерактивном сеансе, но в специальном пакетном режиме есть автозавершение и другие полезные функции, которые делают его более удобным в использовании.
Обратите внимание, что два интерфейса не на 100 % совместимы, а интерфейс API несколько более строгий.
Некоторые из полезных команд диспетчера пакетов:
● status: Извлекает список (имя и версию) локально установленных пакетов.