I wrote and shipped production backend code in many fine languages such as C/C++, Python, C#, and, of course, Go. I also used a few not-so-fine languages, but let's leave those out of the discussion. I decided to use Go as the programming language for Delinkcious because it is a superb language for microservices:
- Go compiles to a single binary with no external dependencies (awesome for simple Dockerfiles).
- Go is very readable and easy to learn.
- Go has excellent support for network programming and concurrency.
- Go is the implementation language of many cloud-native data stores, queues, and frameworks (including Docker and Kubernetes).
You may argue that microservices are supposed to be language agnostic and that I shouldn't focus on one language. This is true, but my goal is to be very hands-on in this book and dive deep into all the fine...