Випуск мови програмування Julia 1.3

Опубліковано реліз мови програмування Юлія 1.3, що поєднує такі якості як висока продуктивність, підтримка динамічної типізації та вбудовані засоби для паралельного програмування. Синтаксис Julia близький до MATLAB із запозиченням деяких елементів з Ruby та Lisp. Метод маніпуляції рядками нагадує Perl. Код проекту поширюється під ліцензією MIT.

В нової версії:

  • Реалізовано можливість додавання методів абстрактних типів;
  • Забезпечена підтримка Unicode 12.1.0 та можливість використання специфічних нарисів цифрових символів Unicode (𝟎-𝟗, 𝟘-𝟡) в ідентифікаторах;
  • Для виведення та розбору нестандартних імен змінних запропонований новий синтаксис var»#str#»;
  • Розширені засоби, пов'язані з багатопоточністю: Доданий макрос Threads.@spawn та ключове слово Channel(f::Function, spawn=true) для організації запуску завдань у будь-якому доступному потоці. Усі системні операції вводу/виводу з файлами та сокетами, а також генератор псевдовипадкових чисел, адаптовані для багатопотокових додатків (thread-safe);
  • Додані нові бібліотечні функції, включаючи
    findfirst, findlast, findnext, findprev, findall(pattern, string), count(pattern, string), sincosd(x) і nonmissingtype.

Ключові особливості мови:

  • Висока продуктивність: однією з ключових цілей проекту є досягнення продуктивності близької до програм мовою Сі. Компілятор Julia заснований на напрацюваннях проекту LLVM та генерує ефективний нативний машинний код для багатьох цільових платформ;
  • Підтримує різні парадигми програмування, включаючи елементи об'єктно-орієнтованого та функціонального програмування. Стандартна бібліотека надає у тому числі функції для асинхронного введення/виводу, управління процесами, ведення логів, профілювання та управління пакетами;
  • Динамічна типізація: мова не вимагає явного визначення типів змінних за аналогією зі скриптовими мовами програмування. Підтримується інтерактивний режим роботи;
  • Опціональна можливість явної вказівки типів;
  • Синтаксис, що чудово підходить для чисельних обчислень, наукових розрахунків, систем машинного навчання та візуалізації даних. Підтримка багатьох числових типів даних та засоби для розпаралелювання обчислень.
  • Можливість прямого виклику функцій з бібліотек мовою Сі без додаткових прошарків.
  • Джерело: opennet.ru

Додати коментар або відгук