Автор: Белева Людмила Федоровна
Должность: Преподаватель
Город/Населенный пункт: Республика Коми, г. Сыктывкар
Дата публикации: 12.03.2020
Язык программирования Julia
Julia ‒ это новый язык программирования, который разрабатывается для создания технических приложений. На ранних стадиях Julia использовалась в таких приложениях, как анализ изображений и для исследований в области линейной алгебры.
Язык является детищем разработчиков: Стефана Карпински, Джеффа Безансона и Вирала Шаха.
Julia был создан как динамический язык, обеспечивающий относительную простоту написания кода и реализующий очень простую модель программирования.
Язык Julia работает с данными быстрее, чем Python, JavaScript, MATLAB, R, и незначительно уступает в производительности Go, Lua, Fortran и Си.
Язык Julia разработан для облаков и параллельного программирования.
В декабре 2011 года Стефан Бойер предложил идею графической реализации языка, которая поможет математикам и другим учёным, не обладающими навыками программирования и работы в UNIX-средах. Клиентская часть, реализующая, в том числе и графический интерфейс, и платформу для построения графиков, может быть реализована при помощи таких современных технологий как HTML5, SVG и AJAX.
Как установить Julia
Для ОС Windows скачайте инсталлятор julia-1.y.y-winxx.exe последней версии по ссылке http://julialang.org/downloads/. Запустите его для установки Julia на компьютере.
Запустите файл julia.exe, откроется интерактивная оболочка исполнения команд REPL(read-eval-print loop). Она позволяет вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю.
Такая оболочка очень удобна при изучении языка и тестировании кода, так как предоставляет пользователю быструю обратную связь.
Jupyter Notebook предлагает командную оболочку для интерактивных вычислений. Приложение Jupyter Notebook может взаимодействовать со многими языками программирования (Python, Julia, R, Haskell и Ruby) и часто используется для работы с данными, статистического моделирования и машинного обучения.
Jupyter позволяет создавать документы, объединяющие код и текст (абзацы, уравнения, цифры, ссылки и т.д.), которые помогают в представлении воспроизводимых исследований.
Для установки интерактивной среды Jupyter выполните команды:
julia> using Pkg
julia> Pkg.add(“IJulia”)
и подождите, пока менеджер пакетов установит ядро Julia для Jupyter.
Для запуска выполните команды:
julia> using IJulia
julia> IJulia.notebook()
При первом запуске менеджер установит на компьютер Python и сам Jupyter.
Для создания блокнота выполните:
- New
- Выбор языка программирования
- Run.
Начни программировать прямо сейчас:
Задача 1. Написать программу Fizz buzz.
Fizz buzz -это групповая детская игра для обучения правилам деления.
Начинающий произносит число "1", и каждый следующий игрок прибавляет к предыдущему значению единицу. Когда число делится на три оно заменяется на fizz, если число делится на пять, то произносится buzz. Числа, делящиеся на три и пять одновременно заменяются на fizz buzz.
Партия в fizz buzz выглядит так:
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, Fizz Buzz, 31, 32, Fizz, 34, Buzz, Fizz, .. |
for i in 1:100 if i % 15 == 0 println("FizzBuzz") elseif i % 3 == 0 println("Fizz") elseif i % 5 == 0 println("Buzz") else println(i) end end
|
|
Задача 2. Создать таблицу умножения, используя итерационные функции для
создания матрицы.
Ключевыми функциями для использования здесь являются:
- Base.product, который вычисляет декартово произведение
- prod, который вычисляет регулярное произведение
- : , который создает диапазон
- map, которая является функцией более высокого порядка, применяющей функцию к каждому элементу коллекции
julia> map(prod, Base.product(1:10, 1:10))
|
|
Литература:
- Julia: A fast dynamic language for technical computing. Jeff Bezanson,
Stefan Karpinski, Viral B. Shah, Alan Edelman (2012),
2. https://riptutorial.com/ru/julia-lang/example/
3. http://arxiv.org/abs/1209.5145