stringtranslate.com

Джулия (язык программирования)

Julia — это высокоуровневый , универсальный [16] динамический язык программирования , по-прежнему разработанный для быстрой и продуктивной работы, [17] например, для науки о данных, искусственного интеллекта, машинного обучения, моделирования и симуляции, наиболее часто используемый для численного анализа и вычислительной науки . [18] [19] [20]

Отличительные аспекты дизайна Julia включают в себя систему типов с параметрическим полиморфизмом и использование множественной диспетчеризации в качестве базовой парадигмы программирования , компилятор JIT ( Just-in-time ) по умолчанию [16] [21] (с поддержкой предварительной компиляции [22] [23] [24] ) и эффективную сборку мусора [25] . Примечательно, что Julia не поддерживает классы с инкапсулированными методами и вместо этого полагается на структуры с универсальными методами/функциями, не привязанными к ним.

По умолчанию Julia запускается аналогично скриптовым языкам, используя свою среду выполнения, и допускает взаимодействие , [22] но программы/ исходный код Julia также могут быть дополнительно отправлены пользователям в одном готовом к установке/запуску файле, который может быть создан быстро, не требуя ничего предварительно установленного. [26] Программы Julia также могут быть (отдельно) скомпилированы в двоичные исполняемые файлы , даже допуская распространение без исходного кода, и исполняемые файлы могут стать намного меньше с Julia 1.12. Такая компиляция не нужна для скорости, хотя она может снизить постоянную стоимость запуска, поскольку Julia также компилируется при запуске в интерактивном режиме, но она может помочь скрыть исходный код. Функции языка могут быть скомпилированы отдельно, поэтому Julia может использоваться, например, с его средой выполнения или без нее (что позволяет использовать меньшие исполняемые файлы и библиотеки, но ограничено в возможностях).

Программы Julia могут повторно использовать библиотеки из других языков, вызывая их, например, вызывая библиотеки C или Rust , и Julia (библиотеки) также могут вызываться из других языков, например, Python и R , и несколько пакетов Julia стали легкодоступными из этих языков в виде библиотек Python и R для соответствующих пакетов Julia. Вызов в любом направлении был реализован для многих языков, таких как все эти.

Расширение Visual Studio Code от Julia предоставляет полнофункциональную интегрированную среду разработки с поддержкой отладки, линтинга и профилирования . [27] [28] [29] [30]

История

Работа над Julia началась в 2009 году, когда Джефф Безансон , Стефан Карпински , Вирал Б. Шах и Алан Эдельман решили создать свободный язык, который был бы одновременно и высокоуровневым, и быстрым. 14 февраля 2012 года команда запустила веб-сайт с записью в блоге, объясняющей миссию языка. [4] В интервью InfoWorld в апреле 2012 года Карпински сказал об имени «Julia»: «На самом деле, нет веской причины. Просто оно показалось красивым». [19] Безансон сказал, что выбрал это имя по рекомендации друга, [31] а годы спустя написал:

Может быть, julia означает « Необычный шепелявый язык Джеффа автоматизирован »? [32]

Синтаксис Julia теперь считается стабильным, начиная с версии 1.0 в 2018 году, и Julia имеет гарантию обратной совместимости для 1.x, а также обещание стабильности для документированного (стабильного) API , в то время как в предыдущие годы на ранней стадии разработки до 0.7 синтаксис (и семантика) был изменен в новых версиях. Вся экосистема (зарегистрированных пакетов) использует новый и улучшенный синтаксис и в большинстве случаев опирается на новые API, которые добавлялись регулярно, а в некоторых случаях на незначительный дополнительный синтаксис, добавленный в режиме прямой совместимости, например, в Julia 1.7.

За 10 лет с момента запуска версии Julia pre-1.0 в 2012 году сообщество выросло. Экосистема пакета Julia насчитывает более 11,8 миллионов строк кода (включая документацию и тесты). [33] Академическая конференция JuliaCon для пользователей и разработчиков Julia проводится ежегодно с 2014 года, и JuliaCon2020 [34] собрала более 28 900 уникальных зрителей, [35] а затем JuliaCon2021 побила все предыдущие рекорды (более 300 презентаций JuliaCon2021 были доступны бесплатно на YouTube, по сравнению с 162 годом ранее), и 43 000 уникальных зрителей во время конференции. [36]

Трое из соавторов Julia стали лауреатами премии Джеймса Х. Уилкинсона за численное программное обеспечение 2019 года (вручается каждые четыре года) «за создание Julia, инновационной среды для создания высокопроизводительных инструментов, позволяющих анализировать и решать задачи вычислительной науки». [37] Кроме того, Алан Эдельман, профессор прикладной математики в Массачусетском технологическом институте , был выбран для получения премии Сидни Фернбаха IEEE Computer Society 2019 года «за выдающиеся прорывы в области высокопроизводительных вычислений, линейной алгебры и вычислительной науки, а также за вклад в язык программирования Julia». [38]

И Julia 0.7 [39] , и версия 1.0 были выпущены 8 августа 2018 года. Работа над Julia 0.7 была «огромным начинанием» (например, из-за «совершенно нового оптимизатора»), и были внесены некоторые изменения в семантику, например, был упрощен интерфейс итерации . [40] Julia 1.6 была самым крупным релизом с момента 1.0, и это была версия с долгосрочной поддержкой (LTS) в течение самого длительного времени, более быстрая по многим направлениям, например, введена параллельная предварительная компиляция и более быстрая загрузка пакетов, в некоторых случаях «ускорение времени загрузки для больших деревьев двоичных артефактов в 50 раз». [41] Начиная с версии 1.7 разработка Julia вернулась к выпускам, основанным на времени . [42] Julia 1.7.0 была выпущена в ноябре 2021 года со многими изменениями, например, новым более быстрым генератором случайных чисел . Julia 1.7.3 была выпущена 25 мая 2022 года, исправляя некоторые проблемы, включая как минимум одно обновление безопасности, [43] а 1.7.x больше не поддерживается. Julia 1.8 была выпущена в 2022 году (и версии до 1.8.5 в качестве продолжения в январе 2023 года, [44] исправляя как ошибки ( бэкпортирование ), так и «инвалидации», таким образом, компилируя быстрее), с улучшениями для распространения программ Julia без исходного кода и ускорением компилятора, в некоторых случаях на 25%, [45] и более контролируемым встраиванием (т. е. теперь также позволяет применять @inlineна месте вызова, а не только на самой функции). Julia 1.9.0 была выпущена 7 мая 2023 года. Она имеет множество улучшений, таких как возможность предварительной компиляции пакетов в машинный код (более старые версии Julia также имеют предварительную компиляцию для пакетов, но только частичную, никогда полностью в машинный код, поэтому эти более ранние версии имели штраф за «первое использование», замедляясь при ожидании полной компиляции). Предварительно скомпилированные пакеты, начиная с версии 1.9, могут быть в сотни раз быстрее при первом использовании (например, для CSV.jl и DataFrames.jl), а для улучшения предварительной компиляции пакетов был представлен новый пакет PrecompileTools.jl. Julia 1.10.0 была выпущена 25 декабря 2023 года (а обновление Julia 1.10.5 — 27 августа 2024 года) со многими новыми функциями, например, параллельной сборкой мусора и улучшенным временем загрузки пакетов, а также новым синтаксическим анализатором с лучшими сообщениями об ошибках и улучшенным рендерингом трассировки стека. [46]

Julia 1.11.0 была выпущена 7 октября 2024 года (а 1.11.1 — 16 октября), и вместе с ней 1.10.5 стала следующей версией с долгосрочной поддержкой (LTS) (т. е. это единственные две поддерживаемые версии), поскольку была заменена 1.10.6, выпущенной 28 октября, и 1.6 больше не является версией LTS. Julia 1.11 добавляет, например, новое publicключевое слово для сигнализации о безопасном публичном API (пользователям Julia рекомендуется использовать такой API, а не внутренние компоненты Julia или пакетов, а авторам пакетов рекомендуется использовать ключевое слово, как правило, косвенно, например, с префиксом @compatмакроса из Compat.jl , чтобы также поддерживать более старые версии Julia, по крайней мере, версию LTS). Julia 1.11.1 имеет значительно улучшенный запуск (по сравнению с 1.11.0, в которой была регрессия), и по сравнению с 1.10, и это может быть важно для некоторых тестов.

Некоторые пользователи могут захотеть отложить обновление до версии 1.11 (например, те, кто вызывает Julia из R) из-за известной временной несовместимости пакетов.

Возможно создание гораздо меньших исполняемых двоичных файлов, juliacчто доступно только в грядущей версии Julia 1.12 (текущая «ночная» версия).

ДжулияКон

С 2014 года [47] сообщество Julia проводит ежегодную конференцию Julia, ориентированную на разработчиков и пользователей. Первая JuliaCon прошла в Чикаго и положила начало ежегодному проведению конференции. С 2014 года конференция проводилась в нескольких местах, включая MIT [48] и Университет Мэриленда в Балтиморе. [49] Аудитория мероприятия выросла с нескольких десятков человек до более чем 28 900 уникальных участников [50] во время JuliaCon 2020, которая проходила виртуально. JuliaCon 2021 также проходил виртуально [51] с основными докладами профессоров Уильяма Кахана , главного архитектора стандарта с плавающей точкой IEEE 754 (который используют практически все процессоры и языки, включая Julia), [52] Яна Витека, [53] Сяойе Шерри Ли и Сумита Чинталы, соавтора PyTorch . [54] JuliaCon вырос до 43 000 уникальных посетителей и более 300 презентаций (все еще в свободном доступе, плюс для более старых лет). JuliaCon 2022 также будет проводиться виртуально с 27 по 29 июля 2022 года, впервые на нескольких языках, а не только на английском.

Спонсоры

Язык Julia стал проектом, спонсируемым NumFOCUS, в 2014 году в целях обеспечения долгосрочной устойчивости проекта. [55] Джереми Кепнер из MIT Lincoln Laboratory был спонсором-основателем проекта Julia на ранних этапах его развития. Кроме того, средства от Gordon and Betty Moore Foundation , Alfred P. Sloan Foundation , Intel и таких агентств, как NSF , DARPA , NIH , NASA и FAA, сыграли важную роль в разработке Julia. [56] Mozilla , производитель веб-браузера Firefox, с помощью своих исследовательских грантов на первое полугодие 2019 года спонсировала «члена официальной команды Julia» для проекта «Bringing Julia to the Browser», [57] то есть для Firefox и других веб-браузеров. [58] [59] [60] [61] Язык Julia также поддерживается индивидуальными донорами на GitHub. [62]

Компания Джулия

JuliaHub, Inc. была основана в 2015 году как Julia Computing, Inc. Виралом Б. Шахом , Дипаком Винчхи, Аланом Эдельманом , Джеффом Безансоном , Стефаном Карпински и Кено Фишером . [63] [64]

В июне 2017 года Julia Computing привлекла 4,6  млн долларов США в качестве начального финансирования от General Catalyst и Founder Collective [65] , в том же месяце « Фонд Альфреда П. Слоуна выделил 910 000 долларов США на поддержку разработки Julia с открытым исходным кодом , включая 160 000 долларов США на содействие разнообразию в сообществе Julia» [66] , а в декабре 2019 года компания получила  финансирование в размере 1,1 млн долларов США от правительства США на «разработку инструмента машинного обучения на основе нейронных компонентов для снижения общего потребления энергии системами отопления, вентиляции и кондиционирования воздуха (HVAC) в зданиях». [67] В июле 2021 года Julia Computing объявила, что привлекла 24 млн долларов США в раунде серии A под руководством Dorilton Ventures [68] , которой также принадлежит команда Формулы-1 Williams Racing , которая сотрудничала с Julia Computing. Коммерческий директор Williams сказал: «Инвестирование в компании, создающие лучшие в своем классе облачные технологии, является стратегическим направлением для Dorilton, а универсальная платформа Julia с революционными возможностями в области симуляции и моделирования имеет огромное значение для нашего бизнеса. Мы с нетерпением ждем внедрения Julia Computing в самый технологически продвинутый вид спорта в мире». [69] В июне 2023 года JuliaHub получила (опять же, теперь под новым названием) стратегические новые инвестиции в размере 13 миллионов долларов от AE Industrial Partners HorizonX («AEI HorizonX»). AEI HorizonX — это венчурная инвестиционная платформа, созданная в партнерстве с компанией Boeing , которая использует Julia. [70] Работа Тима Холи (в лаборатории Holy Lab в Вашингтонском университете в Сент-Луисе ) над Julia 1.9 (улучшение отзывчивости) финансировалась Chan Zuckerberg Initiative .

Особенности языка

Julia — это язык программирования общего назначения , [71] хотя изначально он также был разработан для числовых/технических вычислений. Он также полезен для программирования систем низкого уровня , [72] как язык спецификации , [73] инструмент синтеза высокого уровня (HLS) (для оборудования, например, ПЛИС ), [74] и для веб-программирования [75] как на стороне сервера [76] [77] , так и на стороне клиента [78] [79] .

Основными особенностями языка являются:

Множественная диспетчеризация (также называемая мультиметодами в Lisp) является обобщением одиночной диспетчеризации  — полиморфного механизма , используемого в распространенных языках объектно-ориентированного программирования (ООП), таких как Python , C++ , Java , JavaScript и Smalltalk  , — который использует наследование . В Julia все конкретные типы являются подтипами абстрактных типов, напрямую или косвенно подтипами типа Any, который является вершиной иерархии типов. Конкретные типы сами по себе не могут быть подтипированы так, как это возможно в других языках; вместо этого используется композиция (см. также наследование против подтипирования ).

По умолчанию среда выполнения Julia должна быть предварительно установлена, поскольку запускается исходный код, предоставленный пользователем. В качестве альтернативы приложения Julia (GUI) можно быстро объединить в один файл с помощью AppBundler.jl [26] для «создания приложений Julia GUI в современных форматах установщиков настольных приложений. Он использует Snap для Linux, MSIX для Windows и DMG для MacOS в качестве целей. Он объединяет полную Julia в приложении». [80] PackageCompiler.jl может создавать автономные исполняемые файлы , для запуска которых не требуется исходный код Julia. [22]

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

Большинство парадигм программирования можно реализовать с помощью гомоиконических макросов и пакетов Julia. Синтаксические макросы Julia (используемые для метапрограммирования ), такие как макросы Lisp, более мощные, чем макросы текстовой подстановки, используемые в препроцессоре некоторых других языков, таких как C, поскольку они работают на уровне абстрактных синтаксических деревьев (AST). Система макросов Julia гигиенична , но также поддерживает преднамеренный захват при желании (например, для анафорических макросов ) с помощью escконструкции.

Julia черпает вдохновение из различных диалектов Lisp, включая Scheme и Common Lisp , и разделяет многие черты с Dylan , также динамическим языком, ориентированным на множественную диспетчеризацию (который имеет инфиксный синтаксис, а не префиксный синтаксис Lisp-подобного типа, в то время как в Julia «всё» [81] является выражением ), и с Fortress , другим числовым языком программирования (который имеет множественную диспетчеризацию и сложную параметрическую систему типов). Хотя Common Lisp Object System (CLOS) добавляет множественную диспетчеризацию в Common Lisp, не все функции являются универсальными функциями.

В Julia, Dylan и Fortress расширяемость является значением по умолчанию, и все встроенные функции системы являются общими и расширяемыми. В Dylan множественная диспетчеризация так же фундаментальна, как и в Julia: все определяемые пользователем функции и даже базовые встроенные операции, такие как +являются общими. Однако система типов Dylan не полностью поддерживает параметрические типы, которые более типичны для языков ML . По умолчанию CLOS не допускает диспетчеризацию параметрических типов Common Lisp; такая расширенная семантика диспетчеризации может быть добавлена ​​только как расширение через протокол метаобъектов CLOS . Благодаря конвергентной конструкции Fortress также имеет множественную диспетчеризацию параметрических типов; однако, в отличие от Julia, Fortress статически, а не динамически типизирован, с отдельными фазами компиляции и выполнения. Возможности языка обобщены в следующей таблице:

Примером расширяемости Julia является пакет Unitful.jl, добавляющий в язык поддержку физических единиц измерения .

Взаимодействие

Julia имеет встроенную поддержку вызова библиотек языка C или Fortran@ccall с помощью макроса. Дополнительные библиотеки позволяют пользователям работать с Python , [82] R , [83] C++ , [84] Java , [85] и SQL . [86] [87] [88] [89]

Вариант отдельно скомпилированных исполняемых файлов

Julia может быть скомпилирована в двоичные исполняемые файлы с помощью PackageCompiler.jl. [22] Меньшие исполняемые файлы также могут быть написаны с использованием статического подмножества языка, предоставляемого StaticCompiler.jl, который не поддерживает диспетчеризацию во время выполнения (и сборку мусора, поскольку исключает среду выполнения, которая ее предоставляет). [90]

Взаимодействие

Официальный дистрибутив Julia включает интерактивный цикл командной строки для чтения-вычисления-печати (REPL) [91] с возможностью поиска по истории, автодополнением по табуляции и специальными режимами справки и оболочки [92] , которые можно использовать для быстрого экспериментирования и тестирования кода. [93] Следующий фрагмент представляет собой пример сеанса, в котором строки автоматически объединяются с помощью println: [94]

julia> p ( x ) = 2 x ^ 2 + 1 ; f ( x , y ) = 1 + 2 p ( x ) y julia> println ( "Привет, мир!" , " Я на облаке " , f ( 0 , 4 ), " так как Julia поддерживает распознаваемый синтаксис!" ) Привет, мир! Я на облаке 9 , так как Julia поддерживает распознаваемый синтаксис!                

REPL предоставляет пользователю доступ к системной оболочке и к режиму справки, нажав ;или ?после приглашения (предшествующего каждой команде) соответственно. Он также хранит историю команд, в том числе между сеансами. [95] Код можно протестировать внутри интерактивного сеанса Джулии или сохранить в файл с .jlрасширением и запустить из командной строки, набрав: [81]

$ джулия  <имя файла>

Julia использует коды UTF-8 и LaTeX , что позволяет ей поддерживать общие математические символы для многих операторов, например, ∈ для inоператора, вводимого с \inпоследующим нажатием Tab ↹(т. е. использует коды LaTeX или также возможного простым копированием-вставкой, например, √ и ∛ возможны для функций sqrt и cbrt ). Julia поддерживает последнюю основную версию Unicode 15.0 (Julia 1.11-DEV поддерживает последнюю версию 15.1 [96] ) [97] для языков мира, даже для исходного кода, например, имен переменных (хотя рекомендуется использовать английский язык для открытого кода и, например, имен пакетов).

Julia поддерживается Jupyter , онлайновой интерактивной средой «блокнотов», [98] и Pluto.jl, «реактивным блокнотом» (где блокноты сохраняются как чистые файлы Julia), возможной заменой для предыдущего типа. [99] Кроме того, издательская система Quarto компании Posit (ранее RStudio Inc) поддерживает Julia, Python, R и Observable JavaScript (эти языки официально поддерживаются компанией и даже могут быть объединены в одном документе блокнота, неофициально поддерживается больше языков). [100] [101]

REPL может быть расширен дополнительными режимами, и это было сделано с пакетами, например, с режимом SQL , [102] для доступа к базе данных, а RCall.jl добавляет режим R для работы с языком R. [103]

Использовать с другими языками

Julia на практике совместима с другими языками, фактически с большинством из 20 самых популярных языков. Julia может использоваться для индивидуального вызова функций разделяемой библиотеки, например, написанных на C или Fortran, и доступны пакеты, позволяющие вызывать другие языки (которые не предоставляют экспортируемые из C функции напрямую), например, Python (с PythonCall.jl), R, [104] MATLAB, C# (и другие языки .NET с DotNET.jl, из них с JdotNET), JavaScript, Java (и другие языки JVM, такие как Scala с JavaCall.jl). А пакеты для других языков позволяют вызывать Julia, например, из Python, R (в настоящее время возможно в Julia 1.10.x [105] ), Rust , Ruby или C#. Например, juliacall (часть PythonCall.jl) для вызова из Python и другой пакет JuliaCall для вызова Julia до версии 1.10.x из R. Julia также использовалась для аппаратного обеспечения, то есть для компиляции в VHDL , как инструмент высокоуровневого синтеза , например, ПЛИС . [74]

Julia имеет пакеты, поддерживающие языки разметки, такие как HTML (а также для HTTP ), XML , JSON и BSON , а также для баз данных (таких как PostgreSQL, [106] Mongo, [107] Oracle, включая TimesTen , [108] MySQL, SQLite, Microsoft SQL Server, [107] Amazon Redshift, Vertica, ODBC) и веб-использование в целом. [109] [110]

Система пакетов

Julia имеет встроенный менеджер пакетов и включает в себя систему реестра по умолчанию. [111] Пакеты чаще всего распространяются как исходный код, размещенный на GitHub , хотя альтернативы также могут быть использованы с тем же успехом. Пакеты также могут быть установлены как двоичные файлы, используя артефакты. [112] Менеджер пакетов Julia используется для запроса и компиляции пакетов, а также для управления средами. Поддерживаются федеративные реестры пакетов, что позволяет локально добавлять реестры, отличные от официального. [113]

Выполнение

Ядро Julia реализовано на Julia и C , вместе с C++ для зависимости LLVM . Разбор кода, понижение кода и начальная загрузка были реализованы в FemtoLisp, диалекте Scheme , до версии 1.10. [114] Начиная с этой версии для разбора используется новый чистый пакет JuliaSyntax.jl (хотя старый пакет все еще можно выбрать) [115] , что повышает скорость и «значительно улучшает сообщения об ошибках синтаксического анализатора в различных случаях». [116] Проект инфраструктуры компилятора LLVM используется в качестве бэкэнда для генерации оптимизированного машинного кода для всех распространенных платформ. За некоторыми исключениями стандартная библиотека реализована в Julia.

Текущие и будущие платформы

Julia имеет встроенную поддержку macOS уровня 1 для 64-битных компьютеров Apple Silicon Mac (ранее такие компьютеры Mac на базе Apple M1 поддерживались только при запуске в эмуляции Rosetta 2 [117] [118] ), а также полностью поддерживает компьютеры Mac на базе Intel. Windows на ARM пока официально не поддерживает. Julia имеет «начальную поддержку OpenBSD в julia», но скоро появится больше возможностей, чтобы она действительно заработала: https://github.com/JuliaLang/julia/issues/53632 -->

Julia имеет четыре уровня поддержки. [119] Поддерживаются все процессоры IA-32, полностью реализующие подархитектуру i686 , и все 64-битные x86-64 (они же amd64 ), т. е. все, которым менее десяти лет, поддерживаются. Процессоры Armv8 ( AArch64 ) поддерживаются на первом уровне (для macOS); в противном случае — на втором уровне в Linux, а ARMv7 (AArch32) — на третьем уровне. [120] Сотни пакетов поддерживаются GPU-ускорением : [121] Графические процессоры Nvidia поддерживают CUDA .jl (уровень 1 в 64-битном Linux и уровень 2 в 64-битном Windows, пакет реализует PTX , для вычислительных возможностей 3.5 (Kepler) или выше; для обоих требуется CUDA 11+, более старые версии пакетов работают вплоть до CUDA 9). Также существуют дополнительные пакеты, поддерживающие другие ускорители, такие как TPU от Google , [122] и некоторые (интегрированные) графические процессоры Intel через oneAPI.jl , [123] а графические процессоры AMD поддерживают, например, OpenCL ; и экспериментальную поддержку стека AMD ROCm . [124]

На некоторых платформах Julia может потребоваться скомпилировать из исходного кода (например, оригинальный Raspberry Pi ) с определенными параметрами сборки, что было сделано, и доступны неофициальные предварительно собранные двоичные файлы (и инструкции по сборке). [125] [126] Julia была собрана для нескольких платформ ARM, от небольших Raspberry Pi до самого быстрого в мире (в какой-то момент, до недавнего времени) суперкомпьютера Fugaku на базе ARM A64FX . [127] PowerPC (64-разрядная версия) имеет поддержку уровня 3, что означает, что она «может собираться, а может и не собираться». Julia теперь поддерживается в Raspbian [128], в то время как поддержка лучше для более новых Pi, например, с Armv7 или новее; поддержка Julia продвигается Raspberry Pi Foundation . [129] Julia также была собрана для 64-разрядной RISC-V , [130] [131] которая имеет некоторый поддерживающий код в ядре Julia.

Хотя Julia по умолчанию требует наличия операционной системы и не имеет официальной поддержки для работы без нее или на встроенных системных платформах, таких как Arduino , код Julia все еще запускается на нем, с некоторыми ограничениями, то есть на пустом 16  МГц 8-битном ( ATmega328P ) AVR-микроконтроллере Arduino с 2 КБ ОЗУ (плюс 32 КБ флэш-памяти). [132] [133]

Принятие

Julia была принята во многих университетах, включая MIT , Stanford , UC Berkeley , Ferdowsi University of Mashhad и University of Cape Town . Крупные частные фирмы во многих секторах приняли язык, включая Amazon , IBM , JP Morgan AI Research, [134] и ASML . Julia также использовалась государственными учреждениями, включая NASA и FAA , а также каждой национальной энергетической лабораторией США. [17] [135]

Научные вычисления и инжиниринг

Фармацевтика и разработка лекарственных препаратов

Julia широко используется для разработки лекарств в фармацевтической промышленности и была принята на вооружение компаниями Moderna , Pfizer , AstraZeneca , Procter & Gamble и United Therapeutics . [155] [156]

Экономика, финансы и политология

Смотрите также

Ссылки

  1. ^ "Сглаживание данных с помощью @generated функций Julia". 5 ноября 2015 г. Архивировано из оригинала 4 марта 2016 г. Получено 9 декабря 2015 г. Сгенерированные функции Julia тесно связаны с парадигмой многоэтапного программирования (MSP), популяризированной Тахой и Ширдом, которая обобщает этапы времени компиляции/времени выполнения выполнения программы, допуская несколько этапов отложенного выполнения кода.
  2. ^ "LICENSE.md". GitHub . Сентябрь 2017. Архивировано из оригинала 23 января 2021. Получено 20 октября 2014 .
  3. ^ "Contributors to JuliaLang/julia". GitHub . Архивировано из оригинала 23 января 2021 г. Получено 20 октября 2014 г.
  4. ^ abcde Джефф Безансон; Стефан Карпински; Вирал Шах; Алан Эдельман (февраль 2012 г.). «Почему мы создали Джулию». Веб-сайт Julia . Архивировано из оригинала 2 мая 2020 г. Получено 7 февраля 2013 г.
  5. ^ "Julia v1.11.0 была выпущена, а v1.10 теперь LTS". 8 октября 2024 г. Получено 10 октября 2024 г.
  6. ^ "Releases · JuliaLang/julia". GitHub . Получено 28 октября 2024 .
  7. ^ "Backports for 1.11.2 by KristofferC · Pull Request #56228 · JuliaLang/julia". GitHub . Получено 18 октября 2024 г. .
  8. ^ ab Engheim, Erik (17 ноября 2017 г.). «Динамически типизированные языки — это не то, что вы думаете». Medium . Архивировано из оригинала 5 марта 2021 г. . Получено 27 января 2021 г. .
  9. ^ "Building Julia (Detailed)". GitHub . Сентябрь 2017. Архивировано из оригинала 16 мая 2022. Получено 16 мая 2022 .
  10. ^ "NVIDIA CUDA ⋅ JuliaGPU". juliagpu.org . Архивировано из оригинала 29 января 2022 г. . Получено 17 января 2022 г. . мы показали, что производительность приближается и даже иногда превосходит производительность CUDA C на выборке приложений из пакета тестов Rodinia
  11. ^ Стокел-Уокер, Крис. "Джулия: язык Златовласки". Increment . Stripe. Архивировано из оригинала 9 ноября 2020 г. Получено 23 августа 2020 г.
  12. ^ "JuliaCon 2016". JuliaCon. Архивировано из оригинала 4 марта 2017 года . Получено 6 декабря 2016 года . Он был одним из разработчиков языка программирования Scheme, который оказал большое влияние на дизайн Julia
  13. ^ abcd "Главная · Язык Julia". docs.julialang.org . Архивировано из оригинала 11 января 2021 г. . Получено 15 августа 2018 г. .
  14. ^ "Programming Language Network". GitHub. Архивировано из оригинала 20 декабря 2020 г. Получено 6 декабря 2016 г.
  15. ^ «Как мы должны называть язык Mathematica?—Сочинения Стивена Вольфрама». writings.stephenwolfram.com . 12 февраля 2013 г. Архивировано из оригинала 4 сентября 2024 г. Получено 24 июня 2021 г.
  16. ^ ab Фишер, Кено; Нэш, Джеймсон. «Выращивание компилятора — переход к машинному обучению с помощью компилятора общего назначения». juliahub.com . Получено 16 ноября 2022 г. .
  17. ^ ab "'Why We Created Julia' Turns Ten Years Old". juliahub.com . Архивировано из оригинала 16 ноября 2022 г. Получено 16 ноября 2022 г.
  18. ^ Брайант, Ави (15 октября 2012 г.). «Matlab, R и Julia: Языки для анализа данных». O'Reilly Strata. Архивировано из оригинала 26 апреля 2014 г.
  19. ^ ab Krill, Paul (18 апреля 2012 г.). «Новый язык Julia стремится стать языком C для ученых». InfoWorld . Архивировано из оригинала 13 сентября 2014 г. Получено 4 июля 2021 г.
  20. ^ Финли, Клинт (3 февраля 2014 г.). «Out in the Open: Man Creates One Programming Language to Rule Them All». Wired . Архивировано из оригинала 20 декабря 2016 г. Получено 8 марта 2017 г.
  21. ^ "Sysimages · PackageCompiler". julialang.github.io . Архивировано из оригинала 10 апреля 2023 г. . Получено 10 апреля 2023 г. .
  22. ^ abcd "GitHub - JuliaLang/PackageCompiler.jl: скомпилируйте свой пакет Julia". Язык Julia. 14 февраля 2019 г. Архивировано из оригинала 23 марта 2019 г. Получено 15 февраля 2019 г.
  23. ^ "julia/doc/src/devdocs/aot.md at master · JuliaLang/julia". GitHub . Архивировано из оригинала 3 октября 2023 г. . Получено 3 октября 2023 г. .
  24. ^ "Построение образа системы · Язык Julia". docs.julialang.org . Получено 3 октября 2023 г. .
  25. ^ "Приостановка сборки мусора для повышения производительности...хорошая идея или плохая?". Groups.google.com . Архивировано из оригинала 14 февраля 2012 г. Получено 31 мая 2017 г.
  26. ^ ab "AppBundler.jl". PeaceFounder. 13 декабря 2023 г. Архивировано из оригинала 18 декабря 2023 г. Получено 18 декабря 2023 г.
  27. ^ Холи, Тим (13 сентября 2019 г.). "GitHub - timholy/ProfileView.jl: Визуализация данных профилирования Julia". GitHub . Архивировано из оригинала 31 января 2020 г. . Получено 22 сентября 2019 г. .
  28. ^ Грегг, Брендан (20 сентября 2019 г.). "GitHub - brendangregg/FlameGraph: Stack trace visualizer". GitHub . Архивировано из оригинала 26 сентября 2019 г. . Получено 22 сентября 2019 г. .
  29. ^ "Интерпретатор и отладчик Julia". julialang.org . Получено 10 апреля 2019 г. .
  30. ^ "Главная · Rebugger.jl". timholy.github.io . Архивировано из оригинала 31 марта 2019 . Получено 10 апреля 2019 .
  31. ^ Торре, Чарльз. «Стефан Карпински и Джефф Безансон о Джулии». Channel 9. MSDN. Архивировано из оригинала 4 декабря 2018 г. Получено 4 декабря 2018 г.
  32. ^ Bezanson, Jeff (2 апреля 2021 г.). "CAS Benchmarks". discourse.julialang.org . Архивировано из оригинала 2 апреля 2021 г. . Получено 2 апреля 2021 г. .
  33. ^ "Информационный бюллетень за август 2021 г. - Julia Computing завершила серию сборов средств на сумму 24 миллиона долларов, а бывший генеральный директор Snowflake Боб Маглия присоединился к совету директоров Julia Computing - JuliaHub". juliahub.com . Архивировано из оригинала 16 ноября 2022 г. . Получено 16 ноября 2022 г. .
  34. ^ "JuliaCon 2020". JuliaCon 2020 . Архивировано из оригинала 12 октября 2023 . Получено 6 октября 2023 .
  35. ^ "JuliaCon 2020 Wrap-up". julialang.org . 11 августа 2020 г. Архивировано из оригинала 30 ноября 2020 г. Получено 20 декабря 2020 г.
  36. ^ "JuliaCon 2021 Highlights". julialang.org . Архивировано из оригинала 6 сентября 2021 г. . Получено 6 сентября 2021 г. .
  37. ^ "Соавторы языка Julia получили премию Джеймса Х. Уилкинсона за численное программное обеспечение". Новости MIT . 26 декабря 2018 г. Архивировано из оригинала 28 января 2019 г. Получено 22 января 2019 г.
  38. ^ "Алан Эдельман из Массачусетского технологического института удостоен престижной премии Сидни Фернбаха IEEE Computer Society 2019 года | IEEE Computer Society" (пресс-релиз). 1 октября 2019 г. Архивировано из оригинала 9 октября 2019 г. Получено 9 октября 2019 г.
  39. ^ «Что такое Julia 0.7? Как она связана с 1.0?». JuliaLang . 26 марта 2018 г. Архивировано из оригинала 27 июля 2018 г. Получено 17 октября 2018 г.
  40. ^ Дэвис, Эрик. «Написание итераторов в Julia 0.7». julialang.org . Архивировано из оригинала 6 августа 2018 г. . Получено 5 августа 2018 г. .
  41. ^ Джефф Безансон; Стефан Карпински; Вирал Шах; Алан Эдельман; и др. «Julia 1.6 Highlights». julialang.org . Архивировано из оригинала 26 марта 2021 г. . Получено 26 марта 2021 г. .
  42. ^ "Обновление до OpenBLAS 0.3.13 · Pull Request #39216 · JuliaLang/julia". GitHub . Архивировано из оригинала 23 марта 2022 г. Получено 26 апреля 2021 г. Учитывая , что 1.7 не так уж и далеко (выпуски запланированы)
  43. ^ "[Zlib_jll] Обновление до v1.2.12+3 от giordano · Запрос на извлечение #44810 · JuliaLang/julia". GitHub . Архивировано из оригинала 25 мая 2022 г. Получено 25 мая 2022 г.
  44. ^ "Backports for Julia 1.8.5 by KristofferC · Pull Request #48011 · JuliaLang/julia". GitHub . Архивировано из оригинала 4 января 2023 г. . Получено 8 января 2023 г. .
  45. ^ "компилятор: ускорить время загрузки на 25% от aviatesk · Pull Request #41794 · JuliaLang/julia". GitHub . Архивировано из оригинала 3 марта 2022 г. Получено 3 марта 2022 г. Ранее загрузка занимала около 80 секунд, но в этом PR время сокращено примерно до 60 секунд.
  46. ^ "Julia v1.10 Release Notes · The Julia Language". docs.julialang.org . 25 декабря 2023 г. Архивировано из оригинала 30 марта 2024 г. Получено 30 марта 2024 г.
  47. ^ "JuliaCon 2014". juliacon.org . Получено 20 июня 2021 г. .
  48. ^ "JuliaCon 2016 at MIT". mit.edu . 18 июля 2016 г. Архивировано из оригинала 24 июня 2021 г. Получено 20 июня 2021 г.
  49. ^ "JuliaCon 2019 at UMB". technical.ly . 23 июля 2019 г. Архивировано из оригинала 24 июня 2021 г. Получено 20 июня 2021 г.
  50. ^ "JuliaCon 2020 round up". julialang.org . Архивировано из оригинала 30 ноября 2020 . Получено 20 июня 2021 .
  51. ^ "JuliaCon 2021". Juliacon.org . Архивировано из оригинала 20 июня 2021 . Получено 20 июня 2021 .
  52. ^ "JuliaCon 2021 Highlights". julialang.org . Архивировано из оригинала 6 сентября 2021 г. . Получено 3 марта 2022 г. . В этом году JuliaCon стал самым масштабным и лучшим из когда-либо существовавших: более 300 презентаций были доступны бесплатно на YouTube, более 20 000 регистраций и более 43 000 уникальных зрителей YouTube во время конференции, по сравнению со 162 презентациями, 10 000 регистраций и 28 900 уникальных зрителей YouTube во время прошлогодней конференции.
  53. ^ "Jan Vitek Homepage". janvitek.org . Архивировано из оригинала 22 января 2024 г. Получено 20 июня 2021 г.
  54. ^ "Soumith Chintala Homepage". soumith.ch . Архивировано из оригинала 24 июня 2021 г. . Получено 20 июня 2021 г. .
  55. ^ "Julia: NumFOCUS Sponsored Project since 2014". numfocus.org . Архивировано из оригинала 28 сентября 2020 . Получено 29 сентября 2020 .
  56. ^ "The Julia Language". julialang.org . Архивировано из оригинала 26 июля 2019 . Получено 22 сентября 2019 .
  57. ^ Cimpanu, Catalin. «Mozilla финансирует способ поддержки Julia в Firefox». ZDNet . Архивировано из оригинала 10 июля 2019 г. Получено 22 сентября 2019 г.
  58. ^ "Julia in Iodide". alpha.iodide.io . Архивировано из оригинала 22 сентября 2019 . Получено 22 сентября 2019 .
  59. ^ "Language plugins - Iodide Documentation". iodide-project.github.io . Архивировано из оригинала 22 сентября 2019 . Получено 22 сентября 2019 .
  60. ^ "Mozilla Research Grants 2019H1". Mozilla . Архивировано из оригинала 9 октября 2019 г. . Получено 22 сентября 2019 г. . запуск языковых интерпретаторов в WebAssembly. Чтобы еще больше расширить доступ к ведущим инструментам науки о данных, мы ищем того, кто сможет перенести R или Julia в WebAssembly и попытаться предоставить языковой плагин уровня 3 для Iodide: автоматическое преобразование базовых типов данных между R/Julia и Javascript, а также возможность совместного использования экземпляров классов между R/Julia и Javascript.
  61. ^ "Грамотные научные вычисления и коммуникация для Интернета: iodide-project/iodide". iodide. 20 сентября 2019 г. Архивировано из оригинала 24 августа 2018 г. Получено 22 сентября 2019 г. Мы представляем себе будущий рабочий процесс, который позволит вам выполнять обработку данных в Python, подгонять быструю модель в R или JAGS, решать некоторые дифференциальные уравнения в Julia, а затем отображать результаты с помощью живой интерактивной визуализации d3+JavaScript... и все это в одном, переносимом, общем и взламываемом файле.
  62. ^ "Спонсор языка Julia". github.com . Архивировано из оригинала 5 июля 2021 г. . Получено 5 июня 2021 г. .
  63. ^ "О нас – Julia Computing". juliacomputing.com . Архивировано из оригинала 1 сентября 2019 . Получено 12 сентября 2017 .
  64. ^ "О нас - JuliaHub". juliahub.com . Архивировано из оригинала 16 ноября 2022 . Получено 16 ноября 2022 .
  65. ^ "Julia Computing привлекает $4.6M начального финансирования" (пресс-релиз). Архивировано из оригинала 10 мая 2019 г.
  66. ^ «Julia Computing получила грант в размере 910 000 долларов от Фонда Альфреда П. Слоуна, включая 160 000 долларов на STEM-разнообразие». juliacomputing.com . 26 июня 2017 г. Архивировано из оригинала 3 августа 2020 г. Получено 28 июля 2020 г.
  67. ^ «ДИФФЕРЕНЦИАЦИЯ — Проектирование интеллекта, способствующее значительному сокращению потребления энергии (и) позволяющее внедрять совершенно новые, полностью эффективные усовершенствования передовых технологий» (PDF) .
  68. ^ "Julia Computing привлекает $24 млн в раунде финансирования под руководством Dorilton Ventures". Reuters . 19 июля 2021 г. Архивировано из оригинала 18 августа 2021 г. Получено 18 августа 2021 г.
  69. ^ "Williams приветствует Julia Computing в качестве партнера Dorilton Ventures". www.williamsf1.com (пресс-релиз). Архивировано из оригинала 2 сентября 2021 г. Получено 2 сентября 2021 г.
  70. ^ «JuliaHub получает стратегические инвестиции в размере 13 миллионов долларов от AE Industrial Partners HorizonX». info.juliahub.com (пресс-релиз). 27 июня 2023 г. Получено 30 июня 2023 г.
  71. ^ "The Julia Language" (официальный сайт). Архивировано из оригинала 21 февраля 2017 г. . Получено 9 декабря 2016 г. . Общее назначение [..] Julia позволяет вам писать пользовательские интерфейсы, статически компилировать ваш код или даже развертывать его на веб-сервере.
  72. ^ Грин, Тодд (10 августа 2018 г.). «Низкоуровневое системное программирование в высокоуровневом Julia». Архивировано из оригинала 5 ноября 2018 г. Получено 5 ноября 2018 г.
  73. ^ Moss, Robert (26 июня 2015 г.). «Использование Julia в качестве языка спецификаций для системы предотвращения столкновений в воздухе следующего поколения» (PDF) . Архивировано из оригинала 1 июля 2015 г. . Получено 29 июня 2015 г. . Система предотвращения столкновений в воздухе
  74. ^ ab Биггс, Бенджамин; МакИнерни, Ян; Керриган, Эрик К.; Константинидес, Джордж А. (2022). «Высокоуровневый синтез с использованием языка Julia». arXiv : 2201.11522 [cs.SE]. Мы представляем прототип инструмента Julia HLS, написанный на Julia, который преобразует код Julia в VHDL.
  75. ^ «Объявляем о Dash для Julia». plotly (пресс-релиз). 26 октября 2020 г. Архивировано из оригинала 2 сентября 2021 г. Получено 2 сентября 2021 г.
  76. ^ Anaya, Richard (28 апреля 2019 г.). "Как создать многопоточный HTTP-сервер в Julia". Medium . Архивировано из оригинала 25 июля 2019 г. . Получено 25 июля 2019 г. . Подводя итог, можно сказать, что даже несмотря на то, что в Julia в настоящее время отсутствует готовое решение для многопоточного сервера, мы можем легко воспользоваться его функциями распределения процессов и очень популярной технологией балансировки нагрузки, чтобы получить полную загрузку ЦП для обработки HTTP.
  77. ^ Anthoff, David (1 июня 2019 г.). "Установка Node.js для julia". GitHub . Архивировано из оригинала 4 сентября 2024 г. Получено 25 июля 2019 г.
  78. ^ "Перевести Julia на JavaScript". JuliaGizmos. 7 июля 2019 г. Архивировано из оригинала 28 марта 2019 г. Получено 25 июля 2019 г.
  79. ^ Фишер, Кено (22 июля 2019 г.). «Запуск julia на wasm». GitHub . Архивировано из оригинала 21 ноября 2020 г. Получено 25 июля 2019 г.
  80. ^ "[ANN] AppBundler.jl - Bundle Your Julia GUI Application". Язык программирования Julia . 30 ноября 2023 г. Архивировано из оригинала 4 сентября 2024 г. Получено 18 декабря 2023 г.
  81. ^ ab "Learn Julia in Y Minutes". Learnxinyminutes.com . Архивировано из оригинала 15 августа 2018 г. Получено 31 мая 2017 г.
  82. ^ "PythonCall & JuliaCall". JuliaPy. 29 октября 2023 г. Архивировано из оригинала 31 октября 2023 г. Получено 30 октября 2023 г.
  83. ^ "RCall.jl". JuliaInterop. 16 октября 2023 г. Архивировано из оригинала 30 апреля 2019 г. Получено 30 октября 2023 г.
  84. ^ "CxxWrap". JuliaInterop. 28 октября 2023 г. Получено 30 октября 2023 г.
  85. ^ «Джулия и Спарк, вместе лучше». juliacomputing.com . 2 июня 2020 г. Архивировано из оригинала 14 июля 2020 г.
  86. Foster, Claire (23 октября 2023 г.). "SQLREPL.jl". Архивировано из оригинала 27 сентября 2022 г. Получено 31 октября 2023 г.
  87. Noh, WooKyoung (18 октября 2023 г.). "Octo.jl" . Получено 31 октября 2023 г.
  88. ^ "Usage Guide · FunSQL.jl". mechanicalrabbit.github.io . Архивировано из оригинала 31 октября 2023 г. Получено 31 октября 2023 г.
  89. ^ «Использование Julia с базами данных Oracle». 21 октября 2022 г. Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  90. Short, Tom (30 октября 2023 г.). "StaticCompiler". Архивировано из оригинала 31 октября 2023 г. Получено 30 октября 2023 г.
  91. ^ "The Julia REPL · The Julia Language". docs.julialang.org . Архивировано из оригинала 22 сентября 2019 . Получено 22 сентября 2019 .
  92. ^ "Представляем Julia/REPL - Wikibooks, открытые книги для открытого мира". en.wikibooks.org . Архивировано из оригинала 23 июня 2019 г. . Получено 22 сентября 2019 г. . Вы можете установить пакет Julia OhMyREPL.jl [..], который позволяет настраивать внешний вид и поведение REPL
  93. ^ "Getting Started · The Julia Language". docs.julialang.org . Архивировано из оригинала 10 августа 2019 . Получено 15 августа 2018 .
  94. ^ См. также: docs.julialang.org/en/v1/manual/strings/ для интерполяции строк и string(greet, ", ", whom, ".\n")примера предпочтительных способов конкатенации строк. Julia имеет функции println и print, а также макрос @printf (т.е. не в форме функции) для устранения накладных расходов на форматирование во время выполнения (в отличие от той же функции в C).
  95. ^ "Julia Documentation". JuliaLang.org . Архивировано из оригинала 17 декабря 2016 года . Получено 18 ноября 2014 года .
  96. ^ "Поддержка Unicode 15.1 от stevengj · Запрос на извлечение № 253 · JuliaStrings/utf8proc". GitHub . Архивировано из оригинала 22 января 2024 г. Получено 22 января 2024 г.
  97. ^ "support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia". GitHub . Архивировано из оригинала 3 ноября 2022 г. . Получено 3 ноября 2022 г. .
  98. ^ "Project Jupyter". Архивировано из оригинала 29 июня 2017 года . Получено 19 августа 2015 года .
  99. ^ Будро, Эмметт (16 октября 2020 г.). «Может ли Плутон быть настоящей заменой Юпитеру?». Medium . Архивировано из оригинала 12 апреля 2023 г. . Получено 8 декабря 2020 г. .
  100. ^ Махлис, Шарон (27 июля 2022 г.). «RStudio меняет название на Posit, расширяет фокус, чтобы включить Python и VS Code». InfoWorld . Получено 18 января 2023 г. .
  101. ^ «Внимание! Quarto здесь, чтобы остаться. Немедленно объедините R и Python в вашем следующем документе: расширение недавней записи». ds-econ . 20 июля 2022 г. Архивировано из оригинала 31 января 2023 г. Получено 18 января 2023 г.
  102. ^ Фостер, Крис (4 апреля 2022 г.). "SQLREPL.jl". GitHub . Архивировано из оригинала 27 сентября 2022 г. . Получено 27 сентября 2022 г. .
  103. ^ "Getting Started · RCall.jl". juliainterop.github.io . Архивировано из оригинала 4 сентября 2024 г. Получено 27 сентября 2022 г.
  104. ^ "Julia вылетает при установке модуля RCall". Julia Programming Language . 21 октября 2024 г. Получено 22 октября 2024 г. У меня RCall загружается без проблем на Julia 1.11 на MacOS
  105. ^ "juliacall терпит неудачу в julia 1.11 с `undefined symbol: jl_stdout_obj` · Проблема № 234 · Непротиворечивость/JuliaCall". GitHub . Получено 22 октября 2024 г. .
  106. ^ "Главная · LibPQ.jl". invenia.github.io . Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  107. ^ ab "Home · FunSQL.jl". docs.juliahub.com . Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  108. Худ, Дуг (21 октября 2022 г.). «Использование Julia с базами данных Oracle». Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  109. ^ "Genie Builder - Visual Studio Marketplace". marketplace.visualstudio.com . Архивировано из оригинала 8 ноября 2022 г. . Получено 8 ноября 2022 г. .
  110. ^ «Как создать свое первое веб-приложение в Julia с помощью Genie.jl». freeCodeCamp.org . 1 февраля 2022 г. Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  111. ^ "JuliaRegistries / General". GitHub . Архивировано из оригинала 3 августа 2020 г. Получено 30 апреля 2020 г.
  112. ^ "Pkg.jl - Artifacts". Архивировано из оригинала 2 августа 2020 года . Получено 4 июня 2020 года .
  113. ^ "Pkg.jl - Реестры". Архивировано из оригинала 13 июня 2020 г. Получено 30 апреля 2020 г.
  114. ^ Bezanson, Jeff (6 июня 2019 г.). "JeffBezanson/femtolisp". GitHub . Архивировано из оригинала 22 декабря 2022 г. . Получено 16 июня 2019 г. .
  115. ^ "JuliaSyntax". Язык программирования Julia. 28 августа 2022 г. Архивировано из оригинала 28 августа 2022 г. Получено 28 августа 2022 г.
  116. ^ "Включить JuliaSyntax.jl как альтернативный анализатор Julia от c42f · Запрос на извлечение № 46372 · JuliaLang/julia". GitHub . Архивировано из оригинала 28 августа 2022 г. Получено 28 августа 2022 г.
  117. ^ "Julia v1.7.3 выпущена". JuliaLang . 25 мая 2022 г. Архивировано из оригинала 26 мая 2022 г. Получено 26 мая 2022 г.
  118. ^ "Проблема отслеживания Darwin/ARM64 · Проблема № 36617 · JuliaLang/julia". GitHub . Архивировано из оригинала 11 ноября 2020 г. Получено 8 декабря 2020 г.
  119. ^ "Julia Downloads". julialang.org . Архивировано из оригинала 26 января 2021 г. . Получено 17 мая 2019 г. .
  120. ^ "julia/arm.md". The Julia Language. 7 октября 2021 г. Архивировано из оригинала 15 мая 2022 г. Получено 15 мая 2022 г. Доступен список известных проблем для ARM.
  121. ^ "JuliaGPU". juliagpu.org . Архивировано из оригинала 23 мая 2020 г. . Получено 16 ноября 2022 г. Почти 300 пакетов напрямую или косвенно полагаются на возможности графического процессора Julia.
  122. ^ "Julia on TPUs". JuliaTPU. 26 ноября 2019 г. Архивировано из оригинала 30 апреля 2019 г. Получено 29 ноября 2019 г.
  123. ^ "Представляем: oneAPI.jl ⋅ JuliaGPU". juliagpu.org . Получено 6 сентября 2021 г. .
  124. ^ "AMD ROCm · JuliaGPU". juliagpu.org . Архивировано из оригинала 13 июня 2020 г. . Получено 20 апреля 2020 г. .
  125. ^ "Build Julia for RaspberryPi Zero". Gist . Архивировано из оригинала 1 декабря 2020 г. Получено 14 августа 2020 г.
  126. ^ "JuliaBerry: Julia на Raspberry Pi". juliaberry.github.io . Архивировано из оригинала 8 июля 2020 г. . Получено 14 августа 2020 г. .
  127. ^ Джордано, Мосе (29 сентября 2022 г.). «Джулия на Fugaku (2022-07-23)». GitHub . Архивировано из оригинала 8 ноября 2022 г. Получено 8 ноября 2022 г.
  128. ^ "Julia доступна на Raspbian на Raspberry Pi". Архивировано из оригинала 4 мая 2017 г. Получено 6 июня 2017 г. Julia работает на всех вариантах Pi, мы рекомендуем использовать Pi 3.
  129. ^ "Julia language for Raspberry Pi". Raspberry Pi Foundation . 12 мая 2017 г. Архивировано из оригинала 2 июня 2017 г. Получено 6 июня 2017 г.
  130. ^ "Release v1.12-0a92fecc12 · maleadt/julia". GitHub . Получено 12 октября 2024 г. .
  131. ^ "julia/doc/src/devdocs/build/riscv.md at master · alexfanqi/julia". GitHub . Получено 9 октября 2024 г. .
  132. ^ "Запуск Julia baremetal на Arduino". seelengrab.github.io . Архивировано из оригинала 24 мая 2022 г. Получено 24 мая 2022 г.
  133. ^ Sukera (31 июля 2023 г.). "AVRDevices.jl". Архивировано из оригинала 5 августа 2023 г. Получено 5 августа 2023 г.
  134. ^ Чэнь, Цзяхао. "Цзяхао Чэнь". Цзяхао Чэнь . Архивировано из оригинала 23 февраля 2023 года . Получено 23 февраля 2023 года .
  135. ^ "Информационный бюллетень Январь 2022 - Статистика роста Julia - Julia Computing". juliacomputing.com . Архивировано из оригинала 26 января 2022 . Получено 26 января 2022 .
  136. ^ "Представляем Braket.jl — квантовые вычисления с Julia". Сообщество Julia 🟣 . 15 ноября 2022 г. Архивировано из оригинала 19 июня 2024 г. Получено 23 февраля 2023 г. Почти все функции Python SDK переработаны в Julia — для тех немногих, кто этого не сделал, мы также предоставляем вспомогательный пакет PyBraket.jl, который позволяет вам преобразовывать объекты Julia в их эквиваленты Python и вызывать Python SDK.
  137. ^ «Начало работы с Julia на Amazon SageMaker: пошаговое руководство» (PDF) . Май 2020 г. Архивировано (PDF) из оригинала 9 марта 2024 г. Получено 23 февраля 2023 г.
  138. ^ "Towards Using Julia for Real-Time applications in ASML JuliaCon 2022". pretalx.com . Архивировано из оригинала 23 февраля 2023 г. Получено 23 февраля 2023 г.
  139. ^ "Home - CliMA". CliMA – Climate Modeling Alliance . Архивировано из оригинала 18 июня 2023 года . Получено 18 июня 2023 года .
  140. ^ "Julia Computing обеспечивает поддержку вычислений на базе графических процессоров NVIDIA на серверах на базе Arm - JuliaHub". juliahub.com (пресс-релиз). Архивировано из оригинала 16 ноября 2022 г. Получено 16 ноября 2022 г.
  141. ^ "Julia for HEP Mini-workshop". indico.cern.ch . 27 сентября 2021 г. Архивировано из оригинала 11 августа 2022 г. Получено 23 августа 2022 г. Julia и первое наблюдение Ω - _b → Ξ + _c K - π -
  142. ^ Михасенко, Миша (29 июля 2022 г.). "ThreeBodyDecay". GitHub . Архивировано из оригинала 23 августа 2022 г. . Получено 23 августа 2022 г. .
  143. ^ Михасенко, Миша (июль 2021 г.). "Julia for QCD spectroscopy" (PDF) . indico.cern.ch . Архивировано (PDF) из оригинала 23 августа 2022 г. . Получено 23 августа 2022 г. . Краткое содержание: Julia готова к использованию в физическом анализе HEP.
  144. ^ "JuliaHEP/UnROOT.jl". JuliaHEP. 19 августа 2022 г. Архивировано из оригинала 19 июня 2024 г. Получено 23 августа 2022 г.
  145. ^ "Julia · Search · GitLab". GitLab . Архивировано из оригинала 23 августа 2022 г. Получено 23 августа 2022 г.
  146. ^ "Коммиты · master · sft / lcgcmake · GitLab". GitLab . Архивировано из оригинала 12 апреля 2023 г. Получено 23 августа 2022 г. . повысить версию julia до 1.7.3
  147. ^ "Моделирование динамики разделения космических аппаратов в Julia - Jonathan Diegelman". 9 марта 2021 г. Архивировано из оригинала 6 сентября 2021 г. Получено 6 сентября 2021 г.
  148. ^ "Circuitscape/Circuitscape.jl". Circuitscape. 25 февраля 2020 г. Архивировано из оригинала 30 июля 2020 г. Получено 26 мая 2020 г.
  149. ^ «Сохранение через кодирование: 5 вопросов Виралу Шаху | Директорат научных миссий». science.nasa.gov . Архивировано из оригинала 25 мая 2020 г. . Получено 26 мая 2020 г. .
  150. ^ "Julia in the Wild - Julia Data Science". juliadatascience.io . Архивировано из оригинала 12 сентября 2022 г. Получено 12 сентября 2022 г.
  151. ^ "Семь скалистых планет TRAPPIST-1 могут быть сделаны из похожего материала". Исследование экзопланет: планеты за пределами нашей Солнечной системы . Архивировано из оригинала 6 октября 2022 г. Получено 6 октября 2022 г.
  152. ^ "Julia in Astronomy & Astrophysics Research | Eric B. Ford | JuliaCon 2022". 25 июля 2022 г. Архивировано из оригинала 6 октября 2022 г. Получено 6 октября 2022 г.
  153. ^ "JuliaSpace/SatelliteToolbox.jl". JuliaSpace. 20 мая 2020 г. Архивировано из оригинала 16 июня 2021 г. Получено 26 мая 2020 г.
  154. ^ Хоббс, Керианн (декабрь 2022 г.). «Год автономии в ледниках Аляски, полет, земная орбита, окололунное пространство и Марс». Aerospace America Year in Review. стр. 48. Архивировано из оригинала 19 июня 2024 г. Получено 26 января 2023 г. Группа летных испытаний смогла продемонстрировать… аппарат с вертикальным взлетом и посадкой, как с электрическими, так и с обычными топливными двигательными установками на борту. [Беспилотная воздушная система] смогла планировать и выполнять эти миссии автономно, используя бортовое оборудование. Это был первый случай, когда язык программирования Julia был запущен на встроенном оборудовании — алгоритмы были предварительно скомпилированы заранее.
  155. ^ "Case Study - JuliaHub". juliahub.com . Архивировано из оригинала 10 февраля 2023 г. . Получено 10 февраля 2023 г. .
  156. ^ "Pumas-AI". Pumas-AI . Архивировано из оригинала 10 февраля 2023 . Получено 10 февраля 2023 .
  157. ^ "Release v1.3.0 · FRBNY-DSGE/DSGE.jl". GitHub . Архивировано из оригинала 3 января 2022 г. . Получено 3 января 2022 г. . Новые подспецификации Model1002 для оценки DSGE с шоками COVID-19
  158. ^ "Finance and Economics Use Cases". Julia Programming Language . 2 мая 2023 г. Получено 4 мая 2023 г.
  159. ^ ab D'Cunha, Suparna Dutt (20 сентября 2017 г.). «Как новый язык программирования, созданный четырьмя учеными, теперь используется крупнейшими компаниями мира». Forbes . Архивировано из оригинала 1 октября 2022 г. Получено 1 октября 2022 г.
  160. ^ "Julia for Election Security". Julia Forem. 23 сентября 2022 г. Архивировано из оригинала 4 сентября 2024 г. Получено 27 сентября 2022 г.
  161. ^ "Нобелевский лауреат Томас Дж. Сарджент - JuliaHub". juliahub.com . Архивировано из оригинала 10 февраля 2023 г. . Получено 10 февраля 2023 г. .

Дальнейшее чтение

Внешние ссылки