Описание тега julia-lang
Julia - это высокопроизводительный динамический язык программирования для технических вычислений. Он решает проблему двух языков, сочетая простоту использования таких языков, как R и Python, с производительностью C и Fortran. Джулия предоставляет сложный компилятор, распределенное параллельное выполнение, точность вычислений и обширную библиотеку математических функций. Среды, такие как Juno и Jupyter, предоставляют богатую среду разработки с интерактивной графикой.
Библиотеки, созданные сообществом, продолжают пополняться быстрыми темпами. Программы, написанные на языке Julia, организованы по принципу множественной диспетчеризации - путем определения и перегрузки функций различными комбинациями типов аргументов. Часть того, что делает Джулию настолько выразительной, это то, что типы аргументов определяются пользователем.
Компилятор Julia включает в себя синтаксический анализатор, написанный на Scheme ( FemtoLisp), некоторые проходы компилятора и время выполнения в C, генерацию кода через LLVM с использованием C++ и другие проходы компилятора (вывод типов, встраивание и т. Д.), А также большую часть библиотеки Base. в самой Юлии. Для своевременной генерации 64-битного или 32-битного оптимизированного машинного кода используется среда компилятора LLVM.
У Джулии есть интерфейсы внешних функций для C, C++, Python, R и Java, чтобы назвать несколько. Джулия также может быть встроена в любое другое программное обеспечение через C API. Многие из этих интерфейсов обладают высокой производительностью и по возможности избегают копирования данных.
Ресурсы для Юлии:
книги
- Начало работы с Юлией
- Юлия Высокая Производительность
- Юлия Программирование для исследования операций
- Овладение Юлией
Публикации
- Юлия: Новый подход к числовым вычислениям. Джефф Безансон, Алан Эдельман, Стефан Карпински, Вирал Б. Шах (2017)
- Операторы массивов, использующие множественную диспетчеризацию: методология проектирования для реализации массивов в динамических языках. Джефф Безансон, Цзяхао Чен, Стефан Карпински, Вирал Шах, Алан Эдельман (2014)
- Джулия: быстрый динамический язык для технических вычислений. Джефф Безансон, Стефан Карпински, Вирал Б. Шах, Алан Эдельман (2012)