2019年1月10日木曜日

gcjが消えた

javaはインタープリタのようなものであるが、コンパイラに改良されたjavaが存在し、それがgcjである。gccの中にバンドルされていたので、気軽に使っていた時期がある。ただ、実行速度はあまり早くなかったので、ちょっと研究には使えなかった。

色々あって、数値計算の研究から遠ざかっていたが、最近また少しずつプログラミングを始めた。きっかけはMR.ROBOTというアメリカのドラマである。linuxを使ってハッキングをしかける若者の話で、なかなか面白い。ドラマのタイトルにはunix系の専門用語が使われていて、例えば、eps2.1-kernel-panic.ksdとか、eps2.2-init-5.fveとか、eps2.9-python_pt1.p7zとかといった感じである。しかし、pythonやVisual Basicは出てくるのにjavaが出てこない。ちょっと不思議な感じがした。

こんなこともあって、自分のマシンに入れてなかった言語を入れてみることを思いついた。先日はMS Officeのインストールだけでも、あれほど苦労してしまったので、今回も苦労するかもしれない、という漠然とした恐れはあった。が、それはhomebrewのおかげで杞憂に終わった。ありがとう、homebrew!

 インストールしたかったのはfortranだが、g77やg95は消え(古いヴァージョンはまだ動かせるようだが)、ifortは有償になってしまったので、gfortranを入れることにした。調べると、これはgcc 8.2に最近はバンドルされているそうなので、brew install gccとしてgccをアップデートすることにした。(gccは元からmacOSに入っている。/usr/bin/gcc。homebrewでインストールしたgccはgcc-8として実行する。/usr/local/bin/gcc-8。)

そういえば、gcjもgccにバンドルされているはず。久しぶりにgcjとタイプしてみたが、そんなコマンドはない、というメッセージが出た。調べてみると、gcjは2016年にgccから外され、開発も終了したという。この事実は驚きであった。

そもそもjava自体が、最近はあまり表舞台に出てきてないようである。ただ、多くのアプリケーションはいまだにjavaで書かれているようで、人気の言語ではあるが、しかし段々とその汎用性が薄れて、開発用途に合わせた新しい言語で記述されるケースが増えているという話である。これも驚きの事実であった。

mac関連だと、LLVMとかswiftとか、新しい言葉が出てきた。gcc -vとやるとLLVM version 10.0.0.0とか出てくる。VMの一種らしい。だとするとjavaのextensionだろう。

0 件のコメント: