2019年12月2日月曜日

読書環境

今日読んだ本、入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)の感想。

Go Systems Programmingを読んで早速Go言語でUnixやLinuxの仕組みを知ろうかと思ったけど、その中のGo言語の基本的なことのおさらい中で、いくつかパッと分からない、思い浮かばないことがあったから、Go言語の基礎的な内容の本を探していたら、人気があって定番書っぽいGet Programming with Goという本を発見。なのでこれを読もうと思ったら、邦訳されている本著を見つけたのでこちらを読んでみることに。Go言語の基礎的なことについては、既にHead First Goを読んである程度身についてるつもりで、普段プログラムにやってもらうことをGo言語で書くのには特に問題は無かったものの、UnixやLinuxを学ぶのには足りない部分があったのかも。あるいは、Head First Goでは基礎的なことではありつつも省略されてた部分があったのかも。

なので、基礎的なことだから内容が重なる部分も多いだろうけど、Head First Goには載ってなかったことが本著に載っていることをちょっと期待。あと、同じことでも本著は日本語の本だから、何か細かいニュアンスの違い、あるいは英語ではなく日本語での用語も知ることができればという期待も。

内容の雰囲気は、文章や解説も含めてHead First Goと同じくらい、楽しく、面白く読み進めることができた。もうちょっと比較した話としては、本著の方が簡潔で教科書的な印象だった。ただ、決してHead First Goがただ長いというのではなく、科学的に脳、記憶に残るような方法で学ぶという方針で、絵や図がより豊富だったり、重要なことはいろいろなところであえて繰り返して、冗長になりやすいからというが理由の一つかも。なので、本著の方がさっと読める感じだったけど、どちらの方が学習効率がいいかは分からず。

特に急いでいるわけではなく、また、Head First Goに限らず、他の言語のHead Firstシリーズに慣れている人は、Head First GoでGo言語に入門してみるのがいいかも。さっとGo言語の雰囲気をつかみたい、英語が分からない、日本語でGo言語に入門したいという人は、本著でGo言語に入門するのが良さそう。あるいは、気さくな感じではなく、堅い感じの本で入門したいという人も、Head First Goより本著の方が向いてそう。ただ、本著もHead First Goと比べて教科書的な感じがするだけで、そんなに堅い感じの本ではないけど。

全体的な内容には満足だけど、ちょっと気になったことも。それは、テストについての解説がなかったこと。プログラムを書くとき、使い捨てでさっと何かをしたいプログラムを書くとき以外はテストを先に書くTDD(Test-Driven Development:、テスト駆動開発)を心がけてるから、テストの記述がないのがちょっと物足りなかった。Head First Goでは最後の方にではあるものの、テストについての解説があったというのもあるかも。入門時からTDDに慣れたい、TDDじゃないと落ち着かないという人は、Head First Goを先に読むのが良さそう。ただ、並行処理、goroutines、チャンネル等についての解説は本著の方が詳しかった印象。

ということで、まず最初から最後まで本著を読んで、Go言語の基礎的なことを楽しく学ぶことができて良かったし、次は実際に手を動かしてコードを書いたり、クイックチェック、練習問題、チャレンジのプログラムを、既にHead First Goで身に付けたTDDで作成していき、より理解を深めつつ、Go言語でUnixやLinuxについて学んでいこうと思った今日この頃。

0 コメント:

コメントを投稿