Magnolia Tech

いつもコードのことばかり考えている人のために。

『Go言語プログラミングエッセンス』を読み始めた

普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プログラミングエッセンス』を読み始めた。

単に言語の仕様とか、ツールの使い方を知りたいだけならば公式ドキュメントを読んで、他の人のコードを読んで、実際に書いてみればいいのだけど、この本ではしつこいくらいに、「他の言語との比較」や、「仕様が決まった背景」が語られている。

変数や関数の定義の記述順に関しては、わざわざC言語構文解析の難しさを図を使ってまで説明した上で、「一方、Go言語ではこうなっている」と説明されてとても分かりやすかった。

このように、著者であるmattnさんの長年の経験から「ここは背景を踏まえて説明しないと納得感が得られないな」と思われるところにはページ数を割いてしっかり説明されているところが、本書の良いところ。

エラー処理が一見冗長に見えるけど、なぜこう書いた方がいいか、というコラムはなんと4ページも使っている。

その後もテストや、コマンドラインオプション、ベンチマーク、データベースと、「実際のアプリケーションを書くためには、ここを押さえておくよね」という所がしっかり解説されてて、実際にコードを書き始めたら読みたくなるテーマが網羅されている。

他の言語でも入門書の次に読むべき本って無いよね、という話になりがちだけど、この本はまさにそんな1冊だと思います。