I've just finished reading For the Love of Go
by John Arundel and wanted to write a short review about this book.
Well, unexperienced developers will find this book useful, not only if they want to learn
Go
but also if they have just started their career.
I'd say, it's a good short reference
for people who decided to learn Go, with a bunch of tips
about software engineering in general.
I have not learned much, but it was interesting to read it.
Compared to other tech authors, John Arundel, indeed, has the skill to write books about software engineering.
It's not long, it's not short, it's not boring, it's not sophisticated and I believe,
it's quite interesting, for the target audience.
A step in the right direction from the beginning
Tests:
I like how the author starts his book by focusing on tests. We all know (I hope) how tests are important
in software projects but unfortunately, still, not all developers are aware enough of tests importance.
For example, in my previous project, I met a developer who had 2-3 years of commercial experience
but still didn't care about tests. So, again, I think, it's a good manner to mention about tests importance in books
where a target audience is beginners.
User stories:
Well, I wouldn't say, that user stories are very important in this book but when the author mentions it,
he allows thinking about software from another point of view. It's useful for beginners
because eventually, most of us write commercial projects daily and it means we need to remember it.
When an engineer keeps it in his head, he can make more appropriate decisions.
Thinking in objects:
There is some information about object thinking
and that it's a natural way of thinking for people
but I think, this theme is covered poorly in this book but in the end, is not a book about OOP. So,
I guess, it's not so critical here.
Validation:
It's an important part of software and developers have to be aware of it well.
The author covered some aspects of validation, not much but still, it's worth mentioning.
Statements and expressions: Currently, most of SE & SD don't have a degree in CS which means they learned it on their own and still there is a tendency for people to learn how to write software without much theory. So, it means, they need to learn CS at some point in their career to be able to grow and communicate clearly. Again, it's not much of a theory but this book could be the first book for beginners and such topics are useful.
Basics of Go
Obviously, there are some basics of Go cause it's a book about Go language. π
The quality of these basics is fine, it's comprehensive for beginners and looks like a short reference for
developers with experience. Probably, there are only two things that I didn't like - there is no information about
main Go's feature
- its built-in support for concurrency through goroutines and channels.
I think it's important to mention it and why Go was created in general.
Another one is debugging
. There is no need to mention tools for debugging like GDB or similar
but it's worth to mention about debugging in general and why it's an important skill.
Well, I believe, that after this book, a new beginner will be able to create simple programs without a problem. Nothing advanced but enough to get a new experience and continue a journey into the world of software. That's the key thing here.
Engineering wisdom and links to other books
Almost every topic and feature covered in this book was written through the prism of experience I could feel it.
It's not just bare facts as is, it's experience from an older colleague.
Also, I noticed quotes from really interesting books that are worth reading.
That's one of the things that I like in books, in general. It's references to other books,
articles, or sources of information. There are about 6 or 7 links to other sources of information in this book.
One of them is a link to Henry David Thoreau, βWaldenβ
.
I believe it's a great book because I heard about it a lot of times from other authors.
I feel like I need to read it too π
Conclusion
Well, I can recommend this book for people who want to learn Go. Regardless of experience. It's a little bit more than 200 pages and I read it for only one weekend π I believe Go is very close to its peak of popularity and I think it will reach it in about 5-7 years. So, you still have time to master it