Julia — порівняно молода добре структурована мова програмування з великою швидкодією, що усуває класичну проблему виконання аналізу однією мовою та трансляції її результатів на другій для підвищення продуктивності. Перші проектні роботи з мови Julia почалися в Масачусетському технологічному інституті (MIT)1 у 112 2009 року, і до февралю 2012-го він став загальнодоступним. Заслуга зі створення цієї мови головно належить трьом розробникам: Стефану Карпинськи, Джеффу Безансону та Віралу Шаху. Мета цієї книги полягає в тому, щоб охопити всі аспекти мови Julia, які роблять його привабливим для аналітиків даних. Мова розвивається стрімко. Двойичні шоколади доступні для Linux, Mac OS X і Windows, але вони відстають від поточних вихідних виходів. Тому, щоб виконувати за допомогою Julia серйозну роботу, важливо розуміти, як отримувати та збирати робочу систему з вихідних текстів. Крім того, для Julia доступні інтерактивні середовища розробки (IDE), і в цій книзі будуть проаналізовані IDE Jupyter, Juno і плагін JuliaDT для середовища Eclipse. Книга починається з короткого інструктажу інсталяції та виконання Julia в різних операційних середовищах. Далі ви порівняйте найрізноманітніші способи роботи з язиком і детально вивчіть його основний функціонал, розглядаючи практичні приклади, побудовані на основі покрокового принципу. Користуючись простими статистичними й аналітичними показниками, ви відкриєте для себе швидкодію язика, його справжню міць, яка робить його особливо корисним у високоінтенсивних обчислювальних завданнях і відмітите, що мова Julia може співпрацюють із зовнішніми процесами, отримуючи чимале поліпшення якості візуалізації графіків і даних. І нарешті, ви займетеся метапрограмуванням і дізнаєтеся, як вона зміцнює міць язика та формують його мережеве та розподілене обчислювальне середовище. Чому ви навчитеся, прочитавши цю книгу: • інсталювати середовище розроблення і виконувати її збирання та настроювання під ваше операційне середовище; • створювати проєкти в галузі науки про дані в межах повного циклу ETL, аналізу та візуалізації даних; • розуміти систему типів і принципи множинної диспетчерізації для отримання більшої віддачі від програмування; • взаємодіяти з файлами та таблицями даних для вивчення простих статистичних і аналітичних показників; • зображати графіки та візуальні дані для проведення на Julia імітаційного моделювання; • використовувати Julia для взаємодії з базами даних SQL і NoSQL; • працювати з розподіленими системами в Веб та в хмарі; • розробляти свої власні програмні пакети та брати участь у спільноті програмістів на Julia як співавтор. Ця книга не є введенням у програмування, і тому передбачається, що читач знайомий із понятьним апаратом принаймні однієї мови програмування. Для тих, хто знайомий із мовами сценаріїв, як-от Python, R і MATLAB, це завдання не є важким — як, втім, і для тих, хто застосовує схожі мови: C, Java і C#. Однак для аналітика даних, можливо, з компетцією в методах аналітики на основі електронних таблиць, як-от Excel, або статистичних пакетів, як-от SPSS і Stata, велика частина тексту має бути корисною.