I started with the Go language.
When I learn something new, I like to read a book that gives me a one-stop, systematic overview.
I read "Concurrency with Go Language" this time, and it was so good that I wrote my impressions here.
Concurrency cannot be written off the top of your head.
One of the interesting features of the Go language is that it has a concurrency (asynchronous processing) mechanism at the language level.
The concurrency-related syntax itself is simple and can be found in any introductory Go language book.
But the question is.
I know the grammar, but I don't know how to use it in a parallel process.
The first is the
Concurrency is similar to an algorithm or a design pattern, and it is not something that can be derived by knowing the syntax, but is something that cannot be found without knowing it.
Moreover, there is not a lot of coherent information on concurrency processing, and you need to be aware of it and gather information by yourself, In this book, you can learn them systematically and comprehensively, which makes learning very efficient.
The gap between grammar and concurrency implementation is so large that I wonder if it would be difficult to reach the implementation level if I only had ah-ha knowledge of the grammar, This book was very helpful in bridging the knowledge gap as it led me step by step to the implementation.
I read this book without much pause after reading a whole introductory book on the Go language, and I'm glad I did, because it saved me a lot of time and didn't take me on any detours.
Be able to figure out concurrency on your own
When I saw examples of concurrency implementations soon after learning Go's concurrency syntax, I wondered how I could come up with such usages and felt that I would never be able to master them.
However, this book describes the process of the idea, so after reading the book, you will be able to think about concurrency implementation theoretically from scratch to some extent.
Concurrency is like a puzzle problem of how to combine concurrency grammars to make the concurrency you wanted to do.
Once you realize this, concurrency itself becomes fun, like a programming toy.
Thanks to this book, I now feel that concurrency is a hobby, not esoteric computer science.
Concurrency if you want to do Go language
The fact that concurrency syntax is built into the Go language by default means that concurrency is a GoogleI definitely wanted to do it.By, If you dare to choose Go language instead of other languages, it would be a waste not to use concurrency.
However, to do so, as mentioned above, it is not enough to simply learn the syntax of the Go language, but it is necessary to learn concurrency using the Go language separately, and this book is the only book for that purpose so far, as far as I can tell from my quick research.