はじめに
はじめに
現在、機械学習を初めとする科学技術計算の分野ではPythonが充実したライブラリを取り揃え独走中の様相を示しています。
しかし、プログラミング言語というのは、いつでも「良くプログラミングをする」ために進化を続けており、(同じ言語内でも)常に一定というわけではありません。従って、言語そのものが変わることだって何も不自然なことではなく、状況に応じて適切に使い分けられるのが好ましいです。
今回は、Pythonのような簡潔にコードを書くことのできるスクリプト言語であるにも関わらず、動作が非常に高速であると話題のJuliaについて書かれた記事をメモ代わりにおいておきます。
プログラミング言語の流行は運
Pythonは確かに書きやすい言語ではあるものの、他の言語を淘汰するほど圧倒的に優れているわけではありません。そもそも優れているか否かは問題に依存します。
プログラミング言語の流行というのは運次第でもあり、だれかがその言語に着目して、サードパーティ製のライブラリが続々と増えると、そのライブラリ目当てで利用者が増えていくケースも多々あります。
そういう私も、ChainerやTensorFlowがPythonによって記述できるために、Pythonを始めた1人です。
今後Juliaという言語に巨大なサードパーティが着目して、ライブラリを追加していくようになれば、当然流行が変わることだって考えられます。
例えばTensorFlowなどはC++で実装されているため、Googleがその気になれば他の言語で動かせるようにリリースすることだってできるわけです(Chainerの方は純粋にPython実装ですから、他の言語で最初から書きなおす必要がありますが)。
従って、今後機械学習などに用いるプログラミング言語が流動的に変化することは十分にあり得ます。その中の候補としてJuliaに着目して、今回は記事をまとめておこうというわけです。
juliaまとめ
julia公式ドキュメント
(juliaの日本語ドキュメント)
(juliaの公式ページ)
julia記事まとめ
Python使いをJuliaに引き込むサンプル集 | mwSoft
(juliaの速さを体感するコードサンプル)
(juliaの現状確認。少し情報が古いか)
julia機械学習・深層学習
https://kaigi.org/jsai/webprogram/2016/pdf/732.pdf
(Julia言語による深層学習ライブラリの実装と評価)
juliaを学ぶための入門
M.Hiroi's Home Page / Julia Language Programming
(juliaについての入門的な解説)
科学技術計算用言語 Julia - Applied Mathematics 7 (2016)
(大阪大学の講義:応用数学に関するページの一部)