Как стать автором
Обновить

Релиз языка программирования Julia 1.11

Время на прочтение2 мин
Количество просмотров5.9K

8 октября 2024 года состоялся релиз языка программирования Julia 1.11. Проект сочетает в себе такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования.

Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp, а метод манипуляции строками напоминает Perl. Исходный код проекта опубликован на GitHub под лицензией MIT. Предыдущая стабильная версия проекта Julia 1.10 вышла в декабре 2023 года, и именно она сейчас стала LTS-сборкой (с долгосрочной поддержкой на три года), заменив на этом месте предыдущий LTS-релиз Julia 1.6.

В числе ключевых особенностей языка Julia выступают высокая производительность, поддержка различных парадигм программирования, включая элементы объектно-ориентированного и функционального, динамическую типизацию с опциональной возможностью явного указания типов, поддержку многих числовых типов данных и средств для распараллеливания вычислений, а также возможность прямого вызова функций из библиотек на языке C без дополнительных прослоек.

Основные изменения и доработки в Julia 1.11:

• добавлен новый Memory type, который предоставляет контейнер более низкого уровня в качестве альтернативы массиву. Большая часть типа массива теперь реализована в Julia поверх памяти, что приводит к значительному ускорению нескольких функций, например, push, а также к более удобному сопровождению кода;

• public — это новое ключевое слово. Символы, отмеченные как public, считаются public AP. Символы, отмеченные как export, теперь также рассматриваются как public AP;

• ScopedValue реализует динамическую область действия с наследованием между задачами;

• файлы Manifest.toml теперь можно переименовывать в формате Manifest-v{major}.{minor}.toml;

• поддержка Unicode 15.1;

• обновлена ​​эвристика GC для подсчёта выделенных страниц вместо отдельных объектов;

• добавлена ​​поддержка аннотирования Base;

• файлы кэша предварительной компиляции теперь можно перемещать, а их действительность проверяется с помощью хеша содержимого исходных файлов вместо mtime;

• новый Makefile для сборки Julia и LLVM с использованием стратегий оптимизации на основе профиля и времени компоновки (PGO и LTO);

• внесены значительные дополнения, новые функции и опции в библиотеках проекта. Также переработан код стандартной библиотеки, включая элементы StyledStrings, Libdl, LinearAlgebra, Random, REPL, Dates, Statistics и Distributed;

• элементы Base.map, Iterators.map и foreach потеряли свои методы с одним аргументом;

• библиотека libuv обновлена ​​с базы v1.44.2 до v1.48.0;

• tput больше не вызывается для проверки возможностей терминала, он был заменён на парсер terminfo на чистом Julia;

• база данных информации терминала terminfo теперь по умолчанию является вендорной, что обеспечивает лучший пользовательский интерфейс REPL, когда terminfo недоступен в системе.
Julia может быть собрана без вендорной базы данных с помощью параметра Makefile WITH_TERMINFO=0.

Язык Julia был разработан в Массачусетском технологическом институте и представлен в 2012 году. В 2015 его создатели — доктор Вирал Шах, профессор Алан Эдельман, доктор Джефф Безансон, Стефан Карпински — совместно с Дипаком Винчи и Кено Фишером основали компанию Julia Computing. Язык используют более чем 10 тыс. компаний по всему миру, включая AstraZeneca, BlackRock, Google, Intel, Microsoft, Moderna, Pfizer.

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+10
Комментарии3

Другие новости

Истории

Ближайшие события

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань