最近、『Rustで作るプログラミング言語』という本を読み始めました。
この本を手に取った理由は、大きく分けて2つあります。
- 自分で言語実装をしたいと思っていて、その入門書として良さそうだったこと。
- Rust(ラスト)を学びたいと以前から思っていたこと。
しばらく積読状態でしたが、改めて「プログラム実装自体はAIがやってくれる時代」になった今こそ、より基礎的な部分を学ぶのが大事だと感じ、読み直しを始めました。
読書の進捗と内容
現在は3章の途中まで進んでいます。
- 2章ではスタックベースの仮想マシンを作成。
- 3章では構文解析器を実装中。
以前に『Go言語でつくるインタプリタ』という本も読んだことがあるのですが、個人的にはそちらの方が合っていた印象があります。理由としては、単純に Goに慣れていること、そして テスト実装が詳細に書かれていたことで、Go言語自体の学習にも役立ったからです。
今回の本もRustの解説はしてくれているものの、まだそこまで深掘りされてはいません。Rustをしっかり学ぶには、別途Rustの勉強も必要になりそうです。とはいえ、まだ半分も読んでいないので、これからどう展開していくのか楽しみにしています。
今後学びたいこと
AIがコードを書いてくれるようになった時代に、人間に求められるのは 基礎的な部分を理解し、AIに適切な指示を出す力だと思っています。
そのために、今はプログラミング言語の基本的な実装を学んでいます。今後は以下の分野も学習していきたいと考えています。
- OSの仕組み
- データベース設計や実装
- クラウドインフラ(AWSやGCP)
特にクラウドインフラについてはぜひ触ってみたいのですが、費用面で少し躊躇しているのが正直なところです。
まとめ
しばらくは『Rustで作るプログラミング言語』を読み進めながら、言語実装の基礎を学んでいくつもりです。最終的には自分でも小さな言語を作ってみたいと考えていますが、やはり 文法設計は難しそうだなと感じています。
それでも、基礎を一歩ずつ積み重ねていくことで、自分なりの理解や発見が得られるのではないかと楽しみにしています。