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

ジュリア

1.7千文字の記事
これはリビジョン 2771078 の記事です。
内容が古い・もしくは誤っている可能性があります。
最新版をみる

Julia(プログラミング言語)とは、実行速度と書きやすさの両立を目指したプログラミング言語である。

概要

Juliaとは動的型付けのプログラミング言語である(静的型付けも使える)。スクリプト言語に分類されコンパイルは実行時にLLVMを用いて行われる。

C言語で書かれている部分はわずかで、整数の処理なども含めて言語処理系の大半はJuliaで書かれているというのも特徴。

新参言語の例にもれずライブラリは少ないが、C言語やFortranのライブラリを直接呼び出し可能にすることによって補っている。Python, R, C++, Javaを呼び出すためのライブラリもある。

歴史とか背景とか

公開されたのが2012年2月、バージョン1.0.0のリリースが2018年8月8日であり、プログラミング言語としてはかなり新しい部類に入る。開発の中心になったAlan Edelman氏はMITの教授。

科学技術計算その他もろもろを、分散コンピューティングその他もろもろでやりたいというだけでなく、C言語並みの実行速度その他もろもろも目指すという、「ぼくのかんがえたさいきょうのプログラミング言語」臭がしないでもない。

しかし、実際にスクリプト言語でも最速といわれるJavascriptを上回る実行速度を叩きだして注目を集めている。

バージョン1.0のリリース後は、ディープラーニングなどで行列演算を高速に行う需要があることなどから、2018年から2019年にかけて急速にシェアを伸ばした。

言語仕様の特色

Juliaの最大の特長はその実行速度であるが、言語仕様にもいくつか特色がある。他の言語にはない仕様上の特色は主に以下の2つであろう(異論は認める)。

数式の記述が容易

  • 多くのプログラミング言語で 2 * x と記述するところを 2x と記述することもできる。
  • Unicodeの演算子が定義されており、>= の代わりに ≥ と書くことができる。
  • 円周率などもUnicodeでの定義が存在し、pi と書いても πと書いても通用する。
  • REPLではLaTeX風の記法からコード補完で上記Unicode文字を記述できる。
  • ベクトルや行列の記述法が充実しており、たとえば行列 A の転置行列はA' と書くことが出来る。
  • 複素数も 1 + 2im のように書くことができる。

以上のような仕様により、数式をほぼそのままの形でソースコードに記載できる。

ただ変数 x と y の積を xy とか x y とか書くことはできず、x * y と書かねばならないという細かい弱点はある。

1オリジン

C言語の時代からの流れで、ほとんどのプログラミング言語が配列などにおける先頭の要素は0番として数えてきた(0オリジンという)。行列 A の11列目は A[0][0] だったのだ。この仕様のため現実世界の問題をプログラミングに持ち込む時にしばしば先頭を間違えて1ずれるというミスが頻発してきた。

Juliaは、最古のプログラミング言語(というか2020年現在でも科学技術関連で根強い人気がある)FORTRANにまで遡り、先頭を1番から数える1オリジンを復活させた。これにより上記の弊害が解消される。

もっとも、既存言語のプログラマーにしてみれば0オリジンで考えてきたことをJuliaに移植する時に再び1ずれるということであり、アレルギー反応を起こすプログラマーもいる。

開発環境

REPLで実行する以外の環境としては、主なものでは以下のような環境がある。

IJulia

Pythonで使われる対話型環境IPythonとその後継のJupyterでJuliaを使用するのがIJuliaである。

Juno

Juliaの統合開発環境。Atomエディタ上で動作する。

Visual Studio Code

Visula Studio Codeのプラグインはあるにはあるが、2020年2月現在アルファ版である。

関連リンク

関連項目

  • LLVM
  • Unicode
  • LaTeX
  • MIT
  • 自然数(先頭は0か1かで議論がある)
  • プログラミング言語
  • プログラミング関連用語の一覧
  • ジュリア

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
もっと見る

急上昇ワード改

最終更新:2025/12/11(木) 13:00

ほめられた記事

最終更新:2025/12/11(木) 12:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP