数値計算初心者にPythonよりJuliaをお勧めする理由

Juliaの長所

  • math.fabs(x)よりabs(x)の方がわかりやすい。
    • 絶対値を計算する方法。前者はPythonで後者はJulia。
  • MATLAB経験者であれば、Juliaの方がより似ているので移行がしやすい。
  • ループが1から始まる。
  • 計算速度が早い。
    • ただし、適当に書いて勝手に早くなるわけではない。
    • 計算速度がきちんと高速になる書き方を身につける(=Juliaの仕組みを知る)必要がある。

Pythonの強み

  1. 数値計算分野以外の汎用性は圧倒的にPython。
  • JuliaでWebデザインとか(おそらく)しない。
  1. そのため、研究者志望以外の学生に教えるならJuliaよりPython。
  • あるいはお手軽さ重視でR。
  • ゼミ生が就職活動で「Rを使ったことがあるか」を聞かれたらしい。
  1. 機械学習をするなら現時点ではPythonのほうが充実している。
  • ひょっとしたら、今後はJuliaのスピードが活かされる局面もあるのかも。
  1. Python人口が多いので、ネットや本屋で情報が充実していたり、IDEなども便利なものが一通り揃っている。

計算速度について

  1. Juliaの強みは計算速度。特にPythonでは極力ループを避けるのに対して、Juliaはコードの書き方に注意すれば気軽にループを回せる。
  2. Juliaで高速化をさせるためには"それ用"の書き方を身につける必要がある。
  • 関数の使い方etc。何も考えないでコードを書いて、勝手に早くなるとは限らない。
  1. 本格的に計算速度が必要な大きなプロジェクトに取り組むようになったら、結局は並列処理だとか色々と"追加的な勉強"をしないといけなくなる。
  2. そのレベルに達したら、新しい言語を学ぶ追加的コストとか、スーパーコンピューターを使う金銭的コストなど、諸々を計算できるだけの知識も蓄えられているはず。その際に、数値計算の学習のスタートがJuliaだったかPythonだったかなんて、ほとんど誤差レベルの違いになっていると思う。
山田 知明
山田 知明
商学部 教授

My research interests include heterogeneity in macroeconomics, inequality, consumption and savings, and demographic changes.