3 ms·
If you consider all the trade-offs (performance / simplicity / security / etc), and you need to create robust RPC services, whether microservices or outward fac
by dvirsky 6y ago
If you consider all the trade-offs (performance / simplicity / security / etc), and you need to create robust RPC services, whether microservices or outward facing API frontends - Go (to me at least) will be the best choice considering all aspects (C++ may be faster but harder to write/debug in, Java more widely adopted but a nightmare in every other aspect, Python easier but slower and less stable, etc etc).
Think about successful tools use Go - they would have been a nightmare in some aspect in most other languages. Can you imagine Kubernetes in Java? Docker in Python? It shines where it shines for a reason.
- pjmlp 6y ago> Can you imagine Kubernetes in Java? Yes, I can, that is how it was originally prototyped and due to pressure of Go advocates on the team it got rewritten in Go. However given that Go type system isn't as advanced as Java, the result wasn't the best one. "The clusterfuck hidden in the Kubernetes code base" https://archive.fosdem.org/2019/schedule/event/kubernetesclusterfuck/ https://archive.fosdem.org/2019/schedule/event/kubernetesclu... "Fixing the Kubernetes clusterfuck" https://fosdem.org/2020/schedule/event/kubernetes/ https://fosdem.org/2020/schedule/event/kubernetes/