I am a Developer Advocate for Security in Mobile Apps and APIs at approov.io.
Another passion is the Elixir programming language that was designed to be concurrent, distributed and fault tolerant.
Location
Scotland
Education
Self teached Developer
Work
Developer Advocate for Mobile and API Security at approov.io
First of all I would like to say thanks for this excellent article.
Go is very good for stand-alone command-line applications or scripts. The successive behavior across platforms allows putting out simple command-line applications that can run almost on any platform.
This is the use case that I always have wanted to use Go for.
Go is a great choice for concurrency. Its concurrency model takes from communicating sequential processes.
Go is somehow applicable for writing system code. Although it may be not the best option for writing system code, Go allows for the integration of C code, which goes quite well.
Although Golang is able to talk to native system functions, this language is not suited well for creating low-level system components, e.g. device drivers or the embedded system design.
First of all I would like to say thanks for this excellent article.
This is the use case that I always have wanted to use Go for.
For concurrency I would not dismiss Elixir.
For system programming I would not dismiss Rust.
Here I would not dismiss the Elixir Nerves Project and/or Rust.
I never understood why the Go language was so immature and bad designed in this regard. It seems that they finally go it right with Go Modules.
Oh, this one in conjunction with the lack of proper package management have kept me out of adopting Golang, but at least the later seems now solved.