Юлия (язык программирования)
Джулия — это высокоуровневый , универсальный [22] динамического язык программирования , чаще всего используемый для численного анализа и вычислительной науки . [23] [24] [25] Отличительные аспекты дизайна Джулии включают систему типов с параметрическим полиморфизмом и использование множественной диспетчеризации в качестве базовой парадигмы программирования , эффективную сборку мусора , [26] и JIT -компилятор [22] [27] (с поддержкой предварительной компиляции [28] [29] [30] ).
Джулию можно запускать аналогично (интерпретируемым) языкам сценариев (т. е. у Джулии есть REPL ), и она [ нужны разъяснения ] по умолчанию, используя среду выполнения (если она предустановлена), [28] Julia но программы/ исходный код также могут быть отправлены пользователям в виде одного готового к установке/запуску файла, что можно сделать быстро, не требуя ничего предустановленного. [ нужна ссылка ] Программы Julia также можно (отдельно) скомпилировать в двоичные исполняемые файлы , даже допуская распространение без исходного кода. Такая компиляция не нужна для скорости, поскольку Julia также компилируется при интерактивной работе, но может помочь с сокрытием исходного кода. Возможности языка можно компилировать отдельно, поэтому Julia можно использовать, например, со средой выполнения или без нее (что позволяет использовать меньшие по размеру исполняемые файлы и библиотеки, но ограничено в возможностях).
Программы Julia могут повторно использовать библиотеки из других языков, вызывая их, например, вызывая библиотеки C или Rust , а Julia (библиотеки) также можно вызывать из других языков, например Python и R , и несколько пакетов Julia стали легко доступны из этих языков. в виде библиотек Python и R для соответствующих пакетов Julia. Вызов в любом направлении реализован для многих языков, таких как все эти.
Расширение Julia для Visual Studio Code предоставляет полнофункциональную интегрированную среду разработки с поддержкой отладки, анализа и профилирования . [31] [32] [33] [34]
История
[ редактировать ]Работа над Julia началась в 2009 году, когда Джефф Безансон , Стефан Карпински , Вирал Б. Шах и Алан Эдельман задались целью создать свободный язык, который был бы одновременно высокоуровневым и быстрым. 14 февраля 2012 года команда запустила веб-сайт с сообщением в блоге, объясняющим миссию языка. [35] В интервью InfoWorld в апреле 2012 года Карпински сказал об имени «Джулия»: «На самом деле, для этого нет веской причины. Это просто показалось красивым именем». [24] Безансон рассказал, что выбрал это имя по рекомендации друга. [36] затем, годы спустя, написал:
Может быть, Джулия означает « автоматизирована Джеффа необычная шепелявость »? [37]
Julia Синтаксис теперь считается стабильным, начиная с версии 1.0 в 2018 году, и у Julia есть гарантия обратной совместимости для 1.x, а также обещание стабильности для документированного (стабильного) API , тогда как в предыдущие годы на ранней стадии разработки до версии 0.7 синтаксис (и семантика) был изменен в новых версиях. Вся экосистема (зарегистрированных пакетов) использует новый и улучшенный синтаксис и в большинстве случаев опирается на новые API, которые регулярно добавляются, а в некоторых случаях — на незначительный дополнительный синтаксис, добавленный с прямой совместимостью, например, в Julia 1.7.
За 10 лет, прошедших с момента запуска версии Julia до 1.0 в 2012 году, сообщество выросло. Экосистема пакетов Julia насчитывает более 11,8 миллионов строк кода (включая документацию и тесты). [38] JuliaCon Научная конференция для пользователей и разработчиков Julia проводится ежегодно с 2014 года в рамках JuliaCon2020. [39] приветствуя более 28 900 уникальных зрителей, [40] а затем JuliaCon2021 побил все предыдущие рекорды (на YouTube бесплатно доступно более 300 презентаций JuliaCon2021 по сравнению со 162 годом ранее) и 43 000 уникальных зрителей во время конференции. [41]
Трое соавторов Julia являются лауреатами Премии Джеймса Х. Уилкинсона в области числового программного обеспечения 2019 года (присуждаемой каждые четыре года) «за создание Julia, инновационной среды для создания высокопроизводительных инструментов, позволяющих анализировать и решение задач вычислительной техники». [42] Кроме того, Алан Эдельман, профессор прикладной математики Массачусетского технологического института , был выбран для получения от IEEE Computer Society премии Сидни Фернбаха 2019 года «за выдающиеся достижения в области высокопроизводительных вычислений, линейной алгебры и вычислительной науки, а также за вклад в язык программирования Julia». " [43]
Обе Юлии 0,7 [44] и версия 1.0 были выпущены 8 августа 2018 года. Работа над Julia 0.7 была «огромной задачей» (например, из-за «совершенно нового оптимизатора»), и в семантику были внесены некоторые изменения, например, интерфейс итерации был упрощен. [45]
Julia 1.6 была самой крупной версией со времен версии 1.0, она была быстрее по многим направлениям, например, представила параллельную предварительную компиляцию и более быструю загрузку пакетов, в некоторых случаях «ускорение загрузки в 50 раз для больших деревьев двоичных артефактов». [46] Начиная с версии 1.7, разработка Julia вернулась к выпускам, основанным на времени . [47] Джулия 1.7.0 была выпущена в ноябре 2021 года со многими изменениями, например, с новым, более быстрым генератором случайных чисел . Версия Julia 1.7.3 была выпущена 25 мая 2022 года и исправила некоторые проблемы, в том числе как минимум одно обновление безопасности. [48] и 1.7.x больше не поддерживается. Julia 1.8 была выпущена в 2022 году (а версии до 1.8.5 — в январе 2023 года). [49] как исправление ошибок ( бэкпортирование ), так и «инвалидаций», за счет чего компиляция происходит быстрее), с улучшениями по распространению программ Julia без исходного кода и ускорением компилятора, в некоторых случаях на 25%, [50] и более управляемое встраивание (т.е. теперь также можно применять @inline
на месте вызова, а не только на самой функции). Julia 1.9.0 была выпущена 7 мая 2023 года (а позже и 1.9.4, последняя стабильная версия). В нем много улучшений, в более старых версиях есть предварительная компиляция пакетов, но они не были полностью предварительно скомпилированы в собственный код до версии 1.9, что приводило к более медленному первому использованию. Предварительно скомпилированные пакеты, начиная с версии 1.9, могут работать в сотни раз быстрее при первом использовании (например, для CSV.jl и DataFrames.jl), а для улучшения предварительной компиляции пакетов был введен новый пакет PrecompileTools.jl.
Версия Julia 1.10.0 была выпущена 25 декабря 2023 года (а обновление Julia 1.10.4 — 4 июня 2024 года) со многими новыми функциями, например, улучшенным временем загрузки пакетов и новым синтаксическим анализатором с улучшенными сообщениями об ошибках и улучшенным рендерингом трассировки стека. [51]
ЮлияКон
[ редактировать ]С 2014 года [52] Сообщество Julia провело ежегодную конференцию Julia, ориентированную на разработчиков и пользователей. Первый JuliaCon состоялся в Чикаго и положил начало ежегодному проведению конференции. С 2014 года конференция проходила в нескольких местах, включая MIT. [53] и Университет Мэриленда, Балтимор. [54] Аудитория мероприятия выросла с нескольких десятков человек до более чем 28 900 уникальных посетителей. [55] во время JuliaCon 2020, который проходил виртуально. JuliaCon 2021 также прошел виртуально [56] с программными выступлениями профессора Уильяма Кахана , главного архитектора стандарта чисел с плавающей запятой IEEE 754 (который используют практически все процессоры и языки, включая Julia), [57] Ян Витек, [58] Сяое Шерри Ли и Сумит Чинтала, соавтор PyTorch . [59] JuliaCon вырос до 43 000 уникальных посетителей и более 300 презентаций (по-прежнему в свободном доступе, плюс для более старых лет). JuliaCon 2022 также будет проходить с 27 по 29 июля 2022 года виртуально, впервые на нескольких языках, а не только на английском.
Спонсоры
[ редактировать ]Язык Julia стал проектом, финансируемым NumFOCUS в 2014 году, чтобы обеспечить долгосрочную устойчивость проекта. [60] Джереми Кепнер из Лаборатории Линкольна Массачусетского технологического института был спонсором-основателем проекта Джулии на заре его существования. Кроме того, средства Фонда Гордона и Бетти Мур , Фонда Альфреда П. Слоана , Intel и таких агентств, как NSF , DARPA , NIH , NASA и FAA . для разработки Джулии важную роль сыграли [61] Mozilla , производитель веб-браузера Firefox, своими исследовательскими грантами за первое полугодие 2019 года спонсировала «члена официальной команды Julia» для проекта «Bringing Julia to the Browser», [62] значение для Firefox и других веб-браузеров. [63] [64] [65] [66] Язык Julia также поддерживается отдельными донорами на GitHub. [67]
Компания "Юлия"
[ редактировать ]JuliaHub, Inc. была основана в 2015 году как Julia Computing, Inc. Виралом Б. Шахом , Дипаком Винчи, Аланом Эдельманом , Джеффом Безансоном , Стефаном Карпински и Кено Фишером . [68] [69]
В июне 2017 года Julia Computing привлекла начальное финансирование в размере 4,6 миллиона долларов США от General Catalyst и Founder Collective. [70] выделил 910 000 долларов США в том же месяце « Фонд Альфреда П. Слоана на поддержку разработки Julia с открытым исходным кодом , в том числе 160 000 долларов США на содействие разнообразию в сообществе Julia», [71] а в декабре 2019 года компания получила финансирование в размере 1,1 миллиона долларов от правительства США на «разработку инструмента машинного обучения на основе нейронных компонентов , позволяющего снизить общее энергопотребление систем отопления, вентиляции и кондиционирования (HVAC) в зданиях». [72] В июле 2021 года Julia Computing объявила, что привлекла раунд серии А на сумму 24 миллиона долларов под руководством Dorilton Ventures. [73] которой также принадлежит Формулы-1 команда Williams Racing , сотрудничающая с Julia Computing. Коммерческий директор Williams сказал: «Инвестирование в компании, создающие лучшие в своем классе облачные технологии, является стратегическим направлением для Dorilton, а универсальная платформа Джулии с революционными возможностями моделирования и моделирования очень важна для нашего бизнеса. Мы с нетерпением ждем возможности внедрить Джулию. Компьютерные технологии в самом технологичном виде спорта в мире». [74] В июне 2023 года JuliaHub получила (опять же, теперь уже под новым названием) новые стратегические инвестиции в размере 13 миллионов долларов США от AE Industrial Partners HorizonX («AEI HorizonX»). AEI HorizonX — это платформа венчурного инвестирования, созданная в партнерстве с The Boeing Company , которая использует Julia. [75] Работа Тима Холи (в Вашингтонском университете в Святой лаборатории Сент-Луиса) над Джулией 1.9 (улучшение отзывчивости) финансировалась Инициативой Чана Цукерберга .
Особенности языка
[ редактировать ]Julia — язык программирования общего назначения , [76] хотя изначально он был разработан для численных/технических вычислений. Это также полезно для низкоуровневого системного программирования , [77] как язык спецификации , [78] инструмент высокоуровневого синтеза (HLS) (для аппаратного обеспечения, например FPGA ), [79] и для веб-программирования [80] на обоих серверах [81] [82] и клиент [83] [84] сторона.
Основными особенностями языка являются:
- Множественная диспетчеризация: предоставление возможности определять поведение функции в зависимости от комбинаций типов аргументов.
- Система динамических типов : типы для документации, оптимизации и отправки.
- Производительность приближается к статически типизированным языкам, таким как C.
- Встроенный менеджер пакетов
- Lisp -подобные макросы и другие метапрограммирования . средства
- Предназначен для параллельных и распределенных вычислений.
- Сопрограммы : легкая зеленая резьба.
- Автоматическая генерация кода для разных типов аргументов
- Расширяемые преобразования и рекламные акции для числовых и других типов.
Множественная диспетчеризация (также называемая мультиметодами в Lisp) — это обобщение одиночной диспетчеризации — полиморфного механизма , используемого в распространенных языках объектно-ориентированного программирования (ООП), таких как Python , C++ , Java , JavaScript и Smalltalk , — который использует наследование . В Julia все конкретные типы являются подтипами абстрактных типов, прямо или косвенно подтипами Any
type, который является вершиной иерархии типов. Конкретные типы сами по себе не могут быть подтипированы так, как это возможно в других языках; Вместо этого используется композиция (см. также наследование и подтипирование ).
По умолчанию среда выполнения Julia должна быть предварительно установлена при запуске предоставленного пользователем исходного кода. Альтернативно, приложения Julia (GUI) можно быстро объединить в один файл с помощью AppBundler.jl. [85] за «создание приложений Julia с графическим интерфейсом пользователя в современных форматах установщиков настольных приложений. В качестве целей он использует Snap для Linux, MSIX для Windows и DMG для MacOS. Он объединяет полную версию Julia в приложение». [86] PackageCompiler.jl может создавать автономные исполняемые файлы , для запуска которых не требуется исходный код Julia. [28]
В Julia все является объектом, как и в объектно-ориентированных языках; однако, в отличие от большинства объектно-ориентированных языков, все функции используют множественную отправку для выбора методов, а не одиночную отправку.
макросов и пакетов Джулии Большинство парадигм программирования можно реализовать с помощью гомоиконных . Julia Синтаксические макросы (используемые для метапрограммирования ), как и макросы Lisp, более мощны, чем макросы замены текста, используемые в препроцессорах некоторых других языков, таких как C, поскольку они работают на уровне абстрактных синтаксических деревьев (AST). Система макросов Джулии гигиенична , но при необходимости поддерживает преднамеренный захват (например, для анафорических макросов ) с помощью esc
построить.
Джулия черпает вдохновение из различных диалектов Lisp, включая Scheme и Common Lisp , и он разделяет многие функции с Dylan , также динамическим языком, ориентированным на множественную диспетчеризацию (который имеет ALGOL -подобный синтаксис свободной формы, инфиксный а не Lisp-подобный синтаксис префикса, а в Юлии "все" [87] — это выражение ), а также с Fortress , другим языком числового программирования (который имеет множественную диспетчеризацию и сложную систему параметрических типов). Хотя объектная система Common Lisp (CLOS) добавляет в Common Lisp множественную диспетчеризацию, не все функции являются универсальными функциями.
В Julia, Dylan и Fortress расширяемость используется по умолчанию, а все встроенные функции системы являются универсальными и расширяемыми. В Dylan множественная диспетчеризация так же фундаментальна, как и в Julia: все пользовательские функции и даже базовые встроенные операции, такие как +
являются общими. Однако система типов Дилана не полностью поддерживает параметрические типы, которые более типичны для языков ML . По умолчанию CLOS не допускает диспетчеризации параметрических типов Common Lisp; такая расширенная семантика диспетчеризации может быть добавлена только как расширение через протокол метаобъектов CLOS . Благодаря конвергентному дизайну Fortress также поддерживает множественную диспетчеризацию параметрических типов; однако, в отличие от Julia, Fortress типизирован статически, а не динамически, с отдельными фазами компиляции и выполнения. Возможности языка сведены в следующую таблицу:
Язык | Типовая система | Общие функции | Параметрические типы |
---|---|---|---|
Юлия | Динамический | По умолчанию | Да |
Общий Лисп | Динамический | Подписаться | Да (но без отправки) |
Дилан | Динамический | По умолчанию | Частичная (без отправки) |
Крепость | Статический | По умолчанию | Да |
Пример расширяемости Julia: пакет Unitful.jl добавляет поддержку физических единиц измерения в язык .
Совместимость
[ редактировать ]В Julia имеется встроенная поддержка вызова C или Fortran с помощью команды библиотек языка @ccall
макрос. Дополнительные библиотеки позволяют пользователям работать с Python , [88] Р , [89] С++ , [90] Ява , [91] и SQL . [92] [93] [94] [95]
Вариант с отдельно скомпилированными исполняемыми файлами
[ редактировать ]Julia можно скомпилировать в двоичные исполняемые файлы с помощью PackageCompiler.jl. [28] Меньшие исполняемые файлы также могут быть написаны с использованием статического подмножества языка, предоставляемого StaticCompiler.jl, который не поддерживает диспетчеризацию во время выполнения (и сбор мусора, поскольку исключает среду выполнения, которая его предоставляет). [96]
Взаимодействие
[ редактировать ]Официальный дистрибутив Julia включает интерактивный цикл чтения-оценки-печати из командной строки (REPL), [97] с возможностью поиска по истории, завершением вкладок , а также специальными режимами справки и оболочки , [98] который можно использовать для быстрого экспериментирования и тестирования кода. [99] Следующий фрагмент представляет собой пример сеанса, в котором строки автоматически объединяются с помощью println: [100]
julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y
julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!")
Hello world! I'm on cloud 9 as Julia supports recognizable syntax!
REPL предоставляет пользователю доступ к системной оболочке и режиму справки, нажав ;
или ?
после приглашения (перед каждой командой) соответственно. Он также сохраняет историю команд, в том числе между сеансами. [101] Код можно протестировать в интерактивном сеансе Джулии или сохранить в файл с расширением .jl
расширение и запустите его из командной строки, набрав: [87]
$ julia <filename>
Julia использует коды UTF-8 и LaTeX , что позволяет поддерживать общие математические символы для многих операторов, например, in
оператор, набираемый с помощью \in
затем нажмите Tab ↹ (т.е. используются коды LaTeX или также возможно путем простого копирования, например, √ и ∛ возможно для функций sqrt и cbrt ). Julia поддерживает последнюю версию Unicode 15.0 (Julia 1.11-DEV поддерживает последнюю версию 15.1). [102] ) [103] для языков мира, даже для исходного кода, например, имен переменных (в то время как для открытого кода и, например, имен пакетов рекомендуется использовать английский язык).
Julia поддерживается Jupyter , интерактивной онлайн-средой «записных книжек», [104] и Pluto.jl , «реактивный блокнот» (где блокноты сохраняются как чистые файлы Julia), возможная замена первому типу. [105] Кроме того, издательская система Quarto компании Posit (ранее RStudio Inc.) поддерживает Julia, Python, R и Observable JavaScript (эти языки имеют официальную поддержку компании и даже могут быть объединены в одном документе записной книжки; неофициально поддерживается больше языков). [106] [107]
REPL может быть расширен дополнительными режимами и пакетами, например, режимом SQL , [108] для доступа к базе данных, а RCall.jl добавляет режим R для работы с R. языком [109]
Использование с другими языками
[ редактировать ]На практике Julia совместима с другими языками (например, с большинством из 10–20 наиболее популярных языков). используется для индивидуального вызова функций общей библиотеки (например, написанных на C или Fortran), а также доступны пакеты, позволяющие вызывать другие языки (которые не предоставляют напрямую функции, экспортированные из C), например Python (с PythonCall.jl), R, MATLAB, C# (и другие языки .NET с DotNET.jl, от них с JdotNET), JavaScript, Java (и другие языки JVM, такие как Scala с JavaCall.jl). А пакеты для других языков позволяют вызывать Julia, например, из Python, R, Rust , Ruby или C#. Например, с juliacall (часть PythonCall.jl, pyjulia — это другой вариант) для вызова из Python и другим пакетом JuliaCall для вызова из R. Julia также использовался для аппаратного обеспечения, т. е. для компиляции в VHDL , как высокоуровневый пакет. инструмент синтеза (HLS) (например, для FPGA ). [79]
У Джулии есть пакеты, поддерживающие такие языки разметки, как HTML (а также для HTTP ), XML , JSON и BSON , а также для баз данных (таких как PostgreSQL, [110] Монго, [111] Oracle, в том числе для TimesTen , [112] MySQL, SQLite, Microsoft SQL Server, [111] Amazon Redshift, Vertica, ODBC) и использование Интернета в целом. [113] [114]
Система пакетов
[ редактировать ]Julia имеет встроенный менеджер пакетов и систему реестра по умолчанию. [115] Пакеты чаще всего распространяются в виде исходного кода, размещенного на GitHub , хотя альтернативы также можно использовать. Пакеты также можно устанавливать как двоичные файлы с использованием артефактов. [116] Менеджер пакетов Julia используется для запроса и компиляции пакетов, а также для управления средами. Поддерживаются реестры федеративных пакетов, что позволяет добавлять локально реестры, отличные от официальных. [117]
Выполнение
[ редактировать ]Ядро Julia реализовано на Julia и C вместе с C++ для зависимости LLVM . Анализ кода, понижение кода и начальная загрузка были реализованы в FemtoLisp, диалекте Scheme , до версии 1.10. [118] Начиная с этой версии, для анализа используется новый чистый пакет JuliaSyntax.jl (хотя старый все еще можно выбрать). [119] что повышает скорость и «значительно улучшает сообщения об ошибках синтаксического анализатора в различных случаях». [120] Проект инфраструктуры компилятора LLVM используется в качестве серверной части для создания оптимизированного машинного кода для всех часто используемых платформ. За некоторыми исключениями, стандартная библиотека реализована в Julia.
Текущие и будущие платформы
[ редактировать ]уровня 1 Julia изначально поддерживает macOS для 64-битных компьютеров Apple Silicon Mac (ранее компьютеры Mac на базе Apple M1 поддерживались только при запуске в Rosetta 2) . эмуляции [121] [122] ), а также полностью поддерживает компьютеры Mac на базе процессоров Intel. Однако Julia 1.6 LTS не полностью поддерживает компьютеры Mac на базе Arm (тогда они были помечены как экспериментальные), и эта поддержка была сначала повышена до уровня 2 в Julia 1.8, а затем до уровня 1. Windows на ARM пока не имеет официальной поддержки.
У Джулии четыре уровня поддержки. [123] Поддерживаются все процессоры IA-32 , полностью реализующие подархитектуру i686 , и все 64-разрядные процессоры x86-64 (также известные как amd64 ), т. е. все процессоры возрастом менее десяти лет. Процессоры Armv8 ( AArch64 ) поддерживаются на втором уровне, а ARMv7 (AArch32) — на третьем уровне. [124] Сотни пакетов ускоряются с помощью графического процессора : [125] Графические процессоры Nvidia поддерживают CUDA .jl (уровень 1 в 64-разрядной версии Linux и уровень 2 в 64-разрядной версии Windows, пакет, реализующий PTX , для вычислительных возможностей 3.5 (Kepler) или выше; для обоих требуется CUDA 11+, более старые версии пакета работают. вплоть до CUDA 9). Также существуют дополнительно пакеты, поддерживающие другие ускорители, например Google TPU , [126] и некоторые (интегрированные) графические процессоры Intel через oneAPI.jl , [127] а графические процессоры AMD поддерживают, например, OpenCL ; и экспериментальная поддержка стека AMD ROCm . [128]
На некоторых платформах Julia может потребоваться скомпилировать из исходного кода (например, исходный Raspberry Pi ) с конкретными параметрами сборки, что уже сделано, и доступны неофициальные предварительно собранные двоичные файлы (и инструкции по сборке). [129] [130] Джулия была построена для нескольких платформ ARM, от маленького Raspberry Pis до (недавнего) топ-1 суперкомпьютера Fugaku на базе ARM A64FX . [131] PowerPC (64-разрядная версия) имеет поддержку уровня 3, что означает, что он «может или не может быть собран». Джулия теперь поддерживается в Raspbian. [132] хотя поддержка лучше для более новых Pi, например, с Armv7 или новее; Поддержке Julia способствует Raspberry Pi Foundation . [133]
Хотя для Джулии по умолчанию требуется операционная система , и она не имеет официальной поддержки для работы без нее или на встроенных системных платформах, таких как Arduino , код Джулии по-прежнему выполняется на ней, с некоторыми ограничениями, то есть на процессоре с тактовой частотой 16 МГц 8-битном ( ATmega328P) . ) AVR-микроконтроллер Arduino с 2 КБ ОЗУ (плюс 32 КБ флэш-памяти). [134] [135]
Принятие
[ редактировать ]Джулию приняли во многие университеты, включая Массачусетский технологический институт , Стэнфорд , Калифорнийский университет в Беркли и Университет Кейптауна . Крупные частные фирмы во многих секторах приняли этот язык, включая Amazon , IBM , JP Morgan AI Research, [136] и АСМЛ . Джулия также использовалась правительственными агентствами, включая НАСА и ФАУ , а также всеми национальными энергетическими лабораториями США. [137] [138]
Научные вычисления и инженерия
[ редактировать ]- Amazon для квантовых вычислений [139] и машинное обучение с помощью Amazon SageMaker [140]
- ASML для жесткого программирования в реальном времени на своих машинах. [141]
- Альянс по моделированию климата [142] для моделирования изменения климата [143]
- ЦЕРН , для анализа данных Большого адронного коллайдера ( эксперимент LHCb ) [144] [145] [146] [147] [148] [149]
- НАСА и Лаборатория реактивного движения используют Джулию для моделирования динамики отделения космических аппаратов. [150] [151] [152] анализировать TRAPPIST наборы данных экзопланет , [153] [154] и проанализировать данные космического микроволнового фона от Большого взрыва. [155]
- Бразильский INPE для космических миссий и спутникового моделирования. [156]
- Встроенное оборудование для планирования и выполнения полетов автономных и посадки Исследовательской лаборатории ВВС США. вертикального взлета дронов [157]
Фармацевтика и разработка лекарств
[ редактировать ]Джулия широко используется для разработки лекарств в фармацевтической промышленности, ее взяли на вооружение компании Moderna , Pfizer , AstraZeneca , Procter & Gamble и United Therapeutics . [158] [159]
Экономика, финансы и политология
[ редактировать ]- Федеральный резервный банк Нью-Йорка для макроэкономического моделирования в Джулии с 2015 года, включая оценки потрясений, вызванных COVID-19, в 2021 году. [160]
- Также Банк Канады , центральный банк , для макроэкономического моделирования. [161]
- BlackRock , крупнейший в мире управляющий активами, для анализа финансовых временных рядов [162]
- Aviva , . крупнейшая страховая компания Великобритании, для актуарных расчетов [162]
- Mitre Corporation для проверки опубликованных результатов выборов. [163]
- Нобелевский лауреат Томас Дж. Сарджент за макроэконометрическое моделирование. [164]
См. также
[ редактировать ]- Сравнение программного обеспечения для численного анализа
- Сравнение статистических пакетов
- Дифференцируемое программирование
- JuMP - язык алгебраического моделирования для математической оптимизации, встроенный в Julia.
- Питон
- Nim
- Кольцо
- Моджо
Ссылки
[ редактировать ]- ^ «2. Объектно-ориентированное программирование — Начало программирования Джулии: Для инженеров и ученых [Книга]» . www.oreilly.com . Проверено 26 января 2023 г.
- ^ «Сглаживание данных с помощью @generated функций Джулии» . 5 ноября 2015 года . Проверено 9 декабря 2015 г.
Сгенерированные функции Джулии тесно связаны с парадигмой многоэтапного программирования (MSP), популяризированной Таха и Шеардом, которая обобщает этапы времени компиляции/времени выполнения программы, допуская несколько этапов отложенного выполнения кода.
- ^ «ЛИЦЕНЗИЯ.md» . Гитхаб . Сентябрь 2017.
- ^ «Соавторы JuliaLang/julia» . Гитхаб .
- ^ Jump up to: а б с д «Почему мы создали Джулию» . Сайт Юлии . Февраль 2012 года . Проверено 7 февраля 2013 г.
- ^ https://discourse.julialang.org/t/julia-v1-10-4-has-been-released/115197 .
{{cite web}}
: Отсутствует или пусто|title=
( помощь ) - ^ "Юлия v1.11.0-rc2 теперь доступна" . Юлия Язык программирования . 29 июля 2024 г. Проверено 30 июля 2024 г.
- ^ «Бэкпорты для 1.11.0-rc1 (#54611) · JuliaLang/julia@ec84807» . Гитхаб . Проверено 27 июня 2024 г.
- ^ "Юлия v1.11.0-beta2 теперь доступна" . Юлия Язык программирования . 29 мая 2024 г. Проверено 29 мая 2024 г.
- ^ "Юлия 1.10.4 период тестирования" . Юлия Язык программирования . 30 мая 2024 г. Проверено 30 мая 2024 г.
- ^ «GitHub — JuliaLang/julia в выпуске 1.6» . Гитхаб . Проверено 19 июля 2022 г.
- ^ «release-1.6: Backports для 1.6.7 от KristofferC · Запрос на извлечение № 45319 · JuliaLang/julia» . Гитхаб . Проверено 16 мая 2022 г.
- ^ «Релиз 1.10.5 для резервного копирования от KristofferC · Запрос на извлечение № 54851 · JuliaLang/julia» . Гитхаб . Проверено 27 июня 2024 г.
- ^ Jump up to: а б Энгхайм, Эрик (17 ноября 2017 г.). «Динамически типизированные языки — это не то, что вы думаете» . Середина . Проверено 27 января 2021 г.
- ^ «Здание Юлии (Подробно)» . Гитхаб . Сентябрь 2017 года . Проверено 16 мая 2022 г.
- ^ «NVIDIA CUDA ⋅ JuliaGPU» . juliagpu.org . Проверено 17 января 2022 г.
мы показали, что производительность приближается к производительности CUDA C, а иногда даже превосходит ее в ряде приложений из набора тестов Rodinia.
- ^ Стокел-Уокер, Крис. «Юлия: Язык Златовласки» . Приращение . Полоса . Проверено 23 августа 2020 г. .
- ^ «ЮлияКон 2016» . ЮлияКон . Проверено 6 декабря 2016 г.
Он был соавтором языка программирования Scheme, который сильно повлиял на дизайн Джулии.
- ^ Jump up to: а б с д «Дом · Язык Джулии» . docs.julialang.org . Проверено 15 августа 2018 г.
- ^ «Сеть языков программирования» . Гитхаб. Архивировано из оригинала 20 декабря 2020 года . Проверено 6 декабря 2016 г.
- ^ «Как нам следует называть язык математики? — Сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 24 июня 2021 г.
- ^ Jump up to: а б Фишер, Кено; Нэш, Джеймсон. «Развитие компилятора — переход к машинному обучению с помощью компилятора общего назначения — JuliaHub» . juliahub.com . Проверено 16 ноября 2022 г.
- ^ Брайант, Ави (15 октября 2012 г.). «Matlab, R и Джулия: языки анализа данных» . О'Рейли Страта. Архивировано из оригинала 26 апреля 2014 года.
- ^ Jump up to: а б Криль, Пол (18 апреля 2012 г.). «Язык New Julia стремится стать буквой C для ученых» . Инфомир .
- ^ Финли, Клинт (3 февраля 2014 г.). «На виду: человек создает один язык программирования, чтобы управлять всеми» . Проводной .
- ^ «Приостановка сборки мусора для повышения производительности… хорошая идея или плохая идея?» . Группы.google.com . Проверено 31 мая 2017 г.
- ^ «Sysimages · PackageCompiler» . julialang.github.io . Проверено 10 апреля 2023 г.
- ^ Jump up to: а б с д «GitHub — JuliaLang/PackageCompiler.jl: скомпилируйте пакет Julia» . Язык Джулии. 14 февраля 2019 года . Проверено 15 февраля 2019 г.
- ^ "julia/doc/src/devdocs/aot.md в мастере · JuliaLang/julia" . Гитхаб . Проверено 3 октября 2023 г.
- ^ «Построение образа системы · Язык Джулии» . docs.julialang.org . Проверено 3 октября 2023 г.
- ^ Холи, Тим (13 сентября 2019 г.). «GitHub — timholy/ProfileView.jl: Визуализация данных профилирования Julia» . Гитхаб . Проверено 22 сентября 2019 г.
- ^ Грегг, Брендан (20 сентября 2019 г.). «GitHub — brendangregg/FlameGraph: визуализатор трассировки стека» . Гитхаб . Проверено 22 сентября 2019 г.
- ^ «Интерпретатор и отладчик Julia» . julialang.org . Проверено 10 апреля 2019 г.
- ^ "Главная · Rebugger.jl" . timholy.github.io . Проверено 10 апреля 2019 г.
- ^ Джефф Безансон; Стефан Карпински; Вирал Шах; Алан Эдельман. «Почему мы создали Джулию» . JuliaLang.org . Проверено 5 июня 2017 г.
- ^ Торре, Чарльз. «Стефан Карпински и Джефф Безансон о Джулии» . Канал 9 . MSDN . Проверено 4 декабря 2018 г.
- ^ Безансон, Джефф (2 апреля 2021 г.). «Бенчмарки CAS» . discourse.julialang.org . Проверено 2 апреля 2021 г.
- ^ «Информационный бюллетень, август 2021 г. — Julia Computing завершает сбор средств в рамках серии A на сумму 24 миллиона долларов, а бывший генеральный директор Snowflake Боб Маглия присоединяется к совету директоров Julia Computing — JuliaHub» . juliahub.com . Проверено 16 ноября 2022 г.
- ^ «ЮлияКон 2020» . ЮлияКон 2020 . Проверено 6 октября 2023 г.
- ^ «Итоги ЮлияКона 2020» . julialang.org . 11 августа 2020 г. Проверено 20 декабря 2020 г.
- ^ «Основные события JuliaCon 2021» . julialang.org . Проверено 6 сентября 2021 г.
- ^ «Соавторы языка Джулия выиграли премию Джеймса Х. Уилкинсона в области числового программного обеспечения» . Новости МТИ . 26 декабря 2018 года . Проверено 22 января 2019 г.
- ^ «Алан Эдельман из Массачусетского технологического института удостоен престижной премии Сидни Фернбаха от компьютерного общества IEEE 2019 года | Компьютерное общество IEEE» (пресс-релиз). 1 октября 2019 года . Проверено 9 октября 2019 г.
- ^ "Что такое Юлия 0,7? Как она связана с 1,0?" . Джулия Ланг . 26 марта 2018 года . Проверено 17 октября 2018 г.
- ^ Дэвис, Эрик. «Написание итераторов в Julia 0.7» . julialang.org . Проверено 5 августа 2018 г.
- ^ Джефф Безансон; Стефан Карпински; Вирал Шах; Алан Эдельман; и др. «Юлия 1.6 Основные моменты» . julialang.org . Проверено 26 марта 2021 г.
- ^ «Обновление до OpenBLAS 0.3.13 · Запрос на извлечение № 39216 · JuliaLang/julia» . Гитхаб . Проверено 26 апреля 2021 г.
Учитывая, что 1.7 не за горами (выпуски будут запланированы)
- ^ «[Zlib_jll] Обновление до версии 1.2.12+3 от giordano · Pull Request #44810 · JuliaLang/julia» . Гитхаб . Проверено 25 мая 2022 г.
- ^ «Бэкпорты для Julia 1.8.5 от KristofferC · Pull Request #48011 · JuliaLang/julia» . Гитхаб . Проверено 8 января 2023 г.
- ^ «компилятор: ускорьте время начальной загрузки на 25% с помощью aviatesk · Pull Request #41794 · JuliaLang/julia» . Гитхаб . Проверено 3 марта 2022 г.
Раньше загрузка занимала около 80 секунд, но в этом PR время сокращено примерно до 60 секунд.
- ^ «Примечания к выпуску Julia v1.10 · Язык Julia» . docs.julialang.org . 25 декабря 2023 года. Архивировано из оригинала 30 марта 2024 года . Проверено 30 марта 2024 г.
- ^ «ЮлияКон 2014» . сайт juliacon.org . Проверено 20 июня 2021 г.
- ^ «JuliaCon 2016 в Массачусетском технологическом институте» . mit.edu . 18 июля 2016 года . Проверено 20 июня 2021 г.
- ^ «JuliaCon 2019 в УМБ» . технические.ly . 23 июля 2019 года . Проверено 20 июня 2021 г.
- ^ «Подведение итогов JuliaCon 2020» . julialang.org . Проверено 20 июня 2021 г.
- ^ «ЮлияКон 2021» . Джулиакон.орг . Проверено 20 июня 2021 г.
- ^ «Основные события JuliaCon 2021» . julialang.org . Проверено 3 марта 2022 г.
В этом году JuliaCon был самым масштабным и лучшим за всю историю: более 300 презентаций были доступны бесплатно на YouTube, было зарегистрировано более 20 000 человек и более 43 000 уникальных зрителей YouTube во время конференции по сравнению со 162 презентациями, 10 000 регистраций и 28 900 уникальными зрителями YouTube. во время прошлогодней конференции.
- ^ «Домашняя страница Яна Витека» . сайт janvitek.org . Проверено 20 июня 2021 г.
- ^ «Домашняя страница Сумит Чинтала» . soumith.ch . Проверено 20 июня 2021 г.
- ^ «Юлия: Проект, спонсируемый NumFOCUS с 2014 года» . numfocus.org . Проверено 29 сентября 2020 г.
- ^ «Язык Джулии» . julialang.org . Проверено 22 сентября 2019 г.
- ^ Чимпану, Каталин. «Mozilla финансирует способ поддержки Джулии в Firefox» . ЗДНет . Проверено 22 сентября 2019 г.
- ^ «Юлия в Йодиде» . Alpha.iodide.io . Архивировано из оригинала 22 сентября 2019 года . Проверено 22 сентября 2019 г.
- ^ «Языковые плагины — Документация Iodide» . йодид-проект.github.io . Проверено 22 сентября 2019 г.
- ^ «Исследовательские гранты Mozilla 2019H1» . Мозилла . Архивировано из оригинала 9 октября 2019 года . Проверено 22 сентября 2019 г.
запуск языковых интерпретаторов в WebAssembly. Чтобы еще больше расширить доступ к ведущим инструментам обработки данных, мы ищем человека, который сможет портировать R или Julia в WebAssembly и попытаться предоставить языковой плагин уровня 3 для Iodide: автоматическое преобразование базовых типов данных между R/Julia и Javascript и возможность совместного использования экземпляров классов между R/Julia и Javascript.
- ^ «Грамотные научные вычисления и общение в Интернете: iodide-project/iodide» . йодид. 20 сентября 2019 г. Проверено 22 сентября 2019 г.
Мы предвидим будущий рабочий процесс, который позволит вам обрабатывать данные на Python, подгонять быструю модель в R или JAGS, решать некоторые дифференциальные уравнения в Julia, а затем отображать результаты с помощью интерактивной интерактивной визуализации d3+JavaScript… и все такое. это в одном переносимом, совместно используемом и взломанном файле.
- ^ «Спонсор языка Джулии» . github.com . Проверено 5 июня 2021 г.
- ^ «О нас — Юлия Компьютеринг» . juliacomputing.com . Проверено 12 сентября 2017 г.
- ^ «О нас — ЮлияХаб» . juliahub.com . Проверено 16 ноября 2022 г.
- ^ «Julia Computing привлекает 4,6 миллиона долларов в виде начального финансирования» (пресс-релиз). Архивировано из оригинала 10 мая 2019 года.
- ^ «Julia Computing получила грант в размере 910 000 долларов США от Фонда Альфреда П. Слоана, включая 160 000 долларов США на разнообразие STEM» . juliacomputing.com . 26 июня 2017 года. Архивировано из оригинала 3 августа 2020 года . Проверено 28 июля 2020 г.
- ^ «ДИФФЕРЕНЦИАЦИЯ — интеллектуальный дизайн, способствующий значительному сокращению энергопотребления (и) созданию новых, весьма эффективных усовершенствований передовых технологий» (PDF) .
- ^ «Julia Computing привлекла $24 млн в рамках раунда финансирования под руководством Dorilton Ventures» . Рейтер . 19 июля 2021 г.
- ^ «Уильямс приветствует компанию Julia Computing в качестве партнера Dorilton Ventures» . www.williamsf1.com (пресс-релиз) . Проверено 2 сентября 2021 г.
- ^ «JuliaHub получает стратегические инвестиции в размере 13 миллионов долларов от AE Industrial Partners HorizonX» . info.juliahub.com (пресс-релиз). 27 июня 2023 г. Проверено 30 июня 2023 г.
- ^ «Язык Юлии» (официальный сайт).
Общее назначение [..] Julia позволяет писать пользовательские интерфейсы, статически компилировать код или даже развертывать его на веб-сервере.
- ^ Грин, Тодд (10 августа 2018 г.). «Низкоуровневое системное программирование на высокоуровневом Julia» . Архивировано из оригинала 5 ноября 2018 года . Проверено 5 ноября 2018 г.
- ^ Мосс, Роберт (26 июня 2015 г.). «Использование Julia в качестве языка спецификации для бортовой системы предотвращения столкновений следующего поколения» (PDF) . Архивировано из оригинала 1 июля 2015 года . Проверено 29 июня 2015 г.
Бортовая система предотвращения столкновений
- ^ Jump up to: а б Биггс, Бенджамин; Макинерни, Ян; Керриган, Эрик С.; Константинидес, Джордж А. (2022). «Высокоуровневый синтез с использованием языка Джулии». arXiv : 2201.11522 [ cs.SE ].
Мы представляем прототип инструмента Julia HLS, написанного на Julia, который преобразует код Julia в VHDL.
- ^ «Анонсируем Dash для Джулии» . сюжетно (Пресс-релиз). 26 октября 2020 г. Проверено 2 сентября 2021 г.
- ^ Анайя, Ричард (28 апреля 2019 г.). «Как создать многопоточный HTTP-сервер в Julia» . Середина . Проверено 25 июля 2019 г.
Таким образом, несмотря на то, что в настоящее время у Julia нет готового многопоточного серверного решения, мы можем легко воспользоваться его функциями распределения процессов и очень популярной технологией балансировки нагрузки, чтобы полностью использовать процессор для обработки HTTP.
- ^ Антофф, Дэвид (1 июня 2019 г.). «Установка Node.js для Юлии» . Гитхаб . Проверено 25 июля 2019 г.
- ^ «Перевести Джулию на JavaScript» . Юлия Вещицы. 7 июля 2019 года . Проверено 25 июля 2019 г.
- ^ Фишер, Кено (22 июля 2019 г.). "Бегущая Юля по Васму" . Гитхаб . Проверено 25 июля 2019 г.
- ^ AppBundler.jl , PeaceFounder, 13 декабря 2023 г. , получено 18 декабря 2023 г.
- ^ «[ANN] AppBundler.jl — Объедините свое приложение Julia с графическим интерфейсом» . Юлия Язык программирования . 30 ноября 2023 г. Проверено 18 декабря 2023 г.
- ^ Jump up to: а б «Изучите Джулию за Y минут» . Learnxinyminites.com . Проверено 31 мая 2017 г.
- ^ PythonCall и JuliaCall , JuliaPy, 29 октября 2023 г. , получено 30 октября 2023 г.
- ^ RCall.jl , JuliaInterop, 16 октября 2023 г. , получено 30 октября 2023 г.
- ^ CxxWrap , JuliaInterop, 28 октября 2023 г. , получено 30 октября 2023 г.
- ^ «Джулия и Спарк, вместе лучше» . juliacomputing.com . 2 июня 2020 года. Архивировано из оригинала 14 июля 2020 года.
- ^ Фостер, Клэр (23 октября 2023 г.), SQLREPL.jl , получено 31 октября 2023 г.
- ^ Но, УГён (18 октября 2023 г.), Octo.jl , получено 31 октября 2023 г.
- ^ «Руководство по использованию · FunSQL.jl» . Mechanicalrabbit.github.io . Проверено 31 октября 2023 г.
- ^ «Использование Julia с базами данных Oracle» . 21 октября 2022 г.
- ^ Шорт, Том (30 октября 2023 г.), StaticCompiler , получено 30 октября 2023 г.
- ^ «Джулия REPL · Язык Джулии» . docs.julialang.org . Проверено 22 сентября 2019 г.
- ^ «Представляем Джулию/REPL — Wikibooks, открытые книги для открытого мира» . ru.wikibooks.org . Проверено 22 сентября 2019 г.
вы можете установить пакет Julia OhMyREPL.jl [..], который позволяет настраивать внешний вид и поведение REPL.
- ^ «Начало работы · Язык Джулии» . docs.julialang.org . Проверено 15 августа 2018 г.
- ^ См. также: документы
.julialang .org /в /v1 /руководство /строки / для строковой интерполяции и string(greet, ", ", whom, ".\n")
пример предпочтительных способов объединения строк. В Julia есть функции println и print, а также макрос @printf (т. е. не в форме функции), позволяющий устранить накладные расходы на форматирование во время выполнения (в отличие от той же функции в C). - ^ «Юлия Документация» . JuliaLang.org . Проверено 18 ноября 2014 г.
- ^ «Поддержка Unicode 15.1 от stevengj · Запрос на извлечение № 253 · JuliaStrings/utf8proc» . Гитхаб . Проверено 22 января 2024 г.
- ^ «поддержка Unicode 15 через utf8proc 2.8 от stevengj · Pull Request #47392 · JuliaLang/julia» . Гитхаб . Проверено 3 ноября 2022 г.
- ^ «Проект Юпитер» .
- ^ Будро, Эммет (16 октября 2020 г.). «Может ли Плутон стать настоящей заменой Юпитера?» . Середина . Проверено 8 декабря 2020 г.
- ^ Махлис, Шарон (27 июля 2022 г.). «RStudio меняет название на Posit, расширяет фокус, включив в него Python и VS Code» . Инфомир . Проверено 18 января 2023 г.
- ^ «Внимание! Quarto никуда не денется. Немедленно объедините R и Python в своем следующем документе: расширение к недавнему сообщению» . ds-econ . 20 июля 2022 г. Проверено 18 января 2023 г.
- ^ Фостер, Крис (4 апреля 2022 г.). "SQLREPL.jl" . Гитхаб . Проверено 27 сентября 2022 г.
- ^ «Начало работы · RCall.jl» . juliainterop.github.io . Проверено 27 сентября 2022 г.
- ^ «Главная · LibPQ.jl» . invenia.github.io . Проверено 8 ноября 2022 г.
- ^ Jump up to: а б «Главная · FunSQL.jl» . docs.juliahub.com . Проверено 8 ноября 2022 г.
- ^ Худ, Дуг (21 октября 2022 г.). «Использование Julia с базами данных Oracle» .
- ^ «Genie Builder — торговая площадка Visual Studio» . marketplace.visualstudio.com . Проверено 8 ноября 2022 г.
- ^ «Как создать свое первое веб-приложение в Julia с помощью Genie.jl 🧞♂️» . freeCodeCamp.org . 1 февраля 2022 г. Проверено 8 ноября 2022 г.
- ^ «ДжулияРегистры/Общее» . Гитхаб . Проверено 30 апреля 2020 г.
- ^ «Pkg.jl — Артефакты» . Проверено 4 июня 2020 г.
- ^ «Pkg.jl — Реестры» . Проверено 30 апреля 2020 г.
- ^ Безансон, Джефф (6 июня 2019 г.). «ДжеффБезансон/фемтолисп» . Гитхаб . Проверено 16 июня 2019 г.
- ^ «ЮлияСинтаксис» . Язык программирования Джулия. 28 августа 2022 г. Проверено 28 августа 2022 г.
- ^ «Включить JuliaSyntax.jl в качестве альтернативного синтаксического анализатора Julia с помощью c42f · Pull Request #46372 · JuliaLang/julia» . Гитхаб . Проверено 28 августа 2022 г.
- ^ "Вышла Юля v1.7.3" . Джулия Ланг . 25 мая 2022 г. Проверено 26 мая 2022 г.
- ^ «Проблема с отслеживанием Darwin/ARM64 · Проблема № 36617 · JuliaLang/julia» . Гитхаб . Проверено 8 декабря 2020 г.
- ^ «Юля Загрузки» . julialang.org . Проверено 17 мая 2019 г.
- ^ "Юлия/arm.md" . Язык Джулии. 7 октября 2021 г. Проверено 15 мая 2022 г.
Доступен список известных проблем для ARM.
- ^ «ЮлияГПУ» . juliagpu.org . Проверено 16 ноября 2022 г.
Почти 300 пакетов прямо или косвенно зависят от возможностей графического процессора Julia.
- ^ «Юля о ТПУ» . ЮлияТПУ. 26 ноября 2019 года . Проверено 29 ноября 2019 г.
- ^ «Представляем: oneAPI.jl ⋅ JuliaGPU» . juliagpu.org . Проверено 6 сентября 2021 г.
- ^ «AMD ROCm · JuliaGPU» . juliagpu.org . Проверено 20 апреля 2020 г.
- ^ «Сборка Julia для RaspberryPi Zero» . Суть . Проверено 14 августа 2020 г. .
- ^ «Джулия Берри: Джулия на Raspberry Pi» . juliaberry.github.io . Проверено 14 августа 2020 г. .
- ^ Джордано, Мозе (29 сентября 2022 г.). «Юлия на Фугаку (23 июля 2022 г.)» . Гитхаб . Проверено 8 ноября 2022 г.
- ^ «Джулия доступна в Raspbian на Raspberry Pi» .
Джулия работает со всеми вариантами Pi, мы рекомендуем использовать Pi 3.
- ^ «Юлийский язык для Raspberry Pi» . Фонд Raspberry Pi . 12 мая 2017 г.
- ^ «Запуск Джулии без железа на Arduino» . Seelengrab.github.io . Проверено 24 мая 2022 г.
- ^ Сукера (31 июля 2023 г.), AVRDevices.jl , получено 5 августа 2023 г.
- ^ Чен, Цзяхао «Цзяхао Чэнь» 23 Проверено февраля 2023 года .
- ^ « Почему мы создали Джулию» исполняется десять лет — JuliaHub» . juliahub.com . Проверено 16 ноября 2022 г.
- ^ «Информационный бюллетень, январь 2022 г. — Статистика роста Джулии — Julia Computing» . juliacomputing.com . Проверено 26 января 2022 г.
- ^ «Представляем Braket.jl — квантовые вычисления с Джулией» . Сообщество Юлии 🟣 . 15 ноября 2022 г. Проверено 23 февраля 2023 г.
Почти все функции Python SDK перереализованы в Julia — для тех немногих, которые этого не сделали, мы также предоставляем вспомогательный пакет PyBraket.jl, который позволяет транслировать объекты Julia в их эквиваленты Python и вызывать Python SDK.
- ^ «Начало работы с Джулией на Amazon SageMaker: пошаговое руководство» (PDF) . Май 2020.
- ^ «На пути к использованию Julia для приложений реального времени в ASML JuliaCon 2022» . pretalx.com . Проверено 23 февраля 2023 г.
- ^ «Дом – КлиМА» . CliMA – Альянс по моделированию климата . Проверено 18 июня 2023 г.
- ^ «Julia Computing обеспечивает поддержку вычислений NVIDIA GPU на серверах с питанием от Arm — JuliaHub» . juliahub.com (пресс-релиз) . Проверено 16 ноября 2022 г.
- ^ "Юля для Мини-семинара ФЭФ" . indico.cern.ch . 27 сентября 2021 г. Проверено 23 августа 2022 г.
Юлия и первое наблюдение Ω - _б → Х + _с К - п -
- ^ Михасенко, Миша (29 июля 2022 г.). «ТриBodyDecay» . Гитхаб . Проверено 23 августа 2022 г.
- ^ Михасенко, Миша (июль 2021 г.). «Юлия за спектроскопию КХД» (PDF) . indico.cern.ch . Проверено 23 августа 2022 г.
Резюме: Julia готова к использованию в физическом анализе HEP
. - ^ "JuliaHEP/UnROOT.jl" . ЮлияГЭП. 19 августа 2022 г. Проверено 23 августа 2022 г.
- ^ «Юля · Поиск · GitLab» . ГитЛаб . Проверено 23 августа 2022 г.
- ^ «Коммит · master · sft / lcgcmake · GitLab» . ГитЛаб . Проверено 23 августа 2022 г.
обновить версию Джулии до 1.7.3
- ^ Моделирование динамики отделения космических аппаратов в Джулии - Джонатан Дигельман , получено 6 сентября 2021 г.
- ^ Circuitscape/Circuitscape.jl , Circuitscape, 25 февраля 2020 г. , дата обращения 26 мая 2020 г.
- ^ «Сохранение посредством кодирования: 5 вопросов Вирал Шаху | Управление научной миссии» . science.nasa.gov . Архивировано из оригинала 25 мая 2020 года . Проверено 26 мая 2020 г.
- ^ «Джулия в дикой природе — Джулия Data Science» . juliadatascience.io . Проверено 12 сентября 2022 г.
- ^ «Семь скалистых планет TRAPPIST-1 могут состоять из похожего материала» . Исследование экзопланет: планеты за пределами нашей Солнечной системы . Проверено 6 октября 2022 г.
- ^ Джулия в области астрономических и астрофизических исследований | Эрик Б. Форд | JuliaCon 2022 , получено 6 октября 2022 г.
- ^ JuliaSpace/SatelliteToolbox.jl , JuliaSpace, 20 мая 2020 г. , получено 26 мая 2020 г.
- ^ Хоббс, Керианн (декабрь 2022 г.). «Год автономии ледников Аляски, полета, околоземной орбиты, окололунного пространства и Марса» . Обзор года аэрокосмической Америки. п. 48.
Группа летных испытаний смогла продемонстрировать… аппарат вертикального взлета и посадки с электрическими и традиционными топливными двигательными установками на борту. могла [Беспилотная воздушная система] планировать и выполнять эти миссии автономно, используя бортовое оборудование. Это был первый раз, когда язык программирования Julia использовался на встроенном оборудовании — алгоритмы были предварительно скомпилированы заранее.
- ^ «Кейс-стади — JuliaHub» . juliahub.com . Проверено 10 февраля 2023 г.
- ^ «Пумас-АИ» . Пумас-АИ . Проверено 10 февраля 2023 г.
- ^ «Выпуск v1.3.0 · FRBNY-DSGE/DSGE.jl» . Гитхаб . Проверено 3 января 2022 г.
Новые подспецификации модели 1002 для оценки DSGE с учетом потрясений, вызванных COVID-19.
- ^ «Примеры использования в области финансов и экономики» . Юлия Язык программирования . 2 мая 2023 г. Проверено 4 мая 2023 г.
- ^ Jump up to: а б Д'Кунья, Супарна Датт (20 сентября 2017 г.). «Как новый язык программирования, созданный четырьмя учеными, теперь используется крупнейшими компаниями мира» . Форбс . Архивировано из оригинала 1 октября 2022 года . Проверено 1 октября 2022 г.
- ^ «Юлия за безопасность выборов» . Джулия Форем. 23 сентября 2022 г. Проверено 27 сентября 2022 г.
- ^ «Нобелевский лауреат Томас Дж. Сарджент — JuliaHub» . juliahub.com . Проверено 10 февраля 2023 г.
Дальнейшее чтение
[ редактировать ]- Нагар, Сандип (2017). Начало программирования Джулии: для инженеров и ученых . Спрингер. ISBN 978-1-4842-3171-5 .
- Безансон, Дж.; Эдельман, А; Карпинский, С; Шах, В.Б. (2017). «Джулия: свежий подход к численным вычислениям». СИАМ Обзор 59 (1): 65–98. arXiv : 1411.1607 . CiteSeerX 10.1.1.760.8894 . дои : 10.1137/141000671 . S2CID 13026838 .
- Джоши, Аншул (2016). Джулия для науки о данных - Исследуйте мир науки о данных с нуля вместе с Джулией . Пакет. ISBN 978-1-78355-386-0 .
- Тобин А. Дрисколл и Ричард Дж. Браун (август 2022 г.). «Основы численных вычислений: издание Джулии». СИАМ. ISBN 978-1-611977-00-4 .
- CT Келли (2022). «Решение нелинейных уравнений итерационными методами: решатели и примеры в Julia», SIAM. ISBN 978-1-611977-26-4 .
- Каличаран, Ноэль (2021). Юлия, Постепенно . Темы бакалавриата по информатике. Спрингер. дои : 10.1007/978-3-030-73936-2 . ISBN 978-3-030-73936-2 . S2CID 235917112 .
- Клеменс Хайтцингер (2022): «Алгоритмы с Джулией», Springer, ISBN 978-3-031-16559-7.
Внешние ссылки
[ редактировать ]- программное обеспечение 2012 года
- Языки программирования массивов
- Интерфейс ноутбука
- Кроссплатформенное программное обеспечение
- Программное обеспечение для интеллектуального анализа данных и машинного обучения
- Языки программирования, ориентированные на данные
- Динамически типизированные языки программирования
- Бесплатные компиляторы и интерпретаторы
- Бесплатные компьютерные библиотеки
- Бесплатное программное обеспечение для анализа данных
- Бесплатное программное обеспечение для визуализации данных
- Бесплатное программное обеспечение, написанное на C.
- Бесплатное программное обеспечение, написанное на Джулии.
- Бесплатные программные проекты
- Бесплатное статистическое программное обеспечение
- Функциональные языки
- Языки программирования высокого уровня
- Гомоиконические языки программирования
- Семейство языков программирования Лисп
- Мультипарадигмальные языки программирования
- Программное обеспечение для численного анализа для Linux
- Программное обеспечение для численного анализа для macOS
- Программное обеспечение для численного анализа для Windows
- Числовые библиотеки
- Численная линейная алгебра
- Языки числового программирования
- Объектно-ориентированные языки программирования
- Параллельные вычисления
- Процедурные языки программирования
- Языки программирования
- Языки программирования, созданные в 2012 году.
- Программное обеспечение, использующее лицензию MIT
- Статистические языки программирования
- Текстоориентированные языки программирования
- Языки программирования, поддерживающие единицы измерения