お世話になります。Juliaを使い始めて2週間くらいいろんなツールも試してみました。JuliaはPythonの代わりになりそうなツールで、量子物理分野で最近よく使われています。Pythonと何が違うのかを含めてみてみたいと思います。
Juliaとは?
プログラミング言語で、データサイエンスのために作られたようです。2012年にオープンソース化されたばかりなので新しい言語です。
速い
1番の特徴はとにかく速いということでしょうか。pythonはループが入ると遅くなります。Juliaは高速で実行できることができます。自分の環境やツールを揃えた状態で、100-200倍くらい速くなりました。もちろん実行したいコードに寄るのはそうなんですが、体感としてそこまでpythonと変わらないコードを書いてpythonよりも体感で100倍速いというのは魅力的です。
書くのが簡単
ポイントはpythonと記述が似ているところです。なので、基本的に最初の使い方は、自分の作ったpythonのコードをそのままJuliaに書き換えることだと思います。ほぼ同じ記述で済むのですが、一部ちょっと違うところを学ぶのがポイントですが、一から全てを学ぶのではないので、かなり学習コストが低いです。
ツールがシンプル
できたばかりの言語で、設計思想も明確なので、数値ライブラリが標準で入っているのがいいですね。高度な乱数生成や行列演算などがnumpyを呼ばなくていいので、書き方がシンプルになります。個人的にはここが気に入っています。
jupyter notebookが使える
pythonと同じようにjupyterで使えますので、基本的には使い方が変わりません。
デメリット:配列、その他
個人的にはあまりデメリットを感じませんでした。就職とかでpythonをやっていた方がいいのはそうだと思いますが、単純に速度と書きやすさを両立させたいような開発環境では、使用言語を変更するというのはよくやると思うのですが、学習コストが低いことがよかったです。配列は1から始まるので、pythonからの書き換えの多くはそこになります。
個人的にはすごい気に入った上、学習コストが低かったので、今では立派にメインのツールとして使えています。量子コンピュータというあまり他の環境に依存しない分野というのもラッキーだったのかもしれません。
日本だけでなく、中国や米国でも盛んに利用されているので、ぜひ興味ある人は使ってみましょう。