butterfly dream

FX自動取引のための時系列分析・信号処理・戦略ブログ

科学技術計算用プログラミング言語:Sci-Lispの自作(10日目):方針大転換!Rustで実装することに決めた

chaploud-blog.hatenablog.com

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で大きくリプレイスする予定です。