Скачать книгу
Если нет возможности читать онлайн, скачайте книгу Julia. Язык программирования. Быстрый старт файлом для электронной книжки и читайте офлайн.
Вадим Никитин
Julia. Язык программирования. Быстрый старт
Начало работы
Для того, чтобы приступить к работе, вам необходимо загрузить и установить дистрибутив Julia для вашей операционной системы (Windows, macOS, Linux, FreeBSD), следуя инструкциям на сайте https://julialang.org/downloads/. Некоторые дистрибутивы Linux включают Julia в состав своих пакетов, но убедитесь, что вы устанавливаете актуальную версию.
Это руководство написано на основе версии Julia 1.9.0, которая является текущей выпущенной версией Julia. Концепции, описанные в книге, носят общий характер и применимы к более поздним версиям языка. Однако, возможно, что некоторые выходные данные более поздних версий Julia могут не соответствовать результатам и примерам, представленным в этой книге.
Самый простой способ изучать и экспериментировать с Julia это запустить интерактивный сеанс рабочей среды, дважды щелкнув на исполняемом файле Julia или запустить julia из командной строки:
Чтобы закончить интерактивный сеанс, используйте команду exit() или комбинацию клавиш CTRL + D.
Рабочая среда Julia
Рабочая среда Julia REPL (от англ. read-eval-print loop «цикл чтение вычисление вывод»), оболочка с полнофункциональной интерактивной командной строкой, встроенная в исполняемый файл julia. С помощью этой оболочки мы взаимодействуем с JIT-компилятором (англ. Just-in-Time, компиляция «точно в нужное время») для тестирования и запуска нашего кода, помимо этого доступна история команд с возможностью поиска, автодополнение с помощью табуляции, множество полезных привязок клавиш, а также специальные режимы справки и оболочки. REPL имеет пять режимов работы.
Основной режим
Это режим работы по умолчанию, каждая новая строка изначально начинается с приглашения julia>. Именно здесь вы можете вводить выражения Julia от простых до многострочных конструкций. Нажатие клавиши Return или Enter после ввода выражения запускает выполнение и вывод результата. Например:
julia> 2 + 2
4
julia> 5 * (5 1)
20
julia> 5/2
2.5
Или сообщения об ошибке если что то пошло не так:
julia> 5/"A"
ERROR: MethodError: no method matching /(::Int64, ::String)
Справочная система
Julia имеет встроенную справочную систему, которая извлекает информацию об использовании большинства функций непосредственно из исходного кода. Это справедливо и для большинства сторонних пакетов.
Для перехода в справочную систему Julia наберите ? (знак вопроса) в начале строки основного режима. Приглашение командной строки примет вид:
help?>
Julia попытается найти и отобразить справку или документацию для всего, что было введено в режиме справки. Если вы не помните точное название функции, Julia вернет список похожих функций. Хотя фактическое возвращаемое содержимое может различаться, вы можете ожидать увидеть следующую информацию для каждой запрашиваемой функции:
Написание
Однострочное описание
Список аргументов
Подсказки к аналогичным или связанным функциям
Один или несколько примеров использования
Список методов (для функций, которые имеют несколько реализаций)
Возврат в режим по умолчанию производится нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.
Дополнительно в дистрибутив Julia входит локальная копия официального сайта документации https://docs.julialang.org/en/v1/ расположенная:
[JULIA_INSTALL_FOLDER]/share/doc/julia/html/en (где JULIA_INSTALL_FOLDER каталог, куда установлен Julia)
Что позволяет использовать сайт документации в системах изолированных от интернета.
Менеджер пакетов
После установки Julia вы получите компилятор, который преобразует написанный вами код на Julia в версию, которую может выполнить ваш компьютер, а так же стандартную библиотеку (иногда называемую Base), которая содержит базовую функциональность, встроенную в среду. Сюда входят такие вещи, как массивы и списки, числа и строки, некоторые основы линейной алгебры и статистики и т.д. Но в большинстве случаев, скорее всего, вам может потребоваться расширить функционал, загрузив и запустив внешние библиотеки, которые в Julia называются пакетами. Для работы с ними используется Pkg встроенный менеджер пакетов Julia, который выполняет такие операции как: установка, обновление и удаление пакетов. Вход в него осуществляется нажатием клавиши ] в основном режиме. Приглашение командной строки примет вид:
(@v1.9) pkg>
Возврат в режим по умолчанию нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.
Системная оболочка
Режим позволяет использовать командную оболочку операционной системы для выполнения системных команд. Для перехода наберите ; (точка с запятой) в начале строки основного режима. Приглашение командной строки примет вид:
shell>
Возврат в режим по умолчанию нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.
Для пользователей Windows режим оболочки Julia не предоставляет команд оболочки windows напрямую, дополнительно необходимо задать командную оболочку PowerShell или cmd.exe.
PowerShell:
shell> powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\julia>
cmd.exe:
shell> cmd
Microsoft Windows [version 10.0.17763.973]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\julia>
Поиск по истории
Во всех вышеперечисленных режимах выполненные строки сохраняются в файл истории, по которому можно производить поиск. Чтобы инициировать инкрементный поиск по предыдущей истории, нажмите CTRL-R. Подсказка изменится на (reverse-i-search)`':. По мере ввода поисковый запрос будет появляться между символами `'. Самый последний результат, соответствующий запросу, будет динамически обновляться справа от двоеточия по мере набора текста. Чтобы найти более старый результат по тому же запросу, просто введите CTRL-R еще раз.
Так же как CTRL-R поиск по истории назад, CTRL-S поиск по истории вперед, с подсказкой (forward-i-search)`':. Эти две функции можно использовать в сочетании друг с другом для перехода к предыдущему или следующему результату поиска соответственно.
Все выполненные команды в REPL записываются в ~/.julia/logs/repl_history.jl вместе с меткой времени, когда они были выполнены, и текущим режимом REPL, в котором вы находились. Режим поиска запрашивает этот файл журнала, чтобы найти команды, которые вы выполняли ранее.
Программы 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]$