Julia
Что такое Julia
Julia – высокоуровневый язык, который разработан для научного программирования. Язык поддерживает широкий функционал для математических вычислений и работы с большими массивами данных. Это язык с динамической компиляцией, программы на Julia компилируются в быстрый нативный код для таких платформ, как Windows, macOS и Linux. Приложения на языке Julia работают так же быстро, как приложения, которые написаны на быстрых низкоуровневых языках, таких как C или C++. Синтаксически Julia похож на Python и MATLAB, но эти языки – интерпретируемые, поэтому приложения на Julia работают быстрее.
Работа над кодом Julia ведется в Juno – интегрированной среде разработки, которая является надстройкой над IDE Atom. Поскольку Juno рассчитана на работу с Julia, в интерфейсе рабочей среды технически реализованы возможности языка. Благодаря JIT-компиляции, разработчик может смотреть на вычисления определенных методов на ходу, а также следить за их компиляцией в машинный код. В Juno есть встроенная панель графиков, которая позволяет визуализировать функции Julia и даже анимировать графики с рендерингом в GIF. Поскольку Julia может работать с большими массивами данных, Juno поддерживает облачные вычисления и удаленный запуск на высокопроизводительных компьютерах.
Возможности Julia:
- использование LLVM для компиляции в машинный код;
- большое количество математических функций;
- множественная диспетчеризация;
- реализация параллельных вычислений;
- поддержка метапрограммирования;
- встроенный менеджер пакетов;
- взаимодействие с языками C, Python, R, а также поддержка их пакетов;
- поддержка интроспекции кода.
Где применяют Julia
- математические вычисления;
- анализ больших массивов данных;
- машинное обучение;
- веб-разработка благодаря таким фреймворкам, как Genie.
Преимущества вычислений на Julia
- высокоуровневый, простой синтаксис;
- Juno – IDE, которая хорошо раскрывает возможности языка;
- хорошая производительность, которая близка к низкоуровневым языкам;
- регулярные обновления языка;
- есть вспомогательная информация, переведенная на русский.
Недостатки вычислений на Julia
- малое количество специалистов;
- баги, которые могут возникать из-за проблем с совместимостью разных версий языка и пакетов-расширений, от чего в вычислениях возникают ошибки;
- приложения на Julia занимают большой объем памяти;
- среда выполнения кода требует большой мощности процессора и оперативной памяти.
Примеры готовых работ на Julia
Чтобы оценить возможности Julia, можно изучить проекты, которые опубликовали пользователи языка в репозиторий GitHub: github.com/search?q=julia