科学技術計算用プログラミング言語:Sci-Lispの自作(10日目):方針大転換!Rustで実装することに決めた
Sci-Lisp自作の10日目です。表題の通り、Sci-Lispの実装はC++ではなくRustで行うことに決めました。理由を列挙していきます。
- C++は後方互換性を保ちつつ機能追加されてきたため、仕様が巨大すぎる。
- Rustは後発でC/C++を代替する目的で作成されたため、高速かつ文法が洗練されている。
- Rustにはコードを生成する充実したマクロシステムがある
- C++はUTF-8対応がいまひとつ。Rustは標準で文字列がUTF-8。
- C++は意外とGoogle検索で調べたい内容が出てこない。Rustは勢いがあるためニッチな内容も出てくることが多い
- Rustまわりの開発者体験が非常に良い。(cargo、rust-analyzer、テスト、デバッグ)
- C++で行いたいことはRustでより簡単にできる
まとめると、C++を使うのは開発に苦痛が伴い、Rustを使うのは開発が楽しいということに尽きます。
まだ世に浸透していないのでリポジトリをRustで大きくリプレイスする予定です。