| パラダイム | マルチパラダイム:多重ディスパッチ(主要パラダイム)、関数型、配列型、手続き型(命令型)、構造化、反射型、メタ、多段階型[1] |
|---|---|
| デザイン: | ジェフ・ブザンソン、アラン・エデルマン、ステファン・カルピンスキー、ヴィラル・B・シャー |
| 開発者 | ジェフ・ベザンソン、ステファン・カルピンスキー、バイラル・B・シャー、その他寄稿者[2] [3] |
| 初登場 | 2012年[4] |
| 安定版リリース | |
| プレビューリリース | 1.10.8が開発中[6]、1.12.0-DEVが毎日更新されている
|
| タイピングの規律 | 動的、[9] 推論的、任意、主格、パラメトリック、強い[9] |
| 実装言語 | Julia、C、C++、LLVM、[10] Scheme(パーサーとしてほぼ独占的に使用) |
| プラットフォーム | ティア1: x86-64、IA-32、Apple シリコン ( ARM64 ) Mac、Nvidia GPU/ CUDA (Linux 上) [11] ティア2: FreeBSD、 Linux 上の64 ビット Arm、Apple GPU、Intel GPU/ OneAPI 6.2+ および Nvidia GPU (Windows 上) ティア3: 32 ビットArm、64 ビットRISC-VおよびPowerPC、および AMD GPU/ ROCm 5.3+。 |
| OS | Linux、macOS、Windows、 FreeBSD |
| ライセンス | マサチューセッツ工科大学 |
| ファイル名拡張子 | .jl |
| Webサイト | ジュリアラン |
| 影響を受けた | |
Juliaは、高水準で汎用的な[17] 動的 プログラミング言語であり、高速で生産的であるように設計されており[18]、データサイエンス、人工知能、機械学習、モデリング、シミュレーションなどに使用され、数値解析や計算科学で最も一般的に使用されています。[19] [20] [21]
Juliaの設計上の特徴としては、パラメトリック多態性を備えた型システムと、コアプログラミングパラダイムとしての多重ディスパッチの使用、デフォルトのジャストインタイム(JIT)コンパイラ[17] [22] (事前コンパイル[23] [24] [25]をサポート)、効率的なガベージコレクション[26]などが挙げられます。特にJuliaはカプセル化されたメソッドを持つクラスをサポートしておらず、代わりにそれらに結び付けられていないジェネリックメソッド/関数を持つ構造体に依存しています。
デフォルトでは、Juliaはスクリプト言語と同様にランタイムを使用して実行され、対話が可能です。[23]しかし、Juliaプログラム/ソースコードは、オプションで、インストール/実行可能な1つのファイルでユーザーに送信することもできます。これは、事前に何もインストールする必要がなく、迅速に作成できます。[27] Juliaプログラムは、バイナリ実行ファイルに(個別に)コンパイルすることもでき、ソースコードなしでの配布も可能であり、実行ファイルはJulia 1.12で大幅に小さくなります。このようなコンパイルは速度には必要ありませんが、Juliaは対話的に実行されているときにもコンパイルされるため、定数倍の起動コストを削減できますが、ソースコードを隠すのに役立ちます。言語の機能は個別にコンパイルできるため、たとえば、Juliaをランタイムありまたはなし(実行可能ファイルとライブラリを小さくできますが、機能が制限されます)で使用できます。
Julia プログラムは、他の言語のライブラリを呼び出すことで再利用できます。たとえば、 CまたはRustライブラリを呼び出すことができます。また、 Julia (ライブラリ) は、 PythonやR などの他の言語から呼び出すこともできます。また、いくつかの Julia パッケージは、対応する Julia パッケージ用の Python および Rライブラリの形式で、それらの言語から簡単に利用できるようになっています。どちらの方向の呼び出しも、これらの言語やC++だけでなく、多くの言語で実装されています。
JuliaのVisual Studio Code拡張機能は、「組み込みの動的自動補完、インライン結果、プロットペイン、統合REPL、変数ビュー、コードナビゲーション、その他多くの高度な言語機能」を備えたフル機能の統合開発環境を提供します。 [28]たとえば、デバッグ、リンティング、プロファイリングが可能です。[29] [30] [31] [32]
歴史
Juliaの開発は2009年に始まり、ジェフ・ベザンソン、ステファン・カルピンスキー、バイラル・B・シャー、アラン・エデルマンが高水準かつ高速なフリー言語の作成に着手した。2012年2月14日、チームは言語の使命を説明するブログ記事を掲載したウェブサイトを立ち上げた。[4] 2012年4月のInfoWorldのインタビューで、カルピンスキーは「Julia」という名前について「特に理由はありません。ただ、きれいな名前だと思っただけです」と語っている。[20]ベザンソンは友人の勧めでこの名前を選んだと述べ、[33]数年後に次のように書いている。
おそらく、Juliaは「 Jeffの珍しいLispが自動化されている」という意味でしょうか? [34]
Julia の構文は、2018 年のバージョン 1.0 以降、安定していると見なされており、Julia には 1.x に対する下位互換性の保証と、文書化された (安定した) APIに対する安定性の約束がありますが、それ以前の 0.7 より前の初期の開発では、新しいバージョンで構文 (およびセマンティクス) が変更されていました。すべての (登録パッケージ)エコシステムは、新しく改良された構文を使用しており、ほとんどの場合、定期的に追加された新しい API に依存しており、場合によっては、Julia 1.7 のように、前方互換性のある方法で追加されたマイナーな追加構文もあります。
2012年にJulia 1.0以前のバージョンがリリースされてから10年で、コミュニティは成長しました。Juliaパッケージのエコシステムには、1,180万行を超えるコード(ドキュメントとテストを含む)があります。[35] Juliaユーザーと開発者向けの学術会議JuliaConは、2014年から毎年開催されており、JuliaCon2020 [36]は28,900人以上のユニークビューアーを迎え、[37] JuliaCon2021はこれまでのすべての記録を破り(YouTubeで無料で視聴できるJuliaCon2021のプレゼンテーションは前年の162件から300件に増加)、会議中のユニークビューアーは43,000人に達しました。[38]
Juliaの共同開発者のうち3人が、2019年のジェームズ・H・ウィルキンソン数値ソフトウェア賞(4年ごとに授与)を受賞した。受賞理由は「計算科学の問題の分析と解決を可能にする高性能ツールを作成するための革新的な環境であるJuliaの作成」である。[39]また、 MIT応用数学教授のアラン・エデルマンは、「高性能コンピューティング、線形代数、計算科学における顕著なブレークスルーと、Juliaプログラミング言語への貢献」により、2019年のIEEEコンピューター協会シドニー・ファーンバック賞の受賞者に選ばれた。[40]
Julia 0.7 [41]とバージョン1.0は両方とも2018年8月8日にリリースされました。Julia 0.7の作業は「大規模な取り組み」であり(「完全に新しいオプティマイザーのため」など)、セマンティクスにいくつかの変更が加えられ、たとえば反復インターフェースが簡素化されました。[42]
Julia 1.6は1.0以来最大のリリースであり、最も長い期間の長期サポート(LTS)バージョンであり、多くの面で高速化され、たとえば並列プリコンパイルとパッケージの高速ロードが導入され、場合によっては「バイナリ成果物の大きなツリーのロード時間が50倍高速化」されました。[43] 1.7以降、Juliaの開発は時間ベースのリリースに戻りました。[44] Julia 1.7は、新しいより高速な乱数ジェネレーターなど多くの変更を伴って2021年11月にリリースされ、Julia 1.7.3では少なくとも1つのセキュリティ問題が修正されました。[45] Julia 1.8は2022年に、1.8.5は2023年1月にリリースされました。[46] 1.8.xでは、Juliaプログラムをソースコードなしで配布するための改善や、コンパイラの高速化(場合によっては25%)、[47] およびより制御可能なインライン化(つまり@inline、関数自体だけでなく、呼び出し元での適用も可能になりました)が行われています。 Julia 1.9は2023年5月7日にリリースされました。 パッケージをネイティブマシンコードにプリコンパイルする機能など、多くの改善が加えられています(古いバージョンのJuliaにもパッケージのプリコンパイルはありましたが、部分的なものであり、ネイティブコードに完全には行われませんでした。そのため、以前のバージョンでは「初回使用」のペナルティがあり、完全にコンパイルされるまで待機している間は速度が低下しました)。 バージョン1.9以降、プリコンパイルされたパッケージは、初回使用時に最大数百倍高速化できます(例:CSV.jlおよびDataFrames.jl)。 Julia 1.10は、並列ガベージコレクション、パッケージの読み込み時間の改善、新しいパーサー(Juliaで書き直され、エラーメッセージが改善され、スタックトレースのレンダリングが改善された)など、多くの新機能を備えて2023年12月25日にリリースされました。[48]
Julia 1.11 は 2024 年 10 月 7 日にリリースされ (1.11.1 は 10 月 16 日にリリース)、それとともに 1.10.5 が次の長期サポート(LTS) バージョンになりました (つまり、これらがサポートされている唯一の 2 つのバージョンです)。その後、11 月 26 日にリリースされた 1.10.7 に置き換えられ、1.6 は LTS バージョンではなくなりました。Julia 1.11 では、たとえば、public安全なパブリック API を示す新しいキーワードが追加されています (Julia ユーザーは、Julia またはパッケージの内部ではなく、そのような API を使用するように推奨され、パッケージ作成者は、古い Julia バージョン (少なくとも LTS バージョン) もサポートするために、一般的に間接的に、たとえばCompat.jl@compatのマクロをプレフィックスとしてキーワードを使用するように推奨されています)。Julia 1.11.1 は、起動が大幅に改善され (回帰があった 1.11.0 と比べて)、1.10 と比べても改善されており、これは一部のベンチマークにとって重要になる可能性があります。
一時的なパッケージの非互換性が知られているため、一部のユーザー (例: R から Julia を呼び出すユーザー) は 1.11 へのアップグレードを延期したい場合があります。
juliac今後リリースされる Julia 1.12 (現在の「ナイトリー」バージョン) でのみ利用可能な、
はるかに小さいバイナリ実行可能ファイルが可能になります。
ジュリアコン
2014年以来、[49] Juliaコミュニティは開発者とユーザーに焦点を当てたJuliaカンファレンスを毎年開催しています。最初のJuliaConはシカゴで開催され、カンファレンスの年次開催のきっかけとなりました。2014年以来、カンファレンスはMIT [50]やメリーランド大学ボルチモア校[51]など、いくつかの場所で開催されています。イベントの聴衆は、バーチャルで開催されたJuliaCon 2020の期間中、数十人から28,900人以上のユニーク参加者[52]に増加しました。JuliaCon 2021もバーチャルで開催され[53]、IEEE 754浮動小数点標準(Juliaを含むほぼすべてのCPUと言語で使用)の主要な設計者であるWilliam Kahan教授、 [54] Jan Vitek教授、[55] Xiaoye Sherry Li教授、 PyTorchの共同作成者であるSoumith Chintala教授が基調講演を行いました。[56] JuliaConは43,000人の参加者と300以上のプレゼンテーション(古い年も含め、引き続き無料でアクセス可能)に成長しました。JuliaCon 2022は、2022年7月27日から7月29日まで、英語だけでなく複数の言語で初めてバーチャル開催されます。
スポンサー
Julia言語は、プロジェクトの長期的な持続可能性を確保するため、2014年にNumFOCUSの財政支援プロジェクトとなった。[57] MITリンカーン研究所のジェレミー・ケプナーは、初期のJuliaプロジェクトの創設スポンサーであった。さらに、ゴードン・アンド・ベティ・ムーア財団、アルフレッド・P・スローン財団、インテル、 NSF、DARPA、NIH、NASA、FAAなどの機関からの資金が、Juliaの開発に不可欠であった。[58] Firefoxウェブブラウザのメーカーである Mozillaは、2019年上半期の研究助成金により、「Juliaをブラウザに導入する」プロジェクトに「公式Juliaチームのメンバー」をスポンサーした。[59]これは、 Firefoxと他のウェブブラウザへの導入を意味する。[60] [61] [62] [63] Julia言語は、GitHubの個人寄付者からもサポートされている。[64]
ジュリア社
JuliaHub, Inc.は、2015年にViral B. Shah、Deepak Vinchhi、Alan Edelman、Jeff Bezanson、Stefan Karpinski、Keno FischerによってJulia Computing, Inc.として設立されました。[65] [66]
2017年6月、ジュリアコンピューティングはゼネラルカタリストとファウンダーコレクティブ から460万ドルのシード資金を調達し、 [67]同月には「アルフレッド・P・スローン財団からオープンソースのジュリア開発を支援するために91万ドルの助成金を受け、そのうち16万ドルはジュリアコミュニティの多様性を促進するためのもの」だった。[68] 2019年12月には米国政府から「建物内の暖房、換気、空調(HVAC)システムの総エネルギー消費量を削減するためのニューラルコンポーネント機械学習ツールを開発する」ために110万ドルの資金提供を受けた。 [69] 2021年7月、ジュリアコンピューティングは、ジュリアコンピューティングと提携したフォーミュラ1チームのウィリアムズレーシングも所有するドリルトンベンチャーズが主導するシリーズAラウンドで2400万ドルを調達したと発表した。[70]ウィリアムズのコマーシャルディレクターは「クラス最高のクラウドテクノロジーを構築する企業への投資はドリルトンの戦略的焦点であり、シミュレーションとモデリングの革新的な機能を備えたJuliaの多用途プラットフォームは私たちのビジネスに非常に関連しています。私たちは、世界で最も技術的に進歩したスポーツにJulia Computingを組み込むことを楽しみにしています」と語った。[71] 2023年6月、JuliaHubは(再び、今度は新しい名前で)AE Industrial Partners HorizonX(「AEI HorizonX」)が主導する1,300万ドルの戦略的新規投資を受けた。AEI HorizonXは、Juliaを使用するボーイング社と提携して設立されたベンチャーキャピタル投資プラットフォームである。 [72]ティム・ホーリーの(セントルイスのワシントン大学のホーリー研究所での)Julia 1.9(応答性の向上)に関する研究は、チャン・ザッカーバーグ・イニシアチブによって資金提供された。
言語機能
Juliaは汎用プログラミング言語であるが[73]、もともとは数値計算や技術計算用に設計された。また、低レベルシステムプログラミング[74]、仕様言語[ 75]、高レベル合成(HLS)ツール(ハードウェア、例えばFPGA用) [76] 、そしてサーバー[78] [79]とクライアント[80] [81]の両方でのWebプログラミング[77]にも有用である。
この言語の主な特徴は次のとおりです。
- 多重ディスパッチ: 引数の型の組み合わせに応じて関数の動作を定義する機能を提供する
- 動的型システム: ドキュメント、最適化、ディスパッチのための型
- Cのような静的型付け言語に近いパフォーマンス
- 組み込みのパッケージマネージャー
- Lispのようなマクロとその他のメタプログラミング機能
- 並列および分散コンピューティング向けに設計
- コルーチン: 軽量グリーンスレッド
- 異なる引数タイプに対するコードの自動生成
- 数値型やその他の型に対する拡張可能な変換と昇格
多重ディスパッチ( Lisp ではマルチメソッドとも呼ばれる)は、継承 を使用する単一ディスパッチ( Python、C++、Java、JavaScript、Smalltalkなどの一般的なオブジェクト指向プログラミング(OOP)言語で使用される 多態的メカニズム)の一般化です。Julia では、すべての具象型は抽象型のサブタイプであり、型階層の最上位にある型の直接的または間接的なサブタイプです。具象型は、他の言語のようにサブタイプ化することはできません。代わりに合成が使用されます(継承とサブタイプ化も参照)。
Any
デフォルトでは、ユーザー提供のソースコードを実行するため、Juliaランタイムを事前にインストールする必要があります。あるいは、Julia(GUI)アプリは、AppBundler.jl [27]を使用して1つのファイルに素早くバンドルされ、「最新のデスクトップアプリケーションインストーラー形式でJulia GUIアプリケーションを構築します。ターゲットとしてLinuxの場合はSnap、 Windowsの場合はMSIX、MacOSの場合はDMGを使用します。アプリ内に完全なJuliaをバンドルします」。[82] PackageCompiler.jlは、実行にJuliaソースコードを必要としないスタンドアロン実行可能ファイルを構築できます。[23]
Julia では、オブジェクト指向言語と同様にすべてがオブジェクトです。ただし、ほとんどのオブジェクト指向言語とは異なり、すべての関数は単一のディスパッチではなく、 複数のディスパッチを使用してメソッドを選択します。
ほとんどのプログラミング パラダイムは、Julia の同図像的マクロとパッケージを使用して実装できます。Lisp マクロのような Julia の構文マクロ(メタプログラミングに使用) は、抽象構文木(AST)のレベルで機能するため、C などの他の言語のプリプロセッサで使用されるテキスト置換マクロよりも強力です。Julia のマクロ システムは衛生的ですが、必要に応じて (アナフォリック マクロなど)構造を使用して意図的なキャプチャもサポートします。
esc
Juliaは、 SchemeやCommon Lispを含むLispのさまざまな方言からインスピレーションを得ており、多重ディスパッチ指向の動的言語であるDylan ( Lispのようなプレフィックス構文ではなく中置構文を特徴とし、Juliaでは「すべて」 [83]は式である)や、別の数値プログラミング言語である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言語ライブラリを呼び出すための組み込みサポートがあります。追加のライブラリを使用すると、 Python、[84] C++、[85] [86] Rust、R、[87] Java [88]@ccallなどの他の言語との間で呼び出したり、 SQLで使用したりできます。[89] [90] [91] [92]
個別にコンパイルされた実行可能ファイルオプション
JuliaはPackageCompiler.jlを使ってバイナリ実行ファイルにコンパイルすることができます。[23]また、 StaticCompiler.jlによって提供される言語の静的サブセットを使用して、より小さな実行ファイルを作成することもできます。この言語はランタイムディスパッチをサポートしていません(ガベージコレクションもサポートしていません。ガベージコレクションを提供するランタイムは除外されます)。[93]
交流
Juliaの公式ディストリビューションには、対話型のコマンドライン読み取り-評価-印刷ループ(REPL)[94]が含まれており、検索可能な履歴、タブ補完、専用のヘルプとシェルモード[95]を使用して、コードをすばやく実験およびテストすることができます。[96]次のフラグメントは、文字列がprintlnによって自動的に連結されるサンプルセッションの例を表しています。[97]
julia> 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 supports recognizable syntax!" ) Hello world! I'm on cloud 9 as Julia supports recognizable syntax!
REPLは、プロンプト(各コマンドの前)の後に;またはを押すことで、システムシェルとヘルプモードにアクセスできます。また、セッション間を含むコマンドの履歴も保持します。 [98]コードは、Juliaの対話型セッション内でテストすることも、拡張子の付いたファイルに保存して、次のように入力してコマンドラインから実行することもできます。[83]?.jl
$ julia <ファイル名>
Julia はUTF-8とLaTeXコードを使用しているため、多くの演算子で一般的な数学記号をサポートしています。たとえば、演算子 ∈ はin、\in入力して キーを押すことで入力できますTab ↹(つまり、 LaTeXコードを使用するか、単にコピー アンド ペーストすることもできます。たとえば、√ と ∛ はsqrt関数とcbrt関数で使用できます)。Julia は、最新のメジャー リリース Unicode 15.0 (Julia 1.11-DEV は最新の 15.1 ポイント リリース[99] ) [100]をサポートしており、ソース コード (変数名など) でも世界中の言語を使用できます (公開コードやパッケージ名などには英語を使用することをお勧めします)。
Juliaは、オンラインのインタラクティブな「ノートブック」環境であるJupyter [101]と、前者の代替となる可能性のある「リアクティブノートブック」(ノートブックが純粋なJuliaファイルとして保存される)であるPluto.jlによってサポートされています。 [102]さらに、Posit(旧RStudio Inc)のQuarto出版システムは、Julia、Python、R、およびObservable JavaScriptをサポートしています(これらの言語は同社によって公式にサポートされており、同じノートブックドキュメントに組み込むこともできますが、非公式にサポートされている言語は他にもあります)。[103] [104]
REPLは追加のモードで拡張することができ、パッケージでは例えばデータベースアクセス用のSQLモード[105]が追加されており、RCall.jlはR言語で動作するようにRモードを追加します[106]。
他の言語で使用する
Julia は実際には他の言語、実際、よく使われている上位 20 言語の大部分と相互運用可能です。Julia は、C や Fortran で書かれた共有ライブラリ関数などを個別に呼び出すために使用できます。また、C でエクスポートされた関数を直接提供しない他の言語を呼び出すためのパッケージも用意されています。たとえば、Python ( PythonCall.jlを使用)、R、[107] MATLAB、C# (および他の .NET 言語からはDotNET.jlを使用、それらからはJdotNETを使用)、JavaScript、Java (および他の JVM 言語からはJavaCall.jlを使用、Scalaなど) などです。また、他の言語用のパッケージを使用すると、Python、R (現在 Julia 1.10.x まで可能[108] )、Rust 、Ruby、C# などから Julia を呼び出すことができます。例えば、Pythonから呼び出すためのjuliacall(PythonCall.jlの一部)や、 RからJulia 1.10.xまでの呼び出し用の別のJuliaCallパッケージなどがあります。Juliaは、 FPGAなどの高位合成ツールとして、つまりVHDLにコンパイルするためにハードウェアにも使用されています。[76]
Juliaには、 HTML ( HTTPも含む)、XML、JSON、BSONなどのマークアップ言語や、 PostgreSQL、 [109] Mongo、[110] Oracle(TimesTen、[111] MySQL、SQLite、Microsoft SQL Server、[110] Amazon Redshift、Vertica、ODBCを含む)などのデータベース、および一般的なWebでの使用をサポートするパッケージがあります。[112] [113]
パッケージシステム
Juliaにはパッケージマネージャーが組み込まれており、デフォルトのレジストリシステムが含まれています。[114]パッケージはほとんどの場合、GitHubでホストされているソースコードとして配布されますが、代替手段も同様に使用できます。パッケージは、アーティファクトを使用してバイナリとしてインストールすることもできます。[115] Juliaのパッケージマネージャーは、パッケージのクエリとコンパイル、および環境の管理に使用されます。連合パッケージレジストリがサポートされているため、公式以外のレジストリをローカルに追加できます。[116]
実装
Julia のコアは Julia とCで実装されており、 LLVM依存のためにC++も使用されています。コード解析、コード削減、ブートストラップは、バージョン 1.10 まではScheme方言である FemtoLisp で実装されていました。[117]このバージョン以降、新しい pure-Julia 標準ライブラリ パッケージJuliaSyntax.jlが解析に使用されています (古いパッケージも選択できます) [118]。これにより速度が向上し、「さまざまなケースでパーサー エラー メッセージが大幅に改善されます」。[119] LLVM コンパイラ インフラストラクチャ プロジェクトは、一般的に使用されているすべてのプラットフォーム向けに最適化されたマシン コードを生成するためのバックエンドとして使用されています。いくつかの例外を除き、標準ライブラリは Julia で実装されています。
現在のプラットフォームと将来のプラットフォーム
Julia は、 64 ビットのApple Silicon Mac向けのmacOS のティア 1 サポートをネイティブで提供しています(以前は、 Apple M1ベースの Mac はRosetta 2エミュレーション[120] [121]でのみサポートされていました)。また、Intel ベースの Mac も完全にサポートしています。ARM上の Windows はまだ公式サポートされていません。Julia には「OpenBSD の初期サポート」がありますが、実際に動作させるにはさらにサポートが必要です: https://github.com/JuliaLang/julia/issues/53632 -->
Julia には 4 つのサポート層があります。[122] i686サブアーキテクチャを完全に実装しているすべてのIA-32プロセッサがサポートされており、すべての 64 ビットx86-64 (別名amd64 )、つまり約 10 年以内のものがすべてサポートされています。Armv8 ( AArch64 ) プロセッサは第 1 層 (macOS の場合) でサポートされ、それ以外の場合は Linux で第 2 層、ARMv7 (AArch32) は第 3 層でサポートされています。[123]数百のパッケージがGPU アクセラレーションされています。[124] Nvidia GPU はCUDA .jlでサポートされています(64 ビット Linux では第 1 層、64 ビット Windows では第 2 層、コンピューティング機能 3.5 (Kepler) 以上用のPTXを実装するパッケージ。どちらも CUDA 11 以上が必要で、古いパッケージ バージョンは CUDA 9 まで動作します)。さらに、 GoogleのTPU [125]や一部のIntel(統合型)GPU(oneAPI.jl [126]経由)などの他のアクセラレータをサポートするパッケージもあり、AMDのGPUはOpenCLなどのサポートがあり、AMD ROCmスタックの実験的なサポートもあります。[127]
一部のプラットフォームでは、Juliaをソースコードからコンパイルする必要がある場合があります(例:オリジナルのRaspberry Pi)。特定のビルドオプションを指定してコンパイルされており、これは実行されており、非公式のビルド済みバイナリ(およびビルド手順)が利用可能です。[128] [129] Juliaは、小型のRaspberry Piから、世界最速(一時期、最近まで)のスーパーコンピューターである富岳のARMベースのA64FXまで、いくつかのARMプラットフォーム用にビルドされています。[130] PowerPC(64ビット)はTier 3のサポートがあり、「ビルドされる場合とされない場合がある」ことを意味し、1.12ではTierが4に下がり、それ以降は動作しなくなります。 Juliaは現在Raspbianでサポートされていますが[131]、 Armv7以降のものなど、新しいPiの方がサポートが優れています。JuliaのサポートはRaspberry Pi Foundationによって推進されています。[132] Juliaは64ビットRISC-V用にも構築されており、[133] [134]コアJuliaにいくつかのサポートコードが含まれています。
Juliaはデフォルトでオペレーティングシステムを必要とし、 Arduinoなどの組み込みシステムプラットフォームなしで実行したり、その上で実行するための公式サポートはありませんが、Juliaコードは、2KBのRAM(および32KBのフラッシュメモリ)を備えたベアメタル16MHz 8ビット(ATmega328P)AVRマイクロコントローラArduino上でいくつかの制限付きで実行 されています。[135] [136]
採択
Juliaは、 MIT、スタンフォード大学、カリフォルニア大学バークレー校、マシュハド大学、ケープタウン大学など多くの大学で採用されています。Amazon 、IBM、JPモルガンAIリサーチ、[137]、ASMLなど、多くの分野の大手民間企業もこの言語を採用しています。Juliaは、 NASAやFAAなどの政府機関や、米国のすべての国立エネルギー研究所でも使用されています。 [18] [138]
科学計算と工学
- Amazon、量子コンピューティング[139]およびAmazon SageMaker [140]を介した機械学習
- ASML、自社製マシンによるハードリアルタイムプログラミング[141]
- 気候変動モデリングのための気候モデリングアライアンス[142] [143]
- CERN 、大型ハドロン衝突型加速器(LHCb実験)のデータを分析するため[144] [145] [146] [147] [148] [149]
- NASAとジェット推進研究所は、 Juliaを使用して宇宙船の分離ダイナミクスをモデル化し、[150] [151] [152] TRAPPIST 太陽系外惑星データセットを分析し、[153] [154]ビッグバンからの宇宙マイクロ波背景データを分析しています[155]
- ブラジルのINPE、宇宙ミッションと衛星シミュレーション[156]
- 米空軍研究所の VTOL ドローンの自律飛行を計画し実行するための組み込みハードウェア[157]
医薬品および医薬品開発
Juliaは製薬業界の医薬品開発に広く使用されており、Moderna、Pfizer、AstraZeneca、Procter & Gamble、United Therapeuticsなどで採用されています。[158] [159]
経済学、金融学、政治学
- ニューヨーク連邦準備銀行、2015年以来のジュリアにおけるマクロ経済モデリング、2021年のCOVID-19ショックの推定を含む[160]
- また、カナダ中央銀行のマクロ経済モデリングにも参加している[161]
- 世界最大の資産運用会社ブラックロックの金融時系列分析[162]
- 英国最大の損害保険会社アビバ(保険数理計算担当)[ 162]
- マイター・コーポレーション、公表された選挙結果の検証[163]
- ノーベル賞受賞者トーマス・J・サージェント、マクロ計量経済モデリング[164]
参照
- 数値解析ソフトウェアの比較
- 統計パッケージの比較
- 微分可能プログラミング
- JuMP – Julia に組み込まれた数学的最適化のための代数モデリング言語
- パイソン
- ニム
- 指輪
- モジョ
参考文献
- ^ 「Julia の @generated 関数によるデータの平滑化」。2015 年 11 月 5 日。2016 年 3 月 4 日時点のオリジナルよりアーカイブ。2015年12 月 9 日閲覧。Julia
の generated 関数は、Taha と Sheard によって普及したマルチステージ プログラミング (MSP) パラダイムと密接に関連しており、これは複数ステージの遅延コード実行を可能にすることで、プログラム実行のコンパイル時/実行時のステージを一般化します。
- ^ “LICENSE.md”. GitHub . 2017年9月. 2021年1月23日時点のオリジナルよりアーカイブ。 2014年10月20日閲覧。
- ^ “Contributors to JuliaLang/julia”. GitHub . 2021年1月23日時点のオリジナルよりアーカイブ。 2014年10月20日閲覧。
- ^ abcde Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman (2012年2月)。「なぜJuliaを作ったのか」。Juliaのウェブサイト。2020年5月2日時点のオリジナルよりアーカイブ。 2013年2月7日閲覧。
- ^ https://julialang.org/downloads/。
{{cite web}}:欠落または空|title=(ヘルプ) - ^ 「Julia 1.10.8 のバックポート by KristofferC · プルリクエスト #56653 · JuliaLang/julia」。GitHub 。 2024年12月1日閲覧。
- ^ 「GitHub - JuliaLang/julia at v1.10.7」。GitHub 。 2024年12月1日閲覧。
- ^ 「release-1.10: VERSION を 1.10.7 に設定 by KristofferC · Pull Request #56615 · JuliaLang/julia」。GitHub。2024年12月 1 日閲覧。
- ^ ab Engheim, Erik (2017年11月17日). 「動的型付け言語はあなたが考えているものではない」. Medium . 2021年3月5日時点のオリジナルよりアーカイブ。 2021年1月27日閲覧。
- ^ “Building Julia (Detailed)”. GitHub . 2017年9月. 2022年5月16日時点のオリジナルよりアーカイブ。 2022年5月16日閲覧。
- ^ 「NVIDIA CUDA ⋅ JuliaGPU」。juliagpu.org。2022年1月29日時点のオリジナルよりアーカイブ。2022年1月17日閲覧。Rodinia
ベンチマークスイートから選択したアプリケーションで、パフォーマンスがCUDA Cに近づき、時にはそれを上回ることさえあることを示しました。
- ^ Stokel-Walker, Chris. 「Julia: The Goldilocks language」. Increment . Stripe. 2020年11月9日時点のオリジナルよりアーカイブ。 2020年8月23日閲覧。
- ^ 「JuliaCon 2016」。JuliaCon。2017年3月4日時点のオリジナルよりアーカイブ。2016年12月6日閲覧。
彼はプログラミング言語Schemeの共同設計者であり、Juliaの設計に大きな影響を与えました。
- ^ abcd "Home · The Julia Language". docs.julialang.org . 2021年1月11日時点のオリジナルよりアーカイブ。 2018年8月15日閲覧。
- ^ “Programming Language Network”. GitHub. 2020年12月20日時点のオリジナルよりアーカイブ。2016年12月6日閲覧。
- ^ “What Should We Call the Language of Mathematica?—Stephen Wolfram Writings”. writings.stephenwolfram.com . 2013年2月12日. 2024年9月4日時点のオリジナルよりアーカイブ。2021年6月24日閲覧。
- ^ ab Fischer, Keno; Nash, Jameson. 「コンパイラの成長 - 汎用コンパイラから機械学習へ」juliahub.com . 2022年11月16日閲覧。[永久リンク切れ ]
- ^ ab 「『Why We Created Julia』が10周年を迎える」juliahub.com。 2022年11月16日時点のオリジナルよりアーカイブ。2022年11月16日閲覧。
- ^ Bryant, Avi (2012年10月15日). 「Matlab、R、Julia: データ分析のための言語」. O'Reilly Strata. 2014年4月26日時点のオリジナルよりアーカイブ。
- ^ ab Krill, Paul (2012年4月18日). 「新しいJulia言語は科学者のためのCを目指す」. InfoWorld . 2014年9月13日時点のオリジナルよりアーカイブ。 2021年7月4日閲覧。
- ^ Finley, Klint (2014年2月3日). 「Out in the Open: Man Creates One Programming Language to Rule Them All」. Wired . 2016年12月20日時点のオリジナルよりアーカイブ。 2017年3月8日閲覧。
- ^ “Sysimages · PackageCompiler”. julialang.github.io . 2023年4月10日時点のオリジナルよりアーカイブ。2023年4月10日閲覧。
- ^ abcd 「GitHub - JuliaLang/PackageCompiler.jl: Julia パッケージをコンパイルする」。The Julia Language。2019年2月14日。2019年3月23日時点のオリジナルよりアーカイブ。2019年2月15日閲覧。
- ^ “julia/doc/src/devdocs/aot.md at master · JuliaLang/julia”. GitHub . 2023年10月3日時点のオリジナルよりアーカイブ。2023年10月3日閲覧。
- ^ 「システムイメージの構築 · Julia 言語」。docs.julialang.org 。2023年10 月 3 日閲覧。
- ^ 「パフォーマンス向上のためにガベージコレクションを一時停止するのは良いアイデアか悪いアイデアか?」Groups.google.com。2012年2月14日時点のオリジナルよりアーカイブ。2017年5月31日閲覧。
- ^ ab "AppBundler.jl". PeaceFounder. 2023年12月13日. 2023年12月18日時点のオリジナルよりアーカイブ。 2023年12月18日閲覧。
- ^ 「Visual Studio Code での Julia」。
- ^ Holy, Tim (2019年9月13日). 「GitHub - timholy/ProfileView.jl: Juliaプロファイリングデータの視覚化」. GitHub . 2020年1月31日時点のオリジナルよりアーカイブ。 2019年9月22日閲覧。
- ^ Gregg, Brendan (2019年9月20日). 「GitHub - brendangregg/FlameGraph: Stack trace visualizer」. GitHub . 2019年9月26日時点のオリジナルよりアーカイブ。 2019年9月22日閲覧。
- ^ 「Julia インタープリターとデバッガー」julialang.org . 2019 年4 月 10 日閲覧。
- ^ “Home · Rebugger.jl”. timholy.github.io . 2019年3月31日時点のオリジナルよりアーカイブ。 2019年4月10日閲覧。
- ^ Torre, Charles. 「Stefan Karpinski and Jeff Bezanson on Julia」. Channel 9. MSDN. 2018年12月4日時点のオリジナルよりアーカイブ。 2018年12月4日閲覧。
- ^ Bezanson, Jeff (2021年4月2日). 「CASベンチマーク」. discourse.julialang.org . 2021年4月2日時点のオリジナルよりアーカイブ。2021年4月2日閲覧。
- ^ 「ニュースレター 2021 年 8 月 - Julia Computing が 2,400 万ドルのシリーズ A 資金調達を完了し、元 Snowflake CEO の Bob Muglia が Julia Computing の取締役に就任 - JuliaHub」。juliahub.com。2022年11 月 16 日時点のオリジナルよりアーカイブ。2022 年11 月 16 日閲覧。
- ^ “JuliaCon 2020”. JuliaCon 2020 . 2023年10月12日時点のオリジナルよりアーカイブ。2023年10月6日閲覧。
- ^ “JuliaCon 2020 Wrap-up”. julialang.org . 2020年8月11日. 2020年11月30日時点のオリジナルよりアーカイブ。 2020年12月20日閲覧。
- ^ “JuliaCon 2021 Highlights”. julialang.org . 2021年9月6日時点のオリジナルよりアーカイブ。2021年9月6日閲覧。
- ^ 「Julia言語の共同作成者が数値計算ソフトウェアのジェームズ・H・ウィルキンソン賞を受賞」MITニュース。2018年12月26日。2019年1月28日時点のオリジナルよりアーカイブ。 2019年1月22日閲覧。
- ^ 「MITのアラン・エデルマン氏が権威ある2019 IEEEコンピュータ協会シドニー・ファーンバッハ賞を受賞 | IEEEコンピュータ協会」(プレスリリース)。2019年10月1日。2019年10月9日時点のオリジナルよりアーカイブ。 2019年10月9日閲覧。
- ^ 「Julia 0.7 とは何ですか? 1.0 とどのように関係していますか?」JuliaLang . 2018 年 3 月 26 日。2018 年 7 月 27 日時点のオリジナルよりアーカイブ。2018 年10 月 17 日閲覧。
- ^ Davies, Eric. 「Writing Iterators in Julia 0.7」。julialang.org 。 2018年8月6日時点のオリジナルよりアーカイブ。2018年8月5日閲覧。
- ^ Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman、他「Julia 1.6 Highlights」julialang.org。2021年3月26日時点のオリジナルよりアーカイブ。 2021年3月26日閲覧。
- ^ 「OpenBLAS 0.3.13 へのアップグレード · プルリクエスト #39216 · JuliaLang/julia」。GitHub。2022年 3 月 23 日時点のオリジナルからのアーカイブ。2021年4 月 26 日閲覧
。1.7 がそれほど遠くないことを考えると (今後は時間指定リリース)
- ^ "[Zlib_jll] Update to v1.2.12+3 by giordano · Pull Request #44810 · JuliaLang/julia". GitHub . 2022年5月25日時点のオリジナルよりアーカイブ。 2022年5月25日閲覧。
- ^ “Backports for Julia 1.8.5 by KristofferC · Pull Request #48011 · JuliaLang/julia”. GitHub . 2023年1月4日時点のオリジナルよりアーカイブ。 2023年1月8日閲覧。
- ^ “compiler: speed up bootstrap time by 25% by aviatesk · Pull Request #41794 · JuliaLang/julia”. GitHub . 2022年3月3日時点のオリジナルよりアーカイブ。2022年3月3日閲覧。
以前はブートストラップに約80秒かかっていましたが、このPRでは時間は約60秒に短縮されています。
- ^ “julia/HISTORY.md at master · JuliaLang/julia”. GitHub . 2024年12月1日閲覧。
- ^ “JuliaCon 2014”. juliacon.org . 2021年6月20日閲覧。
- ^ “JuliaCon 2016 at MIT”. mit.edu . 2016年7月18日. 2021年6月24日時点のオリジナルよりアーカイブ。 2021年6月20日閲覧。
- ^ “JuliaCon 2019 at UMB”. technical.ly . 2019年7月23日. 2021年6月24日時点のオリジナルよりアーカイブ。 2021年6月20日閲覧。
- ^ “JuliaCon 2020 wrap up”. julialang.org . 2020年11月30日時点のオリジナルよりアーカイブ。 2021年6月20日閲覧。
- ^ “JuliaCon 2021”. Juliacon.org . 2021年6月20日時点のオリジナルよりアーカイブ。2021年6月20日閲覧。
- ^ “JuliaCon 2021 Highlights”. julialang.org . 2021年9月6日時点のオリジナルよりアーカイブ。2022年3月3日閲覧。
今年のJuliaConは過去最大かつ最高のカンファレンスとなり、300以上のプレゼンテーションがYouTubeで無料で視聴でき、20,000人以上が登録し、カンファレンス中のYouTubeユニーク視聴者数は43,000人を超えました。これは昨年のカンファレンス中の162のプレゼンテーション、10,000人の登録、28,900人のYouTubeユニーク視聴者数から増加しています。
- ^ “Jan Vitek Homepage”. janvitek.org . 2024年1月22日時点のオリジナルよりアーカイブ。2021年6月20日閲覧。
- ^ “Soumith Chintala Homepage”. soumith.ch . 2021年6月24日時点のオリジナルよりアーカイブ。2021年6月20日閲覧。
- ^ “Julia: 2014年からNumFOCUSがスポンサーとなっているプロジェクト”. numfocus.org . 2020年9月28日時点のオリジナルよりアーカイブ。2020年9月29日閲覧。
- ^ “The Julia Language”. julialang.org . 2019年7月26日時点のオリジナルよりアーカイブ。 2019年9月22日閲覧。
- ^ Cimpanu、Catalin。「Mozilla が Firefox で Julia をサポートする方法に資金提供」ZDNet。2019年 7 月 10 日時点のオリジナルよりアーカイブ。2019年9 月 22 日閲覧。
- ^ “Julia in Iodide”. alpha.iodide.io . 2019年9月22日時点のオリジナルよりアーカイブ。2019年9月22日閲覧。
- ^ 「言語プラグイン - Iodide ドキュメント」。iodide-project.github.io。2019年9月22日時点のオリジナルよりアーカイブ。2019年9月22日閲覧。
- ^ “Mozilla Research Grants 2019H1”. Mozilla . 2019年10月9日時点のオリジナルよりアーカイブ。2019年9月22日閲覧。
WebAssemblyで言語インタープリターを実行。 主要なデータサイエンスツールへのアクセスをさらに増やすために、RまたはJuliaをWebAssemblyに移植し、Iodideのレベル3言語プラグイン(R / JuliaとJavascript間のデータ基本型の自動変換、およびR / JuliaとJavascript間のクラスインスタンスの共有機能)を提供してくれる人を探しています。
- ^ 「Web 向けの文芸的科学計算とコミュニケーション: iodide-project/iodide」。iodide。2019 年 9 月 20 日。2018 年 8 月 24 日時点のオリジナルよりアーカイブ。2019年9 月 22 日閲覧。
私たちは、Python でデータ加工を行い、R または JAGS で簡単なモデルを適合させ、Julia で微分方程式を解き、結果をライブでインタラクティブな d3+JavaScript 視覚化で表示できる将来のワークフローを構想しています。これらすべてを、単一のポータブルで共有可能かつハッキング可能なファイル内で実現します。
- ^ “Sponsor the Julia Language”. github.com . 2021年7月5日時点のオリジナルよりアーカイブ。2021年6月5日閲覧。
- ^ 「About Us – Julia Computing」juliacomputing.com。 2019年9月1日時点のオリジナルよりアーカイブ。 2017年9月12日閲覧。
- ^ “About Us - JuliaHub”. juliahub.com . 2022年11月16日時点のオリジナルよりアーカイブ。2022年11月16日閲覧。
- ^ 「Julia Computingがシード資金460万ドルを調達」(プレスリリース)。2019年5月10日時点のオリジナルよりアーカイブ。
- ^ 「Julia Computing、アルフレッド・P・スローン財団から91万ドルの助成金を受賞、うち16万ドルはSTEM多様性に充てられる」juliacomputing.com 2017年6月26日。2020年8月3日時点のオリジナルよりアーカイブ。 2020年7月28日閲覧。
- ^ 「差別化 - 驚異的なエネルギー削減を促進する設計インテリジェンスと、まったく新しい、総合的に影響力のある先進技術の強化の実現」(PDF)。
- ^ 「Julia Computing、Dorilton Ventures主導の資金調達ラウンドで2,400万ドルを調達」ロイター2021年7月19日。2021年8月18日時点のオリジナルよりアーカイブ。2021年8月18日閲覧。
- ^ 「ウィリアムズ、ジュリア・コンピューティングをドリルトン・ベンチャーズのパートナーとして迎える」www.williamsf1.com (プレスリリース)。2021年9月2日時点のオリジナルよりアーカイブ。2021年9月2日閲覧。
- ^ 「JuliaHub、AE Industrial Partners HorizonXから1,300万ドルの戦略的投資を受ける」。info.juliahub.com (プレスリリース)。2023年6月27日。 2023年6月30日閲覧。
- ^ 「Julia 言語」(公式サイト)。2017 年 2 月 21 日時点のオリジナルよりアーカイブ。2016 年12 月 9 日閲覧。
汎用 [..] Julia を使用すると、UI を記述したり、コードを静的にコンパイルしたり、Web サーバーにデプロイしたりすることができます。
- ^ Green, Todd (2018年8月10日). 「高レベルJuliaでの低レベルシステムプログラミング」。2018年11月5日時点のオリジナルよりアーカイブ。2018年11月5日閲覧。
- ^ Moss, Robert (2015年6月26日). 「次世代航空機衝突回避システムの仕様言語としてJuliaを使用する」(PDF)。2015年7月1日時点のオリジナルよりアーカイブ。 2015年6月29日閲覧。
航空機衝突回避システム
- ^ ab Biggs, Benjamin; McInerney, Ian; Kerrigan, Eric C.; Constantinides, George A. (2022). 「Julia 言語を使用した高レベル合成」。arXiv : 2201.11522 [ cs.SE]。Julia
コードを VHDL に変換する、Julia で記述されたプロトタイプの Julia HLS ツールを紹介します。
- ^ “Announcing Dash for Julia”. plotly (プレスリリース). 2020年10月26日. 2021年9月2日時点のオリジナルよりアーカイブ。 2021年9月2日閲覧。
- ^ Anaya, Richard (2019年4月28日). 「JuliaでマルチスレッドHTTPサーバーを作成する方法」. Medium . 2019年7月25日時点のオリジナルよりアーカイブ。2019年7月25日閲覧。
要約すると、Juliaには現在すぐに使えるマルチスレッドサーバーソリューションはありませんが、プロセス分散機能と非常に人気のある負荷分散技術を簡単に利用して、HTTP処理にCPUをフル活用することができます。
- ^ Anthoff, David (2019年6月1日). 「Node.js のインストール - julia」. GitHub . 2024年9月4日時点のオリジナルよりアーカイブ。2019年7月25日閲覧。
- ^ 「Julia を JavaScript に翻訳する」 JuliaGizmos. 2019 年 7 月 7 日. 2019 年 3 月 28 日時点のオリジナルよりアーカイブ。 2019 年7 月 25 日閲覧。
- ^ Fischer, Keno (2019年7月22日). 「wasmでjuliaを実行する」. GitHub . 2020年11月21日時点のオリジナルよりアーカイブ。 2019年7月25日閲覧。
- ^ "[ANN] AppBundler.jl - Julia GUIアプリケーションをバンドルする". Juliaプログラミング言語. 2023年11月30日. 2024年9月4日時点のオリジナルよりアーカイブ。2023年12月18日閲覧。
- ^ ab “Learn Julia in Y Minutes”. Learnxinyminutes.com . 2018年8月15日時点のオリジナルよりアーカイブ。 2017年5月31日閲覧。
- ^ “PythonCall & JuliaCall”. JuliaPy. 2023年10月29日. 2023年10月31日時点のオリジナルよりアーカイブ。 2023年10月30日閲覧。
- ^ Cords, Clem (2024年11月12日). 「Clemapfel/jluna」. GitHub . 2024年11月26日閲覧。
- ^ “CxxWrap”. JuliaInterop. 2023年10月28日. 2023年10月30日閲覧。
- ^ “RCall.jl”. JuliaInterop. 2023年10月16日. 2019年4月30日時点のオリジナルよりアーカイブ。 2023年10月30日閲覧。
- ^ “Julia and Spark, Better Together”. juliacomputing.com . 2020年6月2日. 2020年7月14日時点のオリジナルよりアーカイブ。
- ^ Foster, Claire (2023年10月23日). 「SQLREPL.jl」. GitHub . 2022年9月27日時点のオリジナルよりアーカイブ。 2023年10月31日閲覧。
- ^ Noh, WooKyoung (2023年10月18日). 「Octo.jl」. GitHub . 2023年10月31日閲覧。
- ^ “Usage Guide · FunSQL.jl”. mechanicrabbit.github.io . 2023年10月31日時点のオリジナルよりアーカイブ。2023年10月31日閲覧。
- ^ “Oracle データベースでの Julia の使用”. 2022 年 10 月 21 日. 2022 年 11 月 8 日時点のオリジナルよりアーカイブ。 2022 年11 月 8 日に閲覧。
- ^ Short, Tom (2023年10月30日). 「StaticCompiler」. GitHub . 2023年10月31日時点のオリジナルよりアーカイブ。 2023年10月30日閲覧。
- ^ 「The Julia REPL · The Julia Language」。docs.julialang.org。2019年9月22日時点のオリジナルよりアーカイブ。 2019年9月22日閲覧。
- ^ 「Julia/REPLの紹介 - Wikibooks、オープンな世界のためのオープンブック」en.wikibooks.org。2019年6月23日時点のオリジナルからのアーカイブ。 2019年9月22日閲覧。REPL
の外観と動作をカスタマイズできるJuliaパッケージOhMyREPL.jl [..]をインストールできます。
- ^ 「Getting Started · The Julia Language」. docs.julialang.org . 2019年8月10日時点のオリジナルよりアーカイブ。 2018年8月15日閲覧。
- ^ 文字列補間についてはdocs.julialang.org/en/v1/manual/strings/ を、文字列を連結する推奨方法については例を参照してください。Julia には println 関数と print 関数がありますが、実行時のフォーマットのオーバーヘッドを排除するための @printf マクロ (つまり、関数形式ではない) もあります (C の同じ関数とは異なります)。
string(greet, ", ", whom, ".\n") - ^ 「Julia ドキュメント」。JuliaLang.org。 2016 年 12 月 17 日時点のオリジナルよりアーカイブ。 2014 年11 月 18 日閲覧。
- ^ 「Unicode 15.1 support by stevengj · Pull Request #253 · JuliaStrings/utf8proc」。GitHub。2024年1月22日時点のオリジナルよりアーカイブ。 2024年1月22日閲覧。
- ^ “support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia”. GitHub . 2022年11月3日時点のオリジナルよりアーカイブ。 2022年11月3日閲覧。
- ^ “Project Jupyter”. 2017年6月29日時点のオリジナルよりアーカイブ。2015年8月19日閲覧。
- ^ Boudreau, Emmett (2020年10月16日). 「冥王星は本当に木星の代わりとなるのか?」Medium . 2023年4月12日時点のオリジナルよりアーカイブ。2020年12月8日閲覧。
- ^ Machlis, Sharon (2022年7月27日). 「RStudioがPositに名称を変更、PythonとVS Codeに重点を置くよう拡大」InfoWorld . 2023年1月18日閲覧。
- ^ 「注意!Quartoは今後も継続します。次のドキュメントでRとPythonをすぐに組み合わせましょう:最近の投稿の拡張機能」ds-econ . 2022年7月20日。2023年1月31日時点のオリジナルよりアーカイブ。 2023年1月18日閲覧。
- ^ Foster, Chris (2022年4月4日). 「SQLREPL.jl」. GitHub . 2022年9月27日時点のオリジナルよりアーカイブ。 2022年9月27日閲覧。
- ^ “Getting Started · RCall.jl”. juliainterop.github.io . 2024年9月4日時点のオリジナルよりアーカイブ。2022年9月27日閲覧。
- ^ 「RCall モジュールのインストール時に Julia がクラッシュする」。Juliaプログラミング言語。2024 年 10 月 21 日。2024年10 月 22 日閲覧。
私の場合、MacOS 上の Julia 1.11 で RCall は問題なく読み込まれます。
- ^ 「juliacall が julia 1.11 で 'undefined symbol: jl_stdout_obj' で失敗する · Issue #234 · Non-Contradiction/JuliaCall」。GitHub。2024年10月 22 日閲覧。
- ^ “Home · LibPQ.jl”. invenia.github.io . 2022年11月8日時点のオリジナルよりアーカイブ。 2022年11月8日閲覧。
- ^ ab "Home · FunSQL.jl". docs.juliahub.com . 2022年11月8日時点のオリジナルよりアーカイブ。2022年11月8日閲覧。
- ^ Hood, Doug (2022年10月21日). 「OracleデータベースでのJuliaの使用」。2022年11月8日時点のオリジナルよりアーカイブ。 2022年11月8日閲覧。
- ^ 「Genie Builder - Visual Studio Marketplace」。marketplace.visualstudio.com。2022年11月8日時点のオリジナルよりアーカイブ。2022年11月8日閲覧。
- ^ “How to Build Your First Web App in Julia with Genie.jl”. freeCodeCamp.org . 2022年2月1日. 2022年11月8日時点のオリジナルよりアーカイブ。 2022年11月8日閲覧。
- ^ “JuliaRegistries / General”. GitHub . 2020年8月3日時点のオリジナルよりアーカイブ。2020年4月30日閲覧。
- ^ “Pkg.jl - Artifacts”. 2020年8月2日時点のオリジナルよりアーカイブ。2020年6月4日閲覧。
- ^ “Pkg.jl - Registries”. 2020年6月13日時点のオリジナルよりアーカイブ。2020年4月30日閲覧。
- ^ Bezanson, Jeff (2019年6月6日). 「JeffBezanson/femtolisp」. GitHub . 2022年12月22日時点のオリジナルよりアーカイブ。 2019年6月16日閲覧。
- ^ “JuliaSyntax”. Juliaプログラミング言語. 2022年8月28日. 2022年8月28日時点のオリジナルよりアーカイブ。 2022年8月28日閲覧。
- ^ 「Enable JuliaSyntax.jl as an alternative Julia parser by c42f · Pull Request #46372 · JuliaLang/julia」。GitHub。2022年8月28日時点のオリジナルよりアーカイブ。 2022年8月28日閲覧。
- ^ “Julia v1.7.3がリリースされました”. JuliaLang . 2022年5月25日. 2022年5月26日時点のオリジナルよりアーカイブ。2022年5月26日閲覧。
- ^ 「Darwin/ARM64 追跡問題 · Issue #36617 · JuliaLang/julia」。GitHub。2020年11月11日時点のオリジナルよりアーカイブ。2020年12月8日閲覧。
- ^ “Julia Downloads”. julialang.org . 2021年1月26日時点のオリジナルよりアーカイブ。2019年5月17日閲覧。
- ^ "julia/arm.md". The Julia Language. 2021年10月7日. 2022年5月15日時点のオリジナルよりアーカイブ。 2022年5月15日閲覧。
ARMの既知の問題のリストが利用可能です。
- ^ “JuliaGPU”. juliagpu.org . 2020年5月23日時点のオリジナルよりアーカイブ。2022年11月16日閲覧。
約300のパッケージが直接的または間接的にJuliaのGPU機能に依存しています。
- ^ “Julia on TPUs”. JuliaTPU. 2019年11月26日. 2019年4月30日時点のオリジナルよりアーカイブ。 2019年11月29日閲覧。
- ^ 「Introducing: oneAPI.jl ⋅ JuliaGPU」. juliagpu.org . 2021年9月6日閲覧。
- ^ “AMD ROCm · JuliaGPU”. juliagpu.org . 2020年6月13日時点のオリジナルよりアーカイブ。2020年4月20日閲覧。
- ^ “RaspberryPi Zero 用に Julia をビルドする”. Gist . 2020年12月1日時点のオリジナルよりアーカイブ。 2020年8月14日閲覧。
- ^ “JuliaBerry: Julia on the Raspberry Pi”. juliaberry.github.io . 2020年7月8日時点のオリジナルよりアーカイブ。 2020年8月14日閲覧。
- ^ Giordano, Mosè (2022年9月29日). “Julia on Fugaku (2022-07-23)” GitHub . 2022年11月8日時点のオリジナルよりアーカイブ。 2022年11月8日閲覧。
- ^ 「Raspberry Pi 上の Raspbian で Julia が利用可能」。2017 年 5 月 4 日時点のオリジナルよりアーカイブ。2017年6 月 6 日閲覧。Julia
はすべての Pi バリアントで動作しますが、Pi 3 の使用をお勧めします。
- ^ 「Raspberry Pi 用 Julia 言語」Raspberry Pi Foundation 2017 年 5 月 12 日。2017 年 6 月 2 日時点のオリジナルよりアーカイブ。2017 年6 月 6 日閲覧。
- ^ 「リリース v1.12-0a92fecc12 · maleadt/julia」。GitHub 。2024年10月12日閲覧。
- ^ “julia/doc/src/devdocs/build/riscv.md at master · alexfanqi/julia”. GitHub . 2024年10月9日閲覧。
- ^ “ArduinoでJuliaベアメタルを実行する”. seelengrab.github.io . 2022年5月24日時点のオリジナルよりアーカイブ。2022年5月24日閲覧。
- ^ Sukera (2023年7月31日). “AVRDevices.jl”. GitHub . 2023年8月5日時点のオリジナルよりアーカイブ。 2023年8月5日閲覧。
- ^ Chen, Jiahao. 「Jiahao Chen」. Jiahao Chen . 2023年2月23日時点のオリジナルよりアーカイブ。 2023年2月23日閲覧。
- ^ 「ニュースレター 2022 年 1 月 - Julia 成長統計 - Julia Computing」。juliacomputing.com。2022年 1 月 26 日時点のオリジナルよりアーカイブ。2022年1 月 26 日閲覧。
- ^ “Braket.jl の紹介 - Julia による量子コンピューティング”. Julia コミュニティ 🟣 . 2022 年 11 月 15 日. 2024 年 6 月 19 日時点のオリジナルよりアーカイブ。2023 年2 月 23 日閲覧。
Python SDK のほぼすべての機能が Julia で再実装されています。再実装されていない少数の機能については、補助パッケージ PyBraket.jl も提供しています。これにより、Julia オブジェクトを Python の同等の機能に変換し、Python SDK を呼び出すことができます。
- ^ 「Amazon SageMaker で Julia を使い始める: ステップバイステップガイド」(PDF) 。2020 年 5 月。2024年 3 月 9 日時点のオリジナルよりアーカイブ(PDF) 。2023年2 月 23 日閲覧。
- ^ 「ASML JuliaCon 2022におけるリアルタイムアプリケーション向けJuliaの使用に向けて」pretalx.com 2022年7月27日。2023年2月23日時点のオリジナルよりアーカイブ。2023年2月23日閲覧。
- ^ “Home - CliMA”. CliMA – Climate Modeling Alliance . 2023年6月18日時点のオリジナルよりアーカイブ。2023年6月18日閲覧。
- ^ 「Julia Computing、Arm搭載サーバーでNVIDIA GPUコンピューティングのサポートを開始 - JuliaHub」。juliahub.com (プレスリリース)。2022年11月16日時点のオリジナルよりアーカイブ。 2022年11月16日閲覧。
- ^ 「HEPミニワークショップのためのジュリア」indico.cern.ch 2021年9月27日。2022年8月11日時点のオリジナルよりアーカイブ。 2022年8月23日閲覧。ジュリアとΩ
-
_b → Ξ
+
_c K
-
π
-
の最初の観測
- ^ Mikhasenko, Misha (2022年7月29日). “ThreeBodyDecay” GitHub . 2022年8月23日時点のオリジナルよりアーカイブ。 2022年8月23日閲覧。
- ^ Mikhasenko, Misha (2021年7月). 「QCD分光法のためのJulia」(PDF) . indico.cern.ch . 2022年8月23日時点のオリジナルよりアーカイブ(PDF) . 2022年8月23日閲覧。
要約: Juliaは物理学のHEP分析に使用できる状態です
。 - ^ “JuliaHEP/UnROOT.jl”. JuliaHEP. 2022年8月19日. 2024年6月19日時点のオリジナルよりアーカイブ。 2022年8月23日閲覧。
- ^ “Julia · Search · GitLab”. GitLab . 2022年8月23日時点のオリジナルよりアーカイブ。2022年8月23日閲覧。
- ^ “Commits · master · sft / lcgcmake · GitLab”. GitLab . 2023年4月12日時点のオリジナルよりアーカイブ。2022年8月23日閲覧。Julia
のバージョンを1.7.3にアップグレード
- ^ “Julia での宇宙船分離ダイナミクスのモデリング - Jonathan Diegelman”. YouTube . 2021年3月9日. 2021年9月6日時点のオリジナルよりアーカイブ。 2021年9月6日閲覧。
- ^ “Circuitscape/Circuitscape.jl”. Circuitscape. 2020年2月25日. 2020年7月30日時点のオリジナルよりアーカイブ。 2020年5月26日閲覧。
- ^ 「コーディングによる保全:Viral Shahへの5つの質問 | 科学ミッション局」。science.nasa.gov。2020年5月25日時点のオリジナルよりアーカイブ。2020年5月26日閲覧。
- ^ “Julia in the Wild - Julia Data Science”. juliadatascience.io . 2022年9月12日時点のオリジナルよりアーカイブ。 2022年9月12日閲覧。
- ^ 「TRAPPIST-1の7つの岩石惑星は同様の物質でできている可能性がある」。太陽系外惑星探査:太陽系外惑星。2022年10月6日時点のオリジナルよりアーカイブ。 2022年10月6日閲覧。
- ^ “Julia in Astronomy & Astrophysics Research | Eric B. Ford | JuliaCon 2022”. YouTube . 2022年7月25日. 2022年10月6日時点のオリジナルよりアーカイブ。 2022年10月6日閲覧。
- ^ “JuliaSpace/SatelliteToolbox.jl”. JuliaSpace. 2020年5月20日. 2021年6月16日時点のオリジナルよりアーカイブ。 2020年5月26日閲覧。
- ^ Hobbs, Kerianne (2022年12月). 「アラスカの氷河、飛行、地球周回軌道、地球月周回宇宙、火星における自律性の年」. Aerospace America Year in Review. p. 48. 2024年6月19日時点のオリジナルよりアーカイブ。 2023年1月26日閲覧。
飛行試験チームは、電気と従来の燃料推進システムの両方を搭載した垂直離着陸機を実証することができました。
[無人航空システム]
は、搭載ハードウェアを使用してこれらのミッションを自律的に計画および実行することができました。組み込みハードウェアでJuliaプログラミング言語が飛行したのはこれが初めてであり、アルゴリズムは事前にコンパイルされていました。
- ^ “ケーススタディ - JuliaHub”. juliahub.com . 2023年2月10日時点のオリジナルよりアーカイブ。2023年2月10日閲覧。
- ^ “Pumas-AI”. Pumas-AI . 2023年2月10日時点のオリジナルよりアーカイブ。2023年2月10日閲覧。
- ^ 「リリース v1.3.0 · FRBNY-DSGE/DSGE.jl」。GitHub。2022年1月3日時点のオリジナルよりアーカイブ。2022年1月3日閲覧。COVID
-19ショックによるDSGEを推定するためのModel1002の新しいサブスペック
- ^ 「金融と経済のユースケース」。Juliaプログラミング言語。2023年5月2日。 2023年5月4日閲覧。
- ^ ab D'Cunha、Suparna Dutt(2017年9月20日)。「4人の科学者が開発した新しいプログラミング言語が、世界最大規模の企業で使われるようになった経緯」Forbes。2022年10月1日時点のオリジナルよりアーカイブ。 2022年10月1日閲覧。
- ^ “Julia for Election Security”. Julia Forem. 2022年9月23日. 2024年9月4日時点のオリジナルよりアーカイブ。 2022年9月27日閲覧。
- ^ “ノーベル賞受賞者トーマス・J・サージェント - JuliaHub”. juliahub.com . 2023年2月10日時点のオリジナルよりアーカイブ。 2023年2月10日閲覧。
さらに読む
- Nagar, Sandeep (2017)。『Juliaプログラミング入門:エンジニアと科学者向け』Springer。ISBN 978-1-4842-3171-5。
- ブザンソン、J;エデルマン、A;カルピンスキー、S;シャー、V.B (2017)。 「ジュリア: 数値コンピューティングへの新しいアプローチ」。サイアムレビュー。59 (1): 65-98。arXiv : 1411.1607。CiteSeerX 10.1.1.760.8894。土井:10.1137/141000671。S2CID 13026838。
- Joshi, Anshul (2016)。データサイエンスのための Julia - Julia を片手に、データサイエンスの世界をゼロから探求しましょう。Packt。ISBN 978-1-78355-386-0。
- Tobin A Driscollと Richard J. Braun (2022 年 8 月)。「数値計算の基礎: Julia 版」。SIAM。ISBN 978-1-611977-00-4。
- CT Kelley (2022)。「反復法による非線形方程式の解法: Julia のソルバーと例」、SIAM。ISBN 978-1-611977-26-4。
- カリチャラン、ノエル (2021) 。Julia - Bit by Bit。コンピューターサイエンスの学部生向けトピック。Springer。doi :10.1007/ 978-3-030-73936-2。ISBN 978-3-030-73936-2. S2CID 235917112。
- Clemens Heitzinger (2022):「Algorithms with Julia」、Springer、ISBN 978-3-031-16559-7。
外部リンク
- 公式サイト
- GitHubの Julia
