Julia(プログラミング言語)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ジュリア
Juliaプログラミング言語Logo.svg
パラダイムマルチパラダイムマルチディスパッチ(プライマリパラダイム)、手続き型機能型メタ型、多段階[1]
によって設計されたジェフ・ベザンソンアラン・エデルマンステファン・カルピンスキーウイルス・B・シャー
デベロッパーJeff BezansonStefan KarpinskiViral B. Shah、およびその他の寄稿者[2] [3]
初登場2012 ; 10年前[4] (2012)
安定リリース
1.7.1 [5] ウィキデータでこれを編集する / 2021年12月22日; 31日前 (22 December 2021)
プレビューリリース
1.8.0-毎日更新されるDEV [6]および1.7.2 [7]および1.6.6 [8]が作業中
規律の入力動的[9] 強い[10] 主格パラメトリックオプション
実装言語Julia、CC ++SchemeLLVM [11]
プラットホームTier 1:x86-64IA-32 ; CUDA 10.1+ [12] / Nvidia GPU (LinuxおよびWindows用)
Tier 2:64ビットARM、32ビットWindows (64ビットはTier 1)
Tier 3:32ビットARMPowerPC、AMD(ROCm)GPU 。
また、oneAPI / IntelのGPUとGoogleのTPUをサポートし[13]、WebブラウザをサポートしJavaScriptWebAssemblyの場合)[14]Androidで動作します。詳細については、を参照してください。「サポートされているプラ​​ットフォーム」
OSLinuxmacOSWindowsFreeBSD
ライセンスMIT(コア)、[2] GPL v2 ; [11] [15] makefileオプションはGPLライブラリを省略します[16]
ファイル名拡張子.jl
WebサイトJuliaLang.org
に影響を受けた

Juliaは、高レベル、高性能、動的プログラミング言語です。汎用言語であり、あらゆるアプリケーションの作成に使用できますが、その機能の多くは、数値解析計算科学に適しています[22] [23] [24] [25]

ジュリアの設計の特徴的な側面には動的計画法言語のパラメトリック多態性を備えた型システムが含まれます。コアプログラミングパラダイムとして多重ディスパッチを使用します。 Juliaは並行(コンポーザブル)並列分散コンピューティングMPI [26]または「OpenMPスタイル」スレッド[28]に対応する組み込みの[説明が必要] [27]を使用するかどうかに関係なく)、およびCの直接呼び出しをサポートします。およびFortranライブラリなしグルーコード。 Juliaは、実行前にすべてのコードを(デフォルトで)マシンコードにコンパイルするため、Juliaコミュニティでは「ジャストアヘッドタイム」(JAOT)と呼ばれるジャストインタイム(JIT)コンパイラを使用します[29] [30]

Juliaはゴミ収集され[31]先行評価を使用し、浮動小数点計算、線形代数乱数生成、および正規表現マッチングのための効率的なライブラリを含みます。以前はJuliaにバンドルされていたものがあり、現在は分離されているものを含め、多くのライブラリが利用可能です(たとえば、高速フーリエ変換用)。 [32]

統合開発環境など、いくつかの開発ツールがJuliaでのコーディングをサポートしています(たとえば、MicrosoftのVisual Studio CodeIDEにJuliaサポートを追加する拡張機能(デバッグやリンティング[33]サポートの提供など)。統合ツール、たとえばプロファイラー(および組み込みツールで利用可能なフレームグラフサポート[34] [35])、デバッガー[36]、およびRebugger.jlパッケージを使用して「繰り返し実行デバッグをサポート[a]など。[38]

歴史

Juliaの作業は、2009年に、Jeff BezansonStefan KarpinskiViral B. Shah、およびAlan Edelmanによって開始されました。これらの言語は、高レベルで高速なフリー言語の作成に着手しました。 2012年2月14日、チームは言語の使命を説明するブログ投稿を含むWebサイトを立ち上げました。[39] 2012年4月のInfoWorldとのインタビューで、Karpinskiは「Julia」という名前について次のように述べています。[24]ベザンソンは友人の勧めで名前を選んだと言った[40]そして数年後、次のように書いた。

たぶん、ジュリアは「ジェフ珍しいLispは自動化されている」の略ですか?[41]

2012年の立ち上げ以来、Juliaコミュニティは成長し、2020年の時点で「Juliaは10,000以上の企業のユーザーによってダウンロードされ、1,500以上の大学で使用されています」[42] 、2021年7月の時点で2,900万以上のダウンロードがあります。 1年で87%増加し[43]、Juliaパッケージエコシステムには1180万行を超えるコード(ドキュメントとテストを含む)があります。[44] Juliaユーザーと開発者向けのJuliaCon学術会議は、2014年から毎年開催されており、JuliaCon2020は28,900人を超えるユニークな視聴者を迎えています[45]。その後、JuliaCon2021はこれまでのすべての記録を更新し(YouTubeでは300を超えるJuliaCon2021プレゼンテーションが無料で利用可能で、前年の162から増加)、会議中に43,000人のユニークな視聴者がありました。[46]

バージョン0.3は2014年8月にリリースされ、バージョン0.6は2017年6月にリリースされました。[47] Julia 0.7 [48]とバージョン1.0の両方が2018年8月8日にリリースされました。まったく新しいオプティマイザー」)、セマンティクスにいくつかの変更が加えられました。たとえば、反復インターフェースが単純化されました。[49]そして構文が少し変更されました(構文は現在安定しており、1.xと0.7でも同じです)。

Julia 1.0.0は2018年8月8日にリリースされました。バグ修正のリリースは、サポートされているバージョンでほぼ毎月行われる予定です。その時点で、Julia1.0.1から1.0.5までがそのスケジュールに従いました。 Julia 1.1は、たとえば、新しい「例外スタック」言語機能を備えた2019年1月にリリースされました。 Julia 1.2は2019年8月にリリースされ、たとえばWebブラウザーのサポートが組み込まれています(JavaScript VMで実行されているかどうかをテストするため)。[50] Julia 1.3は、たとえば、Juliaパッケージ用のコンポーザブルマルチスレッド並列処理とバイナリアーティファクトシステムを追加しました。[51]

Julia 1.4では、配列Aの2番目の要素を使用して、たとえば0ベースの配列を処理するための配列インデックスの構文が改善されました。 [52]メモリモデルも変更されました。[53]マイナーリリース1.4.2で、たとえばZlibの問題が修正され、解凍速度が2倍になりました。[54]A[begin+1]

2020年8月にリリースされたJulia1.5は、Mozillaのrrツールの記録と再生のデバッグサポート[55]を追加しました。これは大きなリリースであり、REPL(ソフトスコープ)の動作が変更されており、 Jupyterで使用されているものと同じですが、非REPLコードと完全に互換性があります。ほとんどのスレッドAPIは安定しているとマークされており、このリリースでは、「任意の不変オブジェクトは、可変オブジェクトを参照するフィールドがあるかどうかに関係なく、スタック割り当てできるようになりました」[ 56]。views割り当てられなくなりました。すべてのバージョンがパフォーマンスに取り組んでいますが、特にJulia 1.5は、いわゆる「最初のプロットまでの時間」パフォーマンス、一般に、コンパイル自体の速度(生成されたコードのパフォーマンスではなく)を対象としており、ツールを追加しています開発者がパッケージのロードを改善するため。[57] Julia 1.6は、このようなパフォーマンスもさらに向上させます。

Julia 1.0.xで動作するパッケージは、上位互換性のある構文保証によって有効になっている1.1.x以降で動作する必要があります。注目すべき例外は、JavaCall.jl(JavaScalaなどのJVM言語用)やRcall.jl(R言語)などの外国語インターフェースライブラリでした。これは、スレッド関連の変更が原因でした(Juliaのすべてのスレッド機能が実験的とマークされています)。[58]この問題は、スタックアドレス空間の使用 方法に関して特別な期待があるため、JavaのJVMでは特に複雑でした。 Julia 1.3.0に対して呼び出された回避策が投稿されましたが、Javaの完全な修正は保留中であり、期限は設定されていません。[59]JULIA_ALWAYS_COPY_STACKSさらに、Java11以降のJVMバージョンではこの問題は発生しません。[60]

Julia 1.6は、1.0以降で最大のリリースであり、多くの面で高速でした。たとえば、並列プリコンパイルとパッケージの高速ロードが導入され、場合によっては「バイナリアーティファクトの大きなツリーのロード時間が50倍高速化」されました。[61]

Julia 1.6.4は2021年11月19日にリリースされ、Julia1.7.0はセキュリティの問題を修正します。バージョン1.7の時点で、Juliaの開発は時間ベースのリリースに戻っています[62]

Julia 1.7.0は2021年11月30日にリリースされ、多くの変更が加えられました。たとえば、新しい高速の乱数ジェネレーター(ユーザーが古いものを使用することを選択しない限り、ユーザーは異なる乱数ストリームを取得しますが、これも提供されます)。ほとんどのユーザーは、最新のポイントリリース(現在は1.7.1)を使用する必要があります。1.7がリリースされた後、1.6は新しい長期サポート(LTS)リリースになり、最も保守的なユーザーのみがそのリリースを使用する必要があります。現在、古いリリースはサポートされていませんが、少なくとも1つのパッケージCxx.jlには、サポートされていない古い(1.3)リリースが必要です。これは、公式のJuliaサイトで他の古いリリースとともに引き続き機能し、引き続き利用できます。Julia 1.8は、2022年2月15日に期限が切れる次のマイルストーンであり[63]、2.0のマイルストーンには現在期限が設定されていません。[64]

注目すべき用途

ジュリアは、時系列分析に使用する投資マネージャーのブラックロックから、リスク計算に使用する英国の保険会社アビバまで、著名なユーザーを魅了しています。2015年以来、ニューヨーク連邦準備銀行は、ジュリアを使用して米国経済のモデルを作成してきました( 2021年のCOVID-19ショックの推定を含む[65])。以前のMATLAB実装。Juliaの共同創設者は2015年にJuliaComputingを設立し、クライアントに有料のサポート、トレーニング、コンサルティングサービスを提供していますが、Juliaは引き続き無料で使用できます。2017年のJuliaCon [ 66]会議で、Jeffrey Regier、Keno Fischerなどが[67]、Celesteプロジェクト[68]がJuliaを使用 て9300 Knights Landing( KNL)Cori II(Cray XC40)スーパーコンピューター(当時、世界で6番目に高速なコンピューター)のノード。[70] したがって、Juliaは、petaFLOPS計算が実行された高級言語として、C、C ++、およびFortranに参加します。

ジュリアの共同作成者のうち3人は、分析を可能にする高性能ツールを作成するための革新的な環境であるジュリアの作成に対して、2019年のジェームズH.ウィルキンソン数値ソフトウェア賞(4年ごとに授与)を受賞しています。計算科学の問題の解決。」[71]また、MITの応用数学の教授であるAlan Edelmanは、「高性能コンピューティング、線形代数、計算科学における卓越した進歩とJuliaへの貢献により、2019 IEEE Computer Society Sidney FernbachAwardを受賞するように選ばれました。プログラミング言語。」[72]

2019年、Julia Computingは、「NVIDIA GPU Cloud(NGC)コンテナレジストリでのパッケージ済みコンテナとしてのJuliaプログラミング言語の可用性」[73]を発表し、Nvidiaのサイトのブログ投稿には「x86とArmにJuliaを簡単にデプロイする」と記載されています。 [..] Juliaは、機械学習、データサイエンス、さまざまな科学分野、および視覚化をカバーする包括的なHPCエコシステムのパッケージを提供しています。」[74]

さらに、「ジュリアは、気候モデリングアライアンスによって、次世代の全球気候モデルの唯一の実装言語として選ばれました。この数百万ドルのプロジェクトは、気候変動の影響と課題に関する洞察を提供する地球規模の気候モデルを構築することを目的としています。 「」[73]

Juliaは、NASAによって使用されています。たとえば、宇宙船の分離ダイナミクスのモデリング(Simulink / MATLAB [75]では以前より15,000倍高速[76] [77] [78]や、宇宙ミッションの計画と衛星シミュレーションのためのブラジルのINPEです[79]別の取り組みは、姿勢制御にジュリアを使用して宇宙の衛星を制御する組み込みプロジェクトに取り組んでいます。[要出典]

JuliaCon

2014年以来、[80] Julia Communityは、開発者とユーザーに焦点を当てたJuliaConferenceを毎年開催しています。最初のJuliaConはシカゴで開催され、毎年恒例の会議の開催を開始しました。 2014年以来、会議はMIT [81]やメリーランド大学ボルチモア校を含む多くの場所で開催されています。 [82]事実上行われたJuliaCon2020の間に、イベントの聴衆は数十人から28,900人を超えるユニークな参加者に増えました[83] 。 JuliaCon 2021は、事実上2021年7月28日から30日の間に開催され[84] 、Jan Vitek、 [85] Xiaoye Sherry Li、およびSoumithChintalaからの基調講演が行われます。 [86]

ジュリアコミュニティ

Juliaコミュニティ[87]は、Twitter、 [88] LinkedIn、[89] Facebook、[90] Slack、[91] Zulip、[92] Discord、[93] Discourse、[94] StackOverflowなどの複数のプラットフォームに存在しています。[95] YouTube、[96]など。[97] 2017年5月以来、JuliaLanguageはコミュニティマネージャーを採用しています。2019年末まで務めた最初のAlexArslan [98]で、現在はLoganKilpatrickです。[99]

スポンサー

Julia言語は、プロジェクトの長期的な持続可能性を確保するために、2014年にNumFOCUSの財政支援プロジェクトになりました。 [100] MITリンカーン研究所のジェレミー・ケプナー博士は、初期のジュリアプロジェクトの創設スポンサーでした。さらに、ゴードン・アンド・ベティ・ムーア財団アルフレッド・P・スローン財団インテル、およびNSFDARPANIHNASAFAAなどの機関からの資金がジュリアの開発に不可欠でした。[101] MozillaFirefox Webブラウザーのメーカーである、2019年上半期の研究助成金により、 Firefoxや他のWebブラウザーを意味するプロジェクト「BringingJulia totheBrowser」 [102]の「公式Juliaチームのメンバー」を後援しました。[103] [104] [105] [106] Julia言語は、GitHubの個々のドナーによってもサポートされています。[107]

ジュリアコンピューティング会社

Julia Computing、Inc。は、Viral B. Shah、Deepak Vinchhi、Alan Edelman、Jeff Bezanson、Stefan Karpinski、KenoFischerによって2015年に設立されまし[108]

2017年6月、JuliaComputingはGeneralCatalystFounderCollective から460万ドルのシード資金を調達しました[109]同月、「多様性を促進するための160,000ドルを含む、オープンソースのJulia開発をサポートするためにAlfred P. SloanFoundationから91万ドルが授与されました。ジュリアコミュニティで」[110]、2019年12月、同社は米国政府から110万ドルの資金を得て、「暖房、換気、空調(HVAC)システムの総エネルギー消費量を削減する神経コンポーネント機械学習ツールを開発しました。建物で」。[111] 2021年7月、JuliaComputingは2400万ドルを調達したと発表しました。 ジュリアコンピューティングと提携したフォーミュラ1チームウィリアムズレーシングも所有するドリルトンベンチャーズが率いるシリーズA [112] 。ウィリアムズのコマーシャルディレクターは次のように述べています。「クラス最高のクラウドテクノロジーを構築する企業への投資は、ドリルトンの戦略的焦点であり、シミュレーションとモデリングの革新的な機能を備えたジュリアの多用途プラットフォームは、当社のビジネスに非常に関連しています。ジュリアの組み込みを楽しみにしています。世界で最も技術的に進んだスポーツでのコンピューティング」。[113]

言語機能

ジュリアは汎用プログラミング言語であり[114]、元々は数値/技術コンピューティング用に設計されていました。また、低レベルのシステムプログラミング[115]仕様言語[116]、およびサーバー[118] [119]とクライアント[120] [14]の両方でのWebプログラミング[117]にも役立ちます。

公式ウェブサイトによると、この言語の主な機能は次のとおりです。

マルチディスパッチ( Lispではマルチメソッドとも呼ばれます)は、継承を使用するシングルディスパッチ(一般的なオブジェクト指向プログラミング(OOP)言語で使用される ポリモーフィックメカニズム)の一般化です。 Juliaでは、すべての具象型は抽象型のサブタイプであり、型階層の最上位である型の直接または間接的なサブタイプです。具体的な型自体は、他の言語のようにサブタイプ化することはできません。代わりにコンポジションが使用されます(継承とサブタイピングも参照してください)。 Any

デフォルトでは、ユーザー提供のソースコードが実行されるため、Juliaランタイムがプリインストールされている必要があります。または、 Juliaソースコードを必要としないスタンドアロンの実行可能ファイルをPackageCompiler.jlでビルドすることもできます。[124]

ジュリアの構文マクロメタプログラミングに使用)は、Lispマクロと同様に、抽象構文木(AST)のレベルで機能するため、Cなどの他の言語のプリプロセッサで使用されるテキスト置換マクロよりも強力です。ジュリアのマクロシステムは衛生的ですが、必要に応じて(照応マクロのように)構成を使用して意図的なキャプチャもサポートしますesc

Juliaは、 SchemeCommon Lispなど、Lispのさまざまな方言から大きなインスピレーションを得ており、多重ディスパッチ指向の動的言語であるDylan (LispではなくALGOLのような自由形式の インフィックス構文を特徴とする)と多くの機能を共有しています。プレフィックス構文のように、Juliaでは "everything" [125]です)、Fortressでは別の数値プログラミング言語(多重ディスパッチと洗練されたパラメトリック型システムを備えています)。Common Lisp Object System (CLOS)はCommon Lispに複数のディスパッチを追加しますが、すべての関数がジェネリック関数であるとは限りません。

Julia、Dylan、およびFortressでは、拡張性がデフォルトであり、システムの組み込み関数はすべて汎用的で拡張可能です。 Dylanでは、多重ディスパッチはJuliaと同じくらい基本的です。すべてのユーザー定義関数、およびのような基本的な組み込み操作でさえ、+ジェネリックです。ただし、Dylanの型システムは、言語のML系統でより一般的なパラメトリック型を完全にはサポートしていません。デフォルトでは、CLOSはCommonLispのパラメトリックタイプでのディスパッチを許可していません。このような拡張ディスパッチセマンティクスは、 CLOSメタオブジェクトプロトコルを介した拡張としてのみ追加できます。収束設計により、Fortressはパラメトリックタイプの多重ディスパッチも備えています。ただし、Juliaとは異なり、Fortressは動的に型付けされるのではなく静的に型付けされ、コンパイルフェーズと実行フェーズが別々になっています。言語機能は、次の表に要約されています。

言語 型システム ジェネリック関数 パラメトリックタイプ
ジュリア 動的 ディフォルト はい
Common Lisp 動的 オプトイン はい(ただしディスパッチはありません)
ディラン 動的 ディフォルト 部分的(ディスパッチなし)
要塞 静的 ディフォルト はい

Juliaの拡張性の例であるUnitful.jlパッケージは、言語に測定単位のサポートを追加します。

インタラクション

Juliaの公式ディストリビューションには、インタラクティブなコマンドラインの読み取り-評価-印刷ループ(REPL)[126]が含まれており、検索可能な履歴、タブ補完、専用のヘルプモードとシェルモード[127]があり、コードの実験とテストに使用できます。早く。[128]次のフラグメントは、文字列がprintlnによって自動的に連結されるサンプルセッションの例を表しています。[129]

ジュリア>  p x  =  2 x ^ 2  +  1 ;  f x  y  =  1  +  2 p x y 
julia >  println "Hello world!"  "I'm on cloud"  f 0、4 )、"  as Juliaは認識可能な構文をサポートしています!" Hello世界! Juliaが認識可能な構文をサポートしているので、私はクラウド9を使用しています。 

;REPLは、プロンプトまたは?プロンプトの後に(各コマンドの前に)押すことにより、ユーザーにシステムシェルへのアクセスとヘルプモードへのアクセスをそれぞれ提供します。また、セッション間など、コマンドの履歴も保持します。[130].jl Juliaのインタラクティブセクション内でテストしたり、拡張子が付いたファイルに保存したり、コマンドラインから次のように入力して実行したりできるコード: [125]

$ julia <ファイル名>

Juliaは、オンラインのインタラクティブな「ノートブック」環境であるJupyter [131]と、前者の代わりとなる可能性のある「リアクティブノートブック」(ノートブックが純粋なJuliaファイルとして保存される)であるPluto.jlによってサポートされています。[132]

他の言語で使用する

Juliaは、実際には多くの言語と相互運用可能です(たとえば、一般的に使用されている上位10〜20の言語の大部分)。Juliaのccallキーワードは、CエクスポートまたはFortran共有ライブラリ関数を個別に呼び出すために使用され、パッケージは、Python、R、MATLAB、Java、Scalaなどの他の言語を呼び出すために使用されます。[133]そして、Juliaを呼び出すためのPython(またはRまたはRuby)、つまりpyjuliaなどの他の言語のパッケージ

Juliaは、文字列に使用されるUTF-8(デフォルト)およびJuliaソースコード(最新バージョンでのみ有効なUTF-8を許可)を使用したUnicode 13.0 [134](またはJulia1.8-DEVの最新のUnicode14.0)をサポートしています。 、は、演算子の∈など、多くの演算子の一般的な数学記号もオプションとして許可することを意味しますin

Juliaには、HTML(およびHTTP用)、XMLJSONBSONなどのマークアップ言語をサポートするパッケージがあり、データベースや一般的なWebでの使用も可能です。

パッケージシステム

Juliaにはパッケージマネージャーが組み込まれており、デフォルトのレジストリシステムが含まれています。[135]パッケージは、ほとんどの場合、GitHubホストされているソースコードとして配布されますが、代替手段も同様に使用できます。パッケージは、アーティファクトを使用してバイナリとしてインストールすることもできます。[136] Juliaのパッケージマネージャーは、パッケージのクエリとコンパイル、および環境の管理に使用されます。フェデレーションパッケージレジストリがサポートされているため、公式以外のレジストリをローカルに追加できます。[137]

実装

Juliaのコアは、 LLVM依存関係用のC ++とともに、 JuliaとCで実装されています。構文解析とコード低下は、 Scheme方言であるFemtoLispに実装されています。 [138] LLVMコンパイラインフラストラクチャプロジェクトは、Juliaが実行されているプラ​​ットフォームに応じて、64ビットまたは32ビットの最適化されたマシンコードを生成するためのバックエンドとして使用されます。いくつかの例外(PCREなど)を除いて、標準ライブラリジュリアで実装されています。Juliaの実装の最も注目すべき点は、その速度です。これは、完全に最適化されたCコードと比較して2倍以内であることがよくあります(したがって、PythonやRよりも1桁速いことがよくあります)。[139] [140] [141] Juliaの開発は2009年に始まり、オープンソースバージョンは2012年2月に公開されました。[4] [142]

現在および将来のプラットフォーム

JuliaはTier1 macOSをサポートしていますが、これはIntelベースのMacを意味しますが、新しいApple M1ベースのMacはTier 3(実験的)サポートのみで、完全なサポートが行われています(Windows on ARMもサポートされていません)。[143]ただし、Juliaは、 Rosetta 2(Juliaをエミュレートする必要がある)を(自動で)使用することにより、M1 Macで(パフォーマンスが低下して)「正常」に動作すると主張されています[144] 。ネイティブのフルスピードM1サポート(つまりエミュレーションなし)での作業はほとんど行われ、そのようなJuliaのビルドを使用すると、1つを除くすべてのJuliaテストに合格するため(「開いているファイルが多すぎます」を除く)、多くのプログラムが機能する可能性があります。

JuliaはJITを使用するため、Juliaは、関数が最初に実行される前に、ネイティブマシンコードを直接生成します(つまり、デフォルトで配布されるバイトコードへのコンパイルとは異なるアプローチで、Java /などのように仮想マシン(VM)で実行されます。 JVM ;次に、古いバージョンのAndroidで Dalvikが行ったように、実行中にバイトコードから変換されます)。

Juliaには4つのサポート層があります。[145] i686サブアーキテクチャを完全に実装するすべてのIA-32プロセッサがサポートされ、64ビットx86-64(別名amd64)、つまり約10年未満のすべてがサポートされます。ARMv8AArch64)プロセッサは第2層でサポートされ、ARMv7およびARMv6(AArch32)はJulia 1.0.xのいくつかの警告(下位層)でサポートされ、後のバージョンの公式実行可能ファイルもありましたが、32ビットARMサポートは後でダウングレードされましたTier 3に移行します(ただし、Julia 1.5.1 [146]では非公式のバイナリを使用できます)。[147] CUDA(つまり、Nvidia GPU、PTXの実装 )外部パッケージの助けを借りて、ティア1をサポートしています。さらに、 GoogleのTPU [148]や一部のIntel(統合)GPUなどの他のアクセラレータをoneAPI.jl [149]を介してサポートするパッケージもあり、AMDのGPUはOpenCLなどでサポートされています。AMDROCmスタックの実験的サポート。 [150] Juliaのダウンロードページは、公式にサポートされているすべてのプラットフォームの実行可能ファイル(およびソース)を提供します。

一部のプラットフォームでは、Juliaをソースコード(元のRaspberry Piなど)からコンパイルする必要がある場合があります。特定のビルドオプションが実行されており、非公式のビルド済みバイナリ(およびビルド手順)が利用可能です。[151] [152] JuliaはいくつかのARMプラットフォームで構築されています。 PowerPC(64ビット)はTier 3をサポートしているため、「ビルドされる場合とされない場合があります」。 Juliaは現在Raspbian [153]でサポートされていますが、ARMv7以降のPiなどの新しいPiのサポートはより優れています。ジュリアのサポートは、ラズベリーパイ財団によって推進されています。[154]

JSExpr.jlを介したWebブラウザ/ JavaScriptのサポートもあります。[120]およびWebブラウザの代替言語であるWebAssemblyは、今後のいくつかの外部Juliaプロジェクトに対して最小限のサポート[14]を提供します。JuliaはARMにコンパイルできます。したがって、理論的には、AndroidアプリはNDKを使用して作成できますが、現時点では、JuliaはAndroidで間接的にのみ実行されるようになっています。つまり、Android上のUbuntuchrootを使用します。[155]

も参照してください

メモ

  1. ^ [Rebugger.jlを使用すると]次のことができます:
    • コードまたは引数に対するさまざまな変更を必要な回数だけテストします。「デバッグモード」を終了してファイルを保存する必要はありません
    • 元の呼び出しスタック内の深くネストされたメソッドに到達するために必要だった可能性のある「セットアップ」作業を繰り返す必要なしに、同じ選択したコードブロックを繰り返し実行します(おそらくバグを修正するさまざまな方法を試します)。[37]
  2. ^ Python 3を呼び出す場合(Python 2を呼び出すための古いデフォルトも引き続きサポートされます) [121] [122] 、PythonからJuliaへの反対方向の呼び出しもpyjuliaでサポートされます。[123]

参考文献

  1. ^ 「Juliaの@generated関数を使用した平滑化データ」2015年11月5日2015年12月9日取得Juliaが生成した関数は、TahaとSheardによって普及したマルチステージプログラミング(MSP)パラダイムと密接に関連しています。このパラダイムは、遅延コード実行の複数のステージを可能にすることで、プログラム実行のコンパイル時/実行タイムステージを一般化します。
  2. ^ a b "LICENSE.md"GitHub2017年9月。
  3. ^ 「JuliaLang / juliaへの貢献者」GitHub
  4. ^ a b c d e fg 「なぜジュリアを作成しのか」 。ジュリアのウェブサイト2012年2月2013年2月7日取得
  5. ^ https://github.com/JuliaLang/julia/releases/tag/v1.7.1 ; 発行日:2021年12月23日; 取得:2022年1月4日。
  6. ^ 「VERSIONを1.8.0-DEVに設定し、1.7 NEWSをKristofferCによってHISTORYに移動します・プルリクエスト#41122・JuliaLang / julia」GitHub 2021年11月15日取得
  7. ^ "[release-1.7] VERSIONをararslanによる1.7.2プレリリースに設定・プルリクエスト#43528・JuliaLang / julia"GitHub 2022年1月3日取得
  8. ^ "[release-1.6] VERSIONを1.6.6に設定します。ararslanによるプレリリース・プルリクエスト#43495・JuliaLang / julia"GitHub 2022年1月3日取得
  9. ^ Engheim、Erik(2017年11月17日)。「動的型付け言語はあなたが思っているものではありません」ミディアム2021年1月27日取得
  10. ^ 「ジュリアは強くチェックされていますか(タイプされていますか)?」JuliaLang(アメリカ英語)。2018年8月7日2021年1月27日取得
  11. ^ a b "ジュリア"ジュリアNumFocusプロジェクト2016年12月9日取得JuliaのBaseライブラリは、主にJulia自体で記述されており、成熟した最高のオープンソースCおよびFortranライブラリを統合しています...
  12. ^ 「NVIDIACUDA⋅JuliaGPU」juliagpu.org 2022年1月17日取得Rodiniaベンチマークスイートから選択したアプリケーションで、CUDA Cのパフォーマンスに近づき、場合によってはそれを超えるパフォーマンスを示しました。
  13. ^ 「Kenoによる外部メソッドテーブル・プルリクエスト#39697・JuliaLang / julia」GitHub 2021年6月9日取得
  14. ^ a b c フィッシャー、キノ(2019年7月22日)。「wasmでjuliaを実行する」GitHub2019年7月25日取得
  15. ^ 「非GPLジュリア?」Groups.google.com 2017年5月31日取得
  16. ^ 「GPLライブラリなしでJuliaをビルドするためにUSE_GPL_LIBSMakefileフラグを導入します」GitHubこのコミットは、MacおよびWindowsのJuliaバイナリインストーラーに含まれているgitやbusyboxなどのGPLユーティリティを削除しないことに注意してください。これにより、GPLライブラリに依存せずにソースからビルドできます。
  17. ^ Stokel-Walker、Chris。「ジュリア:ゴルディロックス言語」インクリメントストライプ2020年8月23日取得
  18. ^ a b c d 「ホーム・ジュリア言語」docs.julialang.org 2018年8月15日取得
  19. ^ 「プログラミング言語ネットワーク」GitHub 2016年12月6日取得
  20. ^ 「Mathematicaの言語を何と呼ぶべきか?—スティーブン・ウルフラムの著作」Writings.stephenwolfram.com 2021年6月24日取得
  21. ^ 「JuliaCon2016」JuliaCon 2016年12月6日取得彼は、ジュリアの設計に大きな影響を与えたプログラミング言語スキームを共同設計しました。
  22. ^ Bryant、Avi(2012年10月15日)。「Matlab、R、およびJulia:データ分析のための言語」オライリーストラタ。2014年4月26日にオリジナルからアーカイブされました。
  23. ^ シン、ヴィッキー(2015年8月23日)。「Juliaプログラミング言語–真のPython代替」技術化。
  24. ^ a b オキアミ、ポール(2012年4月18日)。「新しいジュリア言語は科学者のCになることを目指しています」InfoWorld
  25. ^ Finley、Klint(2014年2月3日)。「野外で:人はそれらすべてを支配するために1つのプログラミング言語を作成します」有線
  26. ^ "GitHub-JuliaParallel / MPI.jl:JuliaのMPIラッパー"パラレルジュリア2019年9月22日取得
  27. ^ 「並列コンピューティングの開始に関する質問」JuliaLang(アメリカ英語)。2019年6月16日2019年10月8日取得
  28. ^ 「ジュリアと並行性」JuliaLang(アメリカ英語)。2019年6月24日2019年9月22日取得
  29. ^ フィッシャー、キノ; ナッシュ、ジェムソン。「コンパイラの成長-汎用コンパイラから機械学習を始める」ジュリアコンピューティングブログ2019年4月11日取得
  30. ^ 「sysimageの作成」PackageCompilerのドキュメント
  31. ^ 「パフォーマンスのためにガベージコレクションを一時停止しています...良いアイデアですか、悪いアイデアですか?」Groups.google.com 2017年5月31日取得
  32. ^ 現在のバージョンで利用できるようになりました(この依存関係は、GPLライセンスであるため、標準ライブラリからパッケージに移動されたものの1つであり、デフォルトではJulia 1.0に含まれていません。) "FFTWバインディングを削除しますararslanによるベースから・プルリクエスト#21956・JuliaLang / julia "GitHub 2018年3月1日取得using FFTW
  33. ^ 「ANN:Atom / Juno用のlinter-juliaプラグイン」JuliaLang2017年2月15日2019年4月10日取得
  34. ^ 聖なる、ティム(2019年9月13日)。"GitHub --timholy / ProfileView.jl:Juliaプロファイリングデータの視覚化"GitHub2019年9月22日取得
  35. ^ グレッグ、ブレンダン(2019年9月20日)。"GitHub --brendangregg / FlameGraph:スタックトレースビジュアライザー"GitHub2019年9月22日取得
  36. ^ 「Juliaインタプリタおよびデバッガ」julialang.org 2019年4月10日取得
  37. ^ "[ANN] Rebugger:Julia 0.7 /1.0のインタラクティブなデバッグ"JuliaLang2018年8月21日2019年4月10日取得
  38. ^ 「ホーム・Rebugger.jl」timholy.github.io 2019年4月10日取得
  39. ^ ジェフ・ベザンソン、ステファン・カルピンスキー、ウイルス・シャー、アラン・エデルマン。「なぜジュリアを作ったのか」JuliaLang.org 2017年6月5日取得{{cite web}}: CS1 maint: uses authors parameter (link)
  40. ^ トーレ、チャールズ。「ジュリアのステファン・カルピンスキーとジェフ・ベザンソン」チャネル9MSDN 2018年12月4日取得
  41. ^ ベザンソン、ジェフ(2021年4月2日)。「CASベンチマーク」discourse.julialang.orgジュリア2021年4月2日取得
  42. ^ 「ニュースレター2020年8月–ジュリアコンピューティング」2020年8月14日。 2020年9月21日のオリジナルからアーカイブ2021年9月2日取得
  43. ^ 「ニュースレター2021年1月-ジュリアコンピューティング」juliacomputing.com 2021年1月13日取得
  44. ^ 「ニュースレター2021年8月-ジュリアコンピューティング」juliacomputing.com 2021年9月2日取得
  45. ^ 「JuliaCon2020まとめ」julialang.org2020年8月11日2020年12月20日取得
  46. ^ 「JuliaCon2021ハイライト」julialang.org 2021年9月6日取得
  47. ^ 「Julia0.6リリースの発表」
  48. ^ 「Julia0.7とは何ですか?1.0とどのように関係していますか?」JuliaLang2018年3月26日2018年10月17日取得
  49. ^ デイビス、エリック。「Julia0.7でイテレータを書く」julialang.org 2018年8月5日取得
  50. ^ "Sys.isjsvm([os])"ジュリア言語。2019年8月20日2019年8月20日取得JuliaがJavaScriptVM(JSVM)で実行されているかどうかをテストするための述語。たとえば、WebブラウザーにWebAssemblyJavaScriptを埋め込みます。
  51. ^ ベザンソン、ジェフ; Karpinski、Stefan; シャー、ウイルス; エデルマン、アラン。「ジュリア言語」julialang.org 2019年12月13日取得
  52. ^ "stevengjによるa [firstindex(a)]のa [begin]のサポート・プルリクエスト#33946・JuliaLang / julia"GitHub 2020年4月7日取得
  53. ^ quinnj。「すべてのisbitsまたはisbitsunionフィールドを持つ構造体の場合、それらを配列にインラインで格納できるようにします・プルリクエスト#32448・JuliaLang / julia」GitHub 2020年4月7日取得一部のユーザーと推論/コード生成によって行われた仮定を変更するのは重大な変更であったため、これが内部的に引き起こす問題にまだ遭遇し続けています。
  54. ^ 「ZlibBBリリースを「v1.2.11 + 10」にバンプします。これにより、giordanoによる「-O3」最適化が可能になります・プルリクエスト#35979・JuliaLang / julia」GitHub 2020年5月25日取得
  55. ^ フィッシャー、キノ(2020年5月2日)。「Julia1.5に登場:タイムトラベル(Linux)バグレポート」julialang.org 2020年5月5日取得シングルスレッドプロセスの記録のオーバーヘッドは、通常2倍未満であり、ほとんどの場合2%から50%の間です(純粋な数値計算の場合は低く、OSと対話するワークロードの場合は高くなります)。 (カーネルベースのメッセージパッシングを使用するのとは対照的に)メモリを共有する複数のスレッドまたはプロセスを記録することは困難です。 [..]予想通り、スレッドテストは約600%のオーバーヘッドで最悪の違反者です。
  56. ^ ジェフ・ベザンソン、ステファン・カルピンスキー、ウイルス・シャー、アラン・エデルマン他 「ジュリア言語」julialang.org 2020年8月14日取得構造体をスタックに割り当てることができるサイズベースの制限がいくつかありますが、実際にはそれらを超えることはほとんどありません。{{cite web}}: CS1 maint: uses authors parameter (link)
  57. ^ ジェフ・ベザンソン、ステファン・カルピンスキー、ウイルス・シャー、アラン・エデルマン他 「ジュリア言語」julialang.org 2020年9月16日取得{{cite web}}: CS1 maint: uses authors parameter (link)
  58. ^ 「simonbyrneによる1.1のCスタックチェックの問題の修正・プルリクエスト#293・JuliaInterop /RCall.jl」GitHub 2019年8月10日取得
  59. ^ 「JVMは1.1(JavaCall.jl)でロードに失敗します・問題#31104・JuliaLang / julia」GitHub 2019年8月18日取得ジェフベザンソンはマイルストーンを修正しました:1.3、1.4
  60. ^ 「Julia1.1.0の「JavaCall.init」のStackOverflowError・問題#96・JuliaInterop /JavaCall.jl」GitHub 2019年10月21日取得
  61. ^ ジェフ・ベザンソン、ステファン・カルピンスキー、ウイルス・シャー、アラン・エデルマン他 「ジュリア1.6ハイライト」julialang.org 2021年3月26日取得{{cite web}}: CS1 maint: uses authors parameter (link)
  62. ^ 「OpenBLAS0.3.13へのアップグレード・プルリクエスト#39216・JuliaLang / julia」GitHub 2021年4月26日取得1.7がそれほど遠くないことを考えると(今後の時限リリース)
  63. ^ 「マイルストーン-JuliaLang / julia」GitHub 2022年1月17日取得
  64. ^ 「ジュリアの未来、1.6、1.7-rc1、1.8、1.9、1.10、2.0およびLTS」JuliaLang2021年9月14日2022年1月17日取得ある時点で、1.xの作業が少し遅くなり、2.0種類の変更を停止して考えるための容量が増えると思いますが、その時間はまだ発生していません。
  65. ^ 「リリースv1.3.0・FRBNY-DSGE /DSGE.jl」GitHub2022年1月3日取得COVID-19ショックでDSGEを推定するためのModel1002の新しいサブスペック
  66. ^ 「JuliaCon2017」juliacon.org 2017年6月4日取得
  67. ^ フィッシャー、キノ。「セレステプロジェクト」juliacon.org 2017年6月24日取得
  68. ^ レジエ、ジェフリー; パムナニー、キラン; ジョルダーノ、ライアン; トーマス、ロリン; シュレーゲル、デビッド; マコーライフ、ジョン; プラバット(2016)。「スケーラブルなベイズ推定による可視宇宙の天体カタログの学習」。arXiv1611.03404 [ cs.DC ]。
  69. ^ Claster、Andrew(2017年9月12日)。「ジュリアがペタフロップスクラブに参加」ジュリアコンピューティング(プレスリリース)。Celesteは完全にJuliaで記述されており、Celesteチームは178テラバイトの画像データの集計をロードして、わずか14.6分で1億8800万個の天体の最も正確なカタログを作成しました[..]シングルスレッド実行で1,000倍のパフォーマンス向上。
  70. ^ Shah、Viral B.(2017年11月15日)。「TwitterのウイルスB.シャー」2019年9月15日取得@KenoFischerは、@ Supercomputingの@IntelシアターでCelesteについて講演しています。0.55Mコア、56 TBのデータ、Cori-世界で6番目に大きいスーパーコンピューター。
  71. ^ 「Julia言語の共同作成者がJamesH。Wilkinson Prize for NumericalSoftwareを受賞しました」MITニュース2019年1月22日取得
  72. ^ 「MITのアランエデルマンが名誉ある2019IEEE Computer Society Sidney Fernbach Award | IEEE Computer Societyを受賞」(プレスリリース)(アメリカ英語)。2019年10月1日2019年10月9日取得
  73. ^ a b 「JuliaComputingは、Arm PoweredServerでのNVIDIAGPUコンピューティングのサポートをもたらします-JuliaComputing」juliacomputing.com(プレスリリース)2021年9月2日取得
  74. ^ Patel、Chintan(2019年11月19日)。「NVIDIAは、NGCでHPC、AI、視覚化コンテナを使用してArmのサポートを拡張します| NVIDIAブログ」公式NVIDIAブログ(アメリカ英語)2019年12月3日取得
  75. ^ 「ModelingToolkit、Modelica、およびModia:Juliaの構成可能なモデリングの未来」確率的ライフスタイル(アメリカ英語)。2021年4月19日2021年9月6日取得SimulinkからModelingToolkit.jlに移行することで15,000倍の加速を見たNASAローンチサービスプログラム
  76. ^ ジュリアでの宇宙船分離ダイナミクスのモデリング-JonathanDiegelman 、 2021年9月6日取得
  77. ^ Circuitscape / Circuitscape.jl、Circuitscape、2020年2月25日、2020年5月26日取得
  78. ^ 「コーディングによる保全:ウイルスシャーとの5つの質問|科学ミッション局」science.nasa.gov 2020年5月26日取得
  79. ^ JuliaSpace / SatelliteToolbox.jl、JuliaSpace、2020年5月20日、2020年526日取得
  80. ^ 「JuliaCon2014」juliacon.org 2021年6月20日取得
  81. ^ 「MITでのJuliaCon2016」mit.edu 2021年6月20日取得
  82. ^ 「UMBでのJuliaCon2019」Technical.ly2019年7月23日2021年6月20日取得
  83. ^ 「JuliaCon2020のまとめ」julialang.org 2021年6月20日取得
  84. ^ 「JuliaCon2021」Juliacon.org 2021年6月20日取得
  85. ^ 「JanVitekホームページ」janvitek.org 2021年6月20日取得
  86. ^ 「SoumithChintalaホームページ」soumith.ch 2021年6月20日取得
  87. ^ 「ジュリアコミュニティ」julialang.org 2021年7月5日取得
  88. ^ 「ジュリアツイッター」twitter.com 2021年7月5日取得
  89. ^ 「LinkedInのJulia言語」Linkedin.com 2021年7月5日取得
  90. ^ 「FacebookのJulia言語」Facebook.com 2021年7月5日取得
  91. ^ 「SlackのJulia言語」julialang.org 2021年7月5日取得
  92. ^ 「ZulipのJulia言語」zulipchat.com 2021年7月5日取得
  93. ^ 「不和のジュリア言語」discord.com 2021年7月5日取得
  94. ^ 「談話のジュリア言語」julialang.org 2021年7月5日取得
  95. ^ 「スタックオーバーフローのJulia言語」stackoverflow.com 2021年7月5日取得
  96. ^ 「YouTubeのJulia言語」youtube.com 2021年7月5日取得
  97. ^ 「JuliaLanguageotherChannels」julialang.org 2021年7月5日取得
  98. ^ 「AlexArslanがコミュニティマネージャーとしてJulia言語に参加しました」julialang.org2017年5月16日2021年7月5日取得
  99. ^ 「LoganKilpatrickがコミュニティマネージャーとしてJuliaLanguageに参加しました」julialang.org2020年2月27日2021年7月5日取得
  100. ^ 「ジュリア:2014年以来のNumFOCUS後援プロジェクト」numfocus.org 2020年9月29日取得
  101. ^ 「ジュリア言語」julialang.org 2019年9月22日取得
  102. ^ シンパヌ、カタリン。「MozillaはFirefoxでJuliaをサポートする方法に資金を提供しています」ZDNet 2019年9月22日取得
  103. ^ 「ヨウ化物のジュリア」alpha.iodide.io 2019年9月22日取得
  104. ^ 「言語プラグイン-ヨウ化物ドキュメンテーション」ヨウ化物-project.github.io 2019年9月22日取得
  105. ^ 「MozillaResearchGrants2019H1」Mozilla 2019年9月22日取得WebAssemblyで言語インタープリターを実行します。主要なデータサイエンスツールへのアクセスをさらに増やすために、RまたはJuliaをWebAssemblyに移植し、Iodideにレベル3の言語プラグインを提供する人を探しています。R/ JuliaとJavascript間のデータ基本タイプの自動変換、およびR / JuliaとJavascriptの間でクラスインスタンスを共有する機能。
  106. ^ 「ウェブのためのリテラシー科学計算とコミュニケーション:ヨウ化物-プロジェクト/ヨウ化物」ヨウ化物。2019年9月20日2019年9月22日取得Pythonでデータを変更し、RまたはJAGSでクイックモデルを適合させ、Juliaでいくつかの微分方程式を解き、ライブのインタラクティブなd3 + JavaScript視覚化で結果を表示できる将来のワークフローを想定しています...そしてすべてそれは、単一の、移植可能で、共有可能で、ハッキング可能なファイル内にあります。
  107. ^ 「ジュリア言語のスポンサー」github.com 2021年6月5日取得
  108. ^ 「私達について–ジュリアコンピューティング」juliacomputing.com 2017年9月12日取得
  109. ^ 「JuliaComputingはシード資金で460万ドルを調達します」2019年5月10日にオリジナルからアーカイブされました。
  110. ^ 「JuliaComputingは、Alfred P. SloanFoundationから$ 910,000の助成金を授与されました。これには、STEMの多様性に対する$ 160,000が含まれます」juliacomputing.com2017年6月26日2020年7月28日取得
  111. ^ 「DIFFERENTIATE—手ごわいエネルギー削減を促進する(そして)斬新で完全に影響力のある高度な技術強化を可能にするデザインインテリジェンス」(PDF)
  112. ^ 「JuliaComputingは、DoriltonVenturesが主導する資金調達ラウンドで2400万ドルを調達します」ロイター2021年7月19日。
  113. ^ 「ウィリアムズはドリルトンベンチャーズのパートナーとしてジュリアコンピューティングを歓迎します」www.williamsf1.com(プレスリリース)2021年9月2日取得
  114. ^ 「ジュリア言語」(公式ウェブサイト)。汎用[..] Juliaを使用すると、UIを記述したり、コードを静的にコンパイルしたり、Webサーバーにデプロイしたりすることができます。
  115. ^ グリーン、トッド(2018年8月10日)。「高水準ジュリアにおける低水準システムプログラミング」2018年11月5日にオリジナルからアーカイブされました2018年11月5日取得
  116. ^ モス、ロバート(2015年6月26日)。「次世代の航空機衝突防止システムの仕様言語としてのジュリアの使用」(PDF)2015年7月1日にオリジナルからアーカイブされました2015年6月29日取得空中衝突回避システム
  117. ^ 「ジュリアのためのダッシュを発表する」プロット(プレスリリース)。2020年10月26日2021年9月2日取得
  118. ^ アナヤ、リチャード(2019年4月28日)。「JuliaでマルチスレッドHTTPサーバーを作成する方法」ミディアム2019年7月25日取得要約すると、Juliaには現在すぐに使用できるマルチスレッドサーバーソリューションがありませんが、そのプロセス分散機能と非常に人気のある負荷分散技術を簡単に利用して、HTTP処理のCPU使用率を最大限に高めることができます。
  119. ^ Anthoff、David(2019年6月1日)。「julia用のNode.jsのインストール」GitHub2019年7月25日取得
  120. ^ a b "ジュリアをJavaScriptに翻訳する"JuliaGizmos。2019年7月7日2019年7月25日取得
  121. ^ "PyCall.jl"stevengjgithub.com。2021年11月7日。
  122. ^ 「python3を使用したUbuntuのjuliaでのPyCallの使用」julia-Googleグループのユーザーモジュールをインポートするには(例:python3-numpy)
  123. ^ 「juliaへのPythonインターフェース」GitHub2021年11月6日。
  124. ^ "GitHub-JuliaLang / PackageCompiler.jl:Juliaパッケージをコンパイルします"ジュリア言語。2019年2月14日2019年2月15日取得
  125. ^ ab 「Y分でジュリアを学ぶLearnxinyminutes.com 2017年5月31日取得
  126. ^ 「ジュリアREPL・ジュリア言語」docs.julialang.org 2019年9月22日取得
  127. ^ 「ジュリア/ REPLの紹介-ウィキブックス、オープンワールドのためのオープンブック」en.wikibooks.org 2019年9月22日取得JuliaパッケージOhMyREPL.jl(github .com / KristofferC / OhMyREPL .jl)をインストールして、REPLの外観と動作をカスタマイズできます。 {{cite web}}:(ヘルプ外部リンク|quote=
  128. ^ 「はじめに・Julia言語」docs.julialang.org 2018年8月15日取得
  129. ^ 参照:文字列の補間についてはdocs .julialang .org / en / v1 / manual / types /string(greet, ", ", whom, ".\n")を、文字列を連結するための好ましい方法については例を参照してください。Juliaにはprintln関数とprint関数がありますが、@ printfマクロ(つまり、関数形式ではない)もあり、フォーマットの実行時のオーバーヘッドを排除します(Cの同じ関数とは異なります)。
  130. ^ 「Juliaドキュメント」JuliaLang.org 2014年11月18日取得
  131. ^ 「ProjectJupyter」
  132. ^ ブドロー、エメット(2020年10月16日)。「冥王星は本当のJupyterの代替品になるのでしょうか?」ミディアム2020年12月8日取得
  133. ^ 「ジュリアとスパーク、一緒により良い」juliacomputing.com2020年6月2日2020年7月14日取得
  134. ^ 「stevengjによるUnicode13のサポート・プルリクエスト#179・JuliaStrings / utf8proc」GitHub 2020年3月29日取得
  135. ^ 「JuliaRegistries /一般」GitHub2020年4月30日取得
  136. ^ 「Pkg.jl-アーティファクト」2020年6月4日取得
  137. ^ 「Pkg.jl-レジストリ」2020年4月30日取得
  138. ^ Bezanson、Jeff(2019年6月6日)。「ジェフベザンソン/フェムトリスプ」GitHub 2019年6月16日取得
  139. ^ 「ジュリア:テクニカルコンピューティングのための高速動的言語」(PDF)2012年。
  140. ^ 「PythonをJuliaと同じくらい速く実行させる方法」2015年。
  141. ^ 「Python、Julia、R、Matlab、IDLの基本的な比較」2015年。2017年11月27日のオリジナルからアーカイブ。
  142. ^ ギブス、マーク(2013年1月9日)。「ピュアとジュリアはチェックする価値のあるクールな言語です」ネットワークワールド(列)2013年2月7日取得
  143. ^ 「Darwin / ARM64追跡の問題・問題#36617・JuliaLang / julia」GitHub 2020年12月8日取得
  144. ^ Carlton、Sam(2020年12月8日)、ThatGuySam / doesitarm 、 2020年12月8日取得
  145. ^ 「ジュリアダウンロード」julialang.org 2019年5月17日取得
  146. ^ 「Juliaコードを組み込みハードウェア(ARM)に持ち込む」JuliaLang2019年1月23日2021年3月30日取得
  147. ^ "julia /arm.md"ジュリア言語。2019年11月29日2019年11月29日取得ARMの既知の問題のリストが利用可能です。 {{cite web}}:(ヘルプ外部リンク|quote=
  148. ^ 「TPUのジュリア」JuliaTPU。2019年11月26日2019年11月29日取得
  149. ^ 「紹介:oneAPI.jl⋅JuliaGPU」juliagpu.org 2021年9月6日取得
  150. ^ 「AMDROCm・JuliaGPU」juliagpu.org 2020年4月20日取得
  151. ^ 262588213843476。「RaspberryPiZeroのJuliaをビルドする」要旨2020年8月14日取得{{cite web}}: CS1 maint: numeric names: authors list (link)
  152. ^ 「JuliaBerry:ラズベリーパイのジュリア」juliaberry.github.io 2020年8月14日取得
  153. ^ 「ラズベリーパイのラズビアンで利用可能なジュリア」JuliaはすべてのPiバリアントで動作するため、Pi3を使用することをお勧めします。
  154. ^ 「ラズベリーパイのためのジュリア言語」ラズベリーパイ財団2017年5月12日。
  155. ^ 「AndroidでJuliaを使用していますか?」JuliaLang(アメリカ英語)。2019年9月27日2019年10月2日取得

さらに読む

外部リンク