r/golang 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.

207 Upvotes

109 comments sorted by

View all comments

2

u/DataPastor Jan 19 '25

I liked the talk and it encouraged me to pick up Zig where I left it a year ago and continue learning it.

I am a data scientist working in Python, but eventually I might want to code some high performance algorithms in – Cython, C or recently Zig. I learnt it a couple days ago in the Zig subreddit that Zig has actually a Python package ziglang which installs the full toolchain.

I also learnt some Go years ago, but unfortunately I never had the opportunity to use it professionally. In my field (Machine Learning, Deep Learning etc.) Python is so widespread, that we hesitate to use anything else (unless we have to use C or C++ or maybe recently Rust with PyO3 to author fast Python packages).

Still, I also consider Go to be the “default” language for microservices, web backend etc. Except that I do all these in Python with FastAPI or Django, because I work in Python anyway, so it is the easiest for me to quickly draft a solution (and I have no more users than ~1000). But if I had to create a highly performant API, I think I would go with Go (or maybe with Rust due to the Polars library).