Julia言語はPythonと似ている。C/C++のようなmain()関数はない。書いたら上から順に実行される。インタープリターだ。ただしJuliaはJITコンパイラが稼働する。それがどうしたというのだ? 知らん。
Julia言語はPythonと似ているところはあるものの違いも多い。速度の面ではPythonはPythonのfor分で回したら劇オソである。だがScipy, Numpy等のモジュールを使うとかなりの高速だ。モジュールはC言語で作られているのさ~。だが、SCipy, Numpy特有の配列というのかArrayというのかベクトルというのか、数式をそういう形式に一度は変換しないと行けない。
数式を数式通りでfor分を回して・・・という使い方をpythonでやると実用的ではない。だが、Juliaはそれが出来る。数式書いて、そのまま計算出来る・・・というメリットがある、らしい。
ところがワタクシが試したところ。小さなプログラムで級数の和を計算するのだがJuliaがPythonよりは速いというのは分かったのだがC/C++に比べると劇オソである。Go言語の方がC/C++に近い。
だったらC/C++, Go言語でいいのではないか? そしてgccのオプションで最適化で試したら、これは速い!! よってに速度をどーたら言うのであればC/C++, Go言語が良い。と、ワタクシはここ数日の小さなプログラムの実行比較で理解したのである。
よってにJulia言語のメリットはワタクシはさほどない。そしてJulia言語は学ぶのが容易い、Python知っていれば一日もあれば十分だ・・・と書いてあるサイトもある。。。だが、違う。どの言語も易しいのは Hello World ! を出すレベルまでだ(笑) ある程度から先はどの言語もムイガシあるの わたし しったあるよ これ ほんと!!
S = 1 + 1/2 + 1/3 + 1/4 + …….1/n …を計算してみた。n = 1E9 = 10億まで。C/C++,Go言語は5秒ぐらい。DELL OPTIPLEX 7010SFF Win 11(非推奨PC) 22H2で。CPUは3GHzぐらいで動いているかもねえ。
これをPythonで実行・・・・したらハングったかと思ったが数十秒だか数分だか。
Juliaでも数十秒とか数分とか。
1E12 までC/C++で実行して結果を見たが、Python, Juliaではハングったか・・・ いや、面倒なのでCtrl + Cで中断した。
ようするにJuliaが高速というのはPythonよりは高速だがC/C++,Go言語とは桁違いに遅いのである。
てなわけでして、ワタクシはJuliaに対する熱は一気に冷めた次第である。Juliaが高速だと思う人は自分で試してみるがよかろうぞうさん。
ほんでGo言語だな。これはC/C++と同等だ。コンパイラだしね。
というような比較をしながら自分にとって新しいコンピュータ言語を学ぶワタクシである。
やっぱJuliaはDVDかXVideoか。 なにを!!