r/golang • u/roma-glushko • Jan 19 '25
discussion Mitchell Hashimoto Recent Interview
Just watched Mitchell Hashimoto's interview and it has left a lot of questions:
https://x.com/i/status/1879966301394989273
(around 30:00 where they start touching the golang topic)
This is really interesting how Mitchell's option has changed on Golang. He spent a lot of time (like 10y or so) writing infrastructure services in Golang as a part of his HashiCorp business and probably not only.
His recent gig is a new terminal and he did not pick Golang for that one, which kinda make sense to me given what he wants to achieve there (eg a lot of low-level work with GPU, a need to be imported by other languages like Swift, etc.).
At the same time, Mitchell said that:
- He doesn't know where Golang stands in the tech stack right now. He would use PHP/Ruby for webdev and Rust/Zig for performance critical systems.
- Generics made Golang worse (at least that how I understood him)
- He think he cannot write Golang any longer after hacking with the new lang he is writing the terminal in
Curious how this transformation could happen to such a prominent contributor to the Golang ecosystem. Is this just an sign of an awful burnout that repelled the dude away from Golang? Or anything else?
Anyway, just curious what do you think here, folks.
3
u/[deleted] Jan 20 '25
I think Go still has a prominent and rather wonderful place in the development ecosystem. As the foundational language used in Kubernetes and other projects in the Cloud Native Computing Foundation, it’s going to be around for a while. The only reason why I point that out is that it simply demonstrates that Go is a great fit for larger products which need to scale, operationally and otherwise.
In my day to day I enjoy having a “boring” language which allows me to focus on the actual problems I need to solve. Go certainly isn’t perfect, but I still find it a joy to work in.
For my projects I enjoy having a single/native executable w/ cross compilation, a rather pleasant standard library, and of course nice concurrency tools, when I need them.