最近になってRust言語を勉強しています。
なぜRust言語なのか。
C言語って、コンパイルすると、機械語のファイルになります。
最近のトレンドでは、JavaやC#などの中間言語(仮想マシンが中間言語ファイルを翻訳し実行する)や、Pythonなどのスクリプト言語(プログラムを1行ずつ読み取って実行する)がありますが、
Rustはコンパイルすると、中間言語を必要としない機械語のファイルになります。
しかも後発の言語なので、C言語にない機能とかも搭載されているんです。
例えば変数を効率よく使用できる
例えば、
変数初期化を強制している点(不確定変数を許容しない)、
Boolean型が存在する、
配列の不正なIndex参照を防ぐ、などなど。
C言語のありがちな不具合を未然に防いでくれると言う点でかなりメリットがあります。
しかも、実行速度もC言語にかなり近づいているんだとか。
C言語が一番最適化されていると思われていたのですが。
で、さらに注目されていることがあって、
LinuxカーネルをRustで開発できないか、というのを検討しているみたいです。
https://japan.zdnet.com/article/35157012/
カーネルって、PCを動かすのに必要なコアのプログラムですよ。
Linuxカーネルなので当然Androidにも搭載される訳ですので。
LinuxカーネルでRustが採用されたらプログラミング言語の勢力図が変わるかもしれませんね。