Для анализа данных обычно используются различные языки программирования, такие как C++, Java, MATLAB, Python, R и SAS. Некоторые из этих языков — например, R — были разработаны, чтобы быть очень выразительными и простыми в использовании в задачах науки о данных; однако обычно это происходит за счет более медленного выполнения их программ.

Другие языки, такие как C++, являются более низкоуровневыми, что позволяет им быстро
обрабатывать данные; к сожалению, пользователь обычно должен платить за написание более подробного кода с более низким уровнем абстракции.

Это именно то, что Джулия стремится устранить, ограничение, связанное с необходимостью идти на компромисс между скоростью и удобством использования. Я очень рад быть официальным рецензентом новой книги Юлия для анализа данных Богумила Каминского, изданной Manning Publications Co.. БОГУМИЛ КАМИНСКИЙ — ведущий разработчик DataFrames.jl, основного пакета для обработки данных в экосистеме Julia. Он имеет более чем 20-летний опыт реализации проектов по науке о данных для корпоративных клиентов.

Основатели Julia хотели язык с открытым исходным кодом и либеральной лицензией. Язык со скоростью C и динамизмом Ruby. Им нужен был гомоиконичный язык с настоящими макросами, как у Lisp, но с очевидными, знакомыми математическими обозначениями, как у Matlab. Что-то такое же пригодное для общего программирования, как Python, такое же простое для статистики, как R, такое же естественное для обработки строк, как Perl, такое же мощное для линейной алгебры, как Matlab, и такое же хорошее для склеивания программ, как оболочка. Что-то очень простое в освоении, но не дающее покоя даже самым серьезным хакерам.

Книга делает феноменальную работу по сопоставлению доменов DA с пакетами Julia, которые объясняются фрагментами кода и практическими примерами. Например, ниже приведены некоторые домены и пакеты:

Прием и совместное использование данных:

Arrow.jl — чтение и запись данных в формате Apache Arrow
• CodecBzip2.jl — обработка данных, сжатых в формате Bzip2
• CSV.jl — чтение и запись файлов CSV
• Genie.jl — веб-фреймворк; может использоваться для создания веб-службы
• HTTP.jl — функции HTTP-клиента и сервера
• JSON3.jl — работа с данными JSON
• SQLite.jl — работа с базами данных SQLite
• ZipFile.jl — обработка данных, хранящихся в ZIP-файлах.

Анализ данных:

• Distributions.jl — определения и утилиты статистического распределения
• FreqTables.jl — создание таблиц частот
• GLM.jl — оценка обобщенных линейных моделей
• Graphs.jl — работа с графиками
• Loess.jl — оценка моделей LOESS
• Plots.jl — визуализация данных
• ROCAnalysis.jl — оценка вероятностных бинарных классификаторов
• Statistics.jl и StatsBase.jl — основные статистические функции

Целая глава посвящена интеграции Python с Julia и практическому показу того, как уменьшить размерность с помощью t-SNE. С великолепным предисловием генерального директора Джулии Viral Shah это всеобъемлющий учебник для Джулии и отличный аргумент в пользу того, почему он может заменить Python и R.

https://www.manning.com/books/julia-for-data-analysis