Erlang/OTP は仕事でずーっと書いているので、仕事ではまだ使えるレベルでは全然ない。
とにかく Rust のドキュメントを読んだりソースコードを読んだりしている。
最近は MQTT の実装が Rust で色々落ちているので、それを読んだり写経したり、色々上手くぱくって実装したりしている。
時雨堂 CTO の szktty が Rust を以前勉強してくれていたので、 Slack に Rust チャンネルを作ってマンツーマンで教えて貰っている。やはりわからない事を聞いているのが気軽に聞ける環境はありがたい。
よく使ってきた言語が Python と Erlang/OTP というあまあまな人なので、 Rust のような静的型推論言語は正直よくわからない。
さらに、GC 前提のコードばかり書いてきているので、 Rust のように GC が無い言語は久々だ。
普段 Erlang ばかり書いているが Rust は本当に真逆?というくらい別世界を提供してくれる。とくに軽量プロセスがある世界に慣れすぎているので、色々頭をひねる必要がある、といってもまだそこまでたどり着いていない。
自分がいかにプログラミング力で生きてきていないことを実感できる。
Erlang/OTP を書いていて一番実感するのは遅いこと。これだけ。Erlang が今より 1000 倍くらい早かったらもう Erlang しか書いてないと思う。
Rust は早いと聞いている。実際どうなのかはわからない、 Golang で十分なのだろう。実際自社でも Golang は使っているし、コードもとてもシンプルで読みやすい。
ただ自分に足りない言語は Golang ではなくRust だと思うことにしている。システムプログラミング能力が自分には圧倒的になさすぎる。
Erlang はミドルやアプリを書くのには最適だ。ただシステムプログラミングはできない。お互いを補える言語だと思っている。