Rust勉強開始
五十の手習い
ゲームをしなくなって、AIと対話する機会が増えたら、PCで何かやりたい欲が湧いてきて、言語の勉強を始めることにしました。
十五年前にVisual C#は独学で、iOS風の時計を作ったあと、介護施設に就職して、帳票を組み版でフルスクラッチしたプリンタ制御を組み込んだ介護サービス提供システムの開発をするところまで突き進んだので、今更C#をしてもしょうがないかな。
また、Pythonのようなインタープリターを極めたところで、インタープリターは実行コストが重いけど、有志が作成した豊富なライブラリがあるのが魅力だけど、ライブラリを使うと依存関係が複雑になるだけですし、Pythonのバージョンに後方互換性がないのでバージョン管理が煩雑で好きじゃ無いです。
MicrosoftのWindowsの基幹が、Rustに置き換わっているということもあってRustを勉強することにしました。
Rustが凄い
Rustが凄いのはメモリを安全に制御するだけじゃ無くて、Microsoftからwindows-rsとういうWin32APIを直接叩けるクリート(Crate:木箱)というライブラリが用意されていることです。
メモリを安全に制御していなければコンパイルできないので、コンパイル出来ると言うことは安全にWin32APIを直接叩いて、高速な処理を実現できると言うことです。ユーザーモードのドライバすら叩ける、DirectXやWASAPIを叩ける。MS C/C++とMSVCランタイムライブラリでしか実現できなかった技術を最新のRustをでは過去のOSの資産からこれから先のOSの資産を含めて直接実行できるわけです。