英語で読む「Julia」

年末年始に触りたいプログラム言語の最終回。

筆者は今年はJupyter Notebookを使う機会が多かったのだが、Jupyterから使える言語としてJuliaの名前を何度か見かけていた。どういう性質の言語なのだろうか。

Julia was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM.

この言語も高速化をアピール。そしてLLVM。これは性質というよりトレンドだろう。

Julia provides powerful tools for deep learning (Flux.jl and Knet.jl), machine learning and AI. Julia’s mathematical syntax makes it an ideal way to express algorithms just as they are written in papers, build trainable models with automatic differentiation, GPU acceleration and support for terabytes of data with JuliaDB.

公式ページのEcosystemという欄にはVisualization、Data Science等のキーワードの混じりMachine Learningでもツールが充実していることを示している。またGPUアクセラレーションもサポートされている。

"We want a language that's open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that's homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab," they wrote.

今年8月にTIOBEのランキングで初めてトップ50圏内に入った際にZDNetがJuliaの開発チームの2012年のブログを引用しているが、それによるとLipsのマクロようにhomoiconicで、Matlabのように数学的な記述ができることを目指したようだ。

どういうことなのか日本語の情報など読んでもよく理解できなかったが「達人プログラマ」でも1年に1つ新しい言語を学ぶよう書いていて、Lispも頻繁にキーワードとして出ていたがLispを学ぶよりJuliaを学んだほうが現代的ということだろうか。


この記事が気に入ったらサポートをしてみませんか?