Tweet を見ると本を購入したのは 2017/01/15 みたいでした。

“Writing an Interpreter in Go” という Golang で言語を作る本がおもしろいと聞いて(deeeet さんの tweet とブログ)勢いで買ったやつ。

最初の一週間は調子よかったんですが途中で風邪(咳がひどいタイプ)を引いて毎日仕事終わったらすぐ寝たりしてて少し間が空いたりしたんですが、今日とうとう最後までやりきりました。やっていき…!

結局ダラダラと2週間弱ぐらいかけてやったんじゃないかなという印象。

普段「言語を作る」なんてことはしないので新鮮でした。とてもいい経験ができたと思います。

最初の方は正直あまりよくわからず言われるがままにコードを書いて「おお動いた!」と感動したり、筆者が「これだけでいいんやぞ!すごいだろ!」「うおお!」みたいになったりして知能低めな感じでしたが Parser を書くあたりからなんとなく何やってるかわかるようになって、最後の方のいろんなデータ型をサポートしていく章ではある程度当たりどころをつけてコード書けたかなという気がしています。(気がしているだけ)

「これで言語作れるやん!」と言われましたが正直自分で作れる自信はないのでその必要が出たらもう一回読む必要がありそう。

Go に関しては事前にちょこちょこ勉強はしてた + 文法的に難しいことは何もしてないのでレベルアップしたかと言われると怪しいです。

テストの書き方、関数・パッケージの分割の仕方とかは参考になった気がします。

もし仕事で Go を使うとしたら net/http とかを多用する気がしてますが、もちろんこの本ではまったく触れないのでそういう意味でもレベルアップにはならなかったですね。

去年は本運があまりなかったですが今年は年始から割といい本が読めてるので、このままスッといきたいです。

次はこの間無料で公開された “Front-End Developer Handbook” を読もうかなーと思ってます。 iBooks の目次見た感じだと先の本とほぼ同じ 280 ページ… がんばります…

参考