「あ〜、インタプリタ言語飽きた。コンパイルしてぇ」と思っていたところ見つけたGo。あれから4年ほど経ちます。

gophercolor


当初 「mattn さんという超絶変態ハッカーが使ってるなぁ」くらいの印象でした。そして触り始めてからも「なんだこれ、オブジェクトじゃないの…?」「interface {}って… え、あとから自動的に紐尽くの…?」「なにこれ、ポインタレシーバーとby valueレシーバーで意味違うの…?」などなど色々と自ら真っ先に罠にかかり、穴にはまりまくって「この言語大丈夫か」と皆さんもそう思っていたかもしれませんし、僕もそう思っていたことがありました。

その後、自分が罠にはまるごとにあちこちで発表したりもし、pecoという思いがけないヒットを書いてしまったり、とにかく大量のGoコードを書き続けていくうちに…

Go言語は僕にとって既に無くてはならない存在になってしまいました。だって、コード書きやすいし、速いし、良いことづくめなんだもの。

そんなところで「本書くんだけど参加しない?」というお声がかかったのでめいっぱい手を上げて1章書かせてもらいました。それがこのほど予約開始になりました。(書影がまだないのが残念…)


Perlを10何年書いてからのGoで、なるほど、これは… という点は何個かあったのでどれをネタにしようか迷ったのですが、今回僕は"reflect"という黒魔術を採り上げさせてもらいました。

reflect芸人


やはりPerlと来たら黒魔術でしょう。Goでは基本必要のないツールですが、必要になったらこれ以外方法がない、というreflect。いくつかのライブラリを書く際にはまりまくったその結果を共有させてもらったので、是非皆さんには僕のテツを踏まないでいただきたいと思います。

P.S. 今回以下のようなものも描かせてもらいました。どこで使われるかな?