読書環境
- Kindle(白黒)
- iPad Pro 10.5 + Kindle(カラー)
- 紙
開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
Head First Go (Jay McGavren(著)、O'Reilly Media)を入手した理由、そしてChapter 1(let's get going - Syntax Basics)、Pool Puzzle(10)のまで読んだ感想、そしてそのPool Puzzle(10)の解答を求めてみる。
Goをちょこっとずつ学習し始めて楽しんでいたものの、プログラミング言語Goはちょっと硬い感じがあったり、最初から順番に読んでいけばいいという訳ではない、先の部分を参照しなければいけない場合があったりしてもうちょっと気軽で楽しそうな本があればいいなぁと思ってた時に、Head First Goが発売されたので入手。楽しいということに関して、Head Firstシリーズはこれまでのも楽しかった(Head First Kotlin等)から今回も期待。
最初から、Chapter 1のPool Puzzle(10)まで、特に目次を見た感じだと、範囲はプログラミング言語Goには及ばないものの、十分楽しめそうな印象。ちょっとだけ気になったこととしては、ファイルの書き出し、出力に関しては、Appendix Aと、付録扱いになっていること。その代わりかわからないけど、Webへの出力、Web Appsの方を優先している感じだった。ファイルに出力よりもWeb Appsに出力の方が、現代的といえばそうなのかもしれないけど、クロスプラットフォームのコマンドラインアプリケーションの作成が簡単にできるというのがGo言語に魅力を感じた一つの理由だったから、ちょっと残念。(Go言語を選択した、魅力を感じた他の理由はこちらで。
とはいっても、ファイルへの書き出しよりも、Web Appsの作成の方が楽しさは大きいと思うから、ほとんど気にはならず。ファイルの出力については、本著を読み終えてからプログラミング言語Goなどでしっかりと学習することに。
もう一つ気になったこととしては、テストについての記述が最後の方であるということ。TDDに慣れるために最初の方にあった方が嬉しかったかも。もしかしたら、本著くらいのコードならテストをする必要がない、テストに時間をかけるのは非効率、あるいは後半になるまでテストを利用できるだけのGoの基礎知識が無いということかもしれないけど。ただ、本著を読み終えた頃にはテストもしっかりかけるようになってるだろうから、その後、プログラミング言語GoをTDDで取り組んでみることに。
なので今後のGoの学習方針は、本著を読みつつ、みんなのGo言語を読んで、その後、再びプログラミング言語Goを取り組むといった感じに。さらに欲を言えば、現在Pythonで書いているRay Tracerが機能が増えるにつれて遅いと感じるようになってきたから、Goで実装する。
ということで、早速Chapter 1(let's get going - Syntax Basics)、Pool Puzzle(10)の解答を求めてみる。
コード
package main import ( "fmt" ) func main() { fmt.Println("Cannonball!!!!") }
入出力結果(cmd(コマンドプロンプト)、Bash、Terminal)
C:\Users\...>go run sample1.go Cannonball!!!! C:\Users\...>
0 コメント:
コメントを投稿