I
I
Ibrasau2015-06-29 17:33:33
go
Ibrasau, 2015-06-29 17:33:33

What literature can be found on golang?

I decided to start learning (for myself) a compiled language, after much thought, the choice fell on golang. I understand that it is a little naive to believe that there is already some kind of useful reference book or textbook for such a young language, but still, where can one get knowledge of this language besides the official documentation?

Answer the question

In order to leave comments, you need to log in

7 answer(s)
I
Ilya Erofeev, 2015-06-29
@Ibrasau

golang-book.ru
4gophers.ru/articles

@
@programrails, 2019-12-09
_

I would recommend studying in the following order:
1. Start with golang-book.ru . It's in Russian and pretty good for a beginner.
2. https://golang.org/doc/effective_go.html - this is already in English, but it's still sensible and goes well after the 1st paragraph. Briefly, to the point, without water, understandable enough.
After reading these 2 points, you will already have a basic understanding of the language.
No matter how hard I tried, I could not determine any specific universal book. There are a lot of bad books at this level, it's hard to single out something good. Relatively good for this level (so far) seemed:
3. Basic web server on Go An article without which it is difficult to go further (all book authors are too lazy to explain this normally).
4. M. Curtis - Level Up Your Web Apps With Go
Read - and didn't understand - what's going on? The dude obviously writes rails on Go! Everything is painfully familiar ... What is it? And then I look in the profile https://www.linkedin.com/in/mal-curtis/ - so he writes at work on Ruby on Rails! So the book will be great for rail people who are learning Go. The book is not bad, the author clearly tried. Author, you are a good person.
5. K. Cox-Buday - Concurrency in Go. Tools and Techniques for Developers. The book is not very successful, but so far I have not managed to find something better. Author -woman and stupid. The book reads painfully and extremely slowly. The coverage of the material is not bad - but the explanations are tongue-tied, with a waterfall of superfluous words and emotions, code examples are unreasonably overcomplicated, a number of topics would have remained incomprehensible if not for googling. I read and swear at every step.
PS The last 2 chapters have already gone into such delirium that I simply could not bring myself to read this horror. Threw. In general, you should not read further than the Queuing paragraph. The book perfectly illustrates the thesis that no matter how smart women are, they are still fools, and they have nothing to do in programming (except perhaps 1C).
Unfortunately, you still need to read the book, because the coverage is good - and there is nothing special to replace the book (in the sense of another book sold for money - perhaps with articles).
There is also a book by N. Kozyra - Mastering Concurrency in Go - but it has terrible reviews - and I tried to read another book on Go by the same author - and I also didn’t like it very much.
It's funny to say - but there is not a single travel book on Go about Concurrency (the only thing Go was created for)!
6. The best explanation of Go Context I've seen so far . It is even better than the official one (written by a Hindu, and therefore bad).
7. M. Tsoukalos - Mastering Go - but only Chapter 10: Concurrency in Go - Advanced Topics - and excluding the Worker pools paragraph (it's wrong - there's nothing to stop goroutines from spawning - what kind of pool is that then).
An average-satisfactory chapter, there are not enough stars from heaven, the paragraph Sharing memory using goroutines was the most interesting - a particular example of Katya's Confinement.
I tried to read N. Jackson - Building Microservices with Go - it turned out to be impossible, the book was written by some crazy madman who is in a state of drug intoxication. Reviews on Amazon confirm this.
Also I tried to read M. Ryer - Go Programming Blueprints (2 ed) - Chapter 10 only: Micro-services in Go with the Go kit Framework - didn't like it. The code examples are complicated (the author is trying to build a real system - well, a fool - instead of limiting himself to a demo example), there are no explanations of the accompanying material (in fact, there are none). Useless head. Several topics are thrown together - but none of them are really explained. Very weak author.
Verdict: a normal book on the topic "Go microservices" has not yet been found. You will have to study this topic from articles and instructions for using microservice Go-frameworks - here is a list of frameworks:
I started with gRPC. First I read the official protobuf doc (including the Go section). Doka turned out to be quite sane. But on the other hand, the official dock for gRPC has already turned out to be completely lousy. There are 2 examples - simpler and more difficult . The followers of those who wrote to the dock for the first angular (that is, those to whom I would cut off both hands to the very shoulders) wrote to the doc. To understand anything without source codes (to the article) is unrealistic. But - the source codes still need to be found, because there are no links to them in the article. It turned out that the sources are here: https://github.com/grpc/grpc-go/tree/master/exampl.... But even with them - everything is quite difficult to understand - even in the simplest example. Because the authors kept silent about many important points. Because them in the bastard to move their ass once again. In general, there is a need for a normal author who will describe what gRPC is. Try reading the article from Shiza - this is a slightly cultured abbreviated retelling of a difficult case .
Consider Go Micro . Production of another cretin (and even of questionable quality ). What, tell me, can be understood from such "explanations" ? By the way, search Yandex for the term "Service Discovery" - here you need to understand what it is. See also Consul . Here is another sensible article on Go microservices. And I also realized that without a preliminary study of protobuf and gRPC, it will be difficult to understand Go Micro (if at all possible). I wish you never come across the products of this degenerate at work. Go Micro seemed to me like a Chinese flashlight with a built-in compass, radio, clock, charger, screwdriver, pencil sharpener, nail cutter, etc.
Move on. Go kit makes a much better impression. True, the documentation is not complete - the author did not have the patience to finish it. But still, you can figure it out - there are source codes-examples, provided with detailed comments. I liked the author.
Read the helpful comparison article .
I do not recommend chasing Russian-language books on Golang. I read in Russian:
- A. Donovan, B. Kernighan - The Go Programming Language
This is an absolutely disgusting mediocre book.
and looked through the table of contents of the Russian-language book:
- M. Summerfield - Programming in the Go Language
Although I haven't read it, a cursory glance at its table of contents creates the most negative impression of the book. It seems that this is a deliberate sabotage against the learner of golang, in order to breed him for time (reading) and money (when buying). Mark Summerfield is a professional graphomaniac, see for yourself his career path: https://www.linkedin.com/in/qtrac/
Both books listed (available online for free in electronic form as vector PDF), although Russian-language, I strongly do not recommend .
M. Butcher, M. Farina - Go in practice - in Russian - this book seems to be quite good, but it is for an experienced developer - and it does not set out systematically - but abruptly.
I also do not recommend trying to read the language specification - you will not understand anything:
https://golang.org/ref/spec
There is practically no normal literature on Go (except for the basics). All microservice Go-frameworks are poorly documented, forcing you to understand them by examples with source codes (!).
English-language books on Golang in electronic form for free - a lot, more than 30 (or even under 50). Many are written by Indians, or out-of-school professors, or some left-wing Go lovers (these "books" don't even have ISBNs). There are even books written by blacks! All such books require careful selection. Why exactly did Go cause irresistible urges to graphomania among others? It seems that many adventurers decided to "cut down the dough" on the "hype" topic. Indeed, finding at least a normal book (not to mention a good one) turns out to be extremely difficult in fact - for some reason, numerous villains and mediocrity have stuck to Go - like in no other programming language.
Everything I talked about in this post is available for free online in electronic form (Libgen, for example).
In general, the focus of learning Go should be on its concurrency capabilities, which include low-level mechanisms (as in C++) such as the mutex and high-level mechanisms such as channels. Actually, this is exactly why Go was needed at all. The second most important topic in Go, in my opinion, is microservices.

D
Dmytro Bezvoshchuk, 2015-07-09
@d1monster

Mark Summerfield "Programming in the Go Language" is probably the only Russian-language book on Go at the moment. Available on Rutracker .
From myself, I recommend to start watching the next wonderful video course . Also in Russian.

D
Dmitry Demidov, 2015-06-29
@ptitca_zu

Amazon
Wiki
Google

A
Artem, 2015-06-29
@artem_kovardin

Here is a special article for beginners 4gophers.ru/article/podborka-dlya-nachinayushchih

M
memba, 2015-07-02
@memba

From what is not said:
Buy, download the book: Mark Summerfield - Go Programming.
There is such a site: www.socketloop.com , there are a lot of small examples. If you become familiar with the language, just take them all and study them.
See selections of material on the same 4gophers.ru and dighub.ru

V
Viktor Login, 2015-07-29
@BATAZOR

Quite an interesting book, with an example of developing web applications on Go - www.amazon.com/Go-Programming-Blueprints-Developme...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question