3 ms·
> Other languages I enjoy include Haskell, Elixir, and Rust. [...] Rust is great because it has a phenomenal type system with good type inference; it’s metaprog
by echelon 2y ago
> Other languages I enjoy include Haskell, Elixir, and Rust. [...] Rust is great because it has a phenomenal type system with good type inference; it’s metaprogramming story could be improved though.
I agree with the author about Rust in that it has a beautiful and expressive type system. The fact that it can be used for systems programming, has a modern package system, and can be deployed as a single static binary are bonuses.
Rust is a perfect little Go/Java replacement for microservices and web servers.
- JohnFen 2y agoJust to prove the thesis of the title, I really hate writing code in Rust.
- vips7L 2y agoYou could not pay me to write Rust for a living.
- JohnFen 2y agoI learned Rust to the point of competency (but I'm certainly not at the point of proficiency) because it seems likely that knowing it will be helpful in terms of career development. But I have decided that I hate it enough that I wouldn't accept a job that required me to do much with it. I would be unhappy in such a position. It's an unusual stance for me to take -- I am proficient in a number of languages that I'm not that keen on, but can tolerate them for a paycheck. For whatever reason, Rust is an exception. I'm not sure why.
- vips7L 2y agoPersonally I don't think it will be helpful for career development. I'm never going to work in a space where Rust will be useful and it would probably be a mistake to choose it. But I'm just a Java dev /shrug.
- JohnFen 2y agoI consider it important to my career to be sure my skillset doesn't get stale[1]. I don't bother to learn everything that comes down the pike (who could?), but I do keep an eye on things and if it looks like something might end up being in demand, I'll learn it. I don't always forecast correctly, of course. But I'm a programming polyglot. Learning new languages is pretty easy (if you already know the paradigm of the language, then it's just a matter of syntax), so why not? [1] It's important to me mostly because learning a new language or other skill often gives me a new understanding or insight into programming overall. Also, having a wide skillset makes me qualified for a wider selection of jobs, making it more likely that I can find one that excites me in some way.
- daghamm 2y agoYet most of those are written in Go. In fact, the majority of the devops tools themselves (podman, k8s, etc) seem to be written in Go. Why do you think that is?
- Jtsummers 2y ago> Yet most of those are written in Go. In fact, the majority of the devops tools themselves (podman, k8s, etc) seem to be written in Go. > Why do you think that is? Because time travel, as far as we can tell, is not possible. At least in the case of Kubernetes, Rust 1.0 wasn't even around until the year after it was first released (Kubernetes 2014, Rust 1.0 2015). It also came out of Google and Go was one of its blessed languages at the time (and today). Given Rust 1.0 wasn't out yet, I'd be surprised if it got more than five seconds of consideration by the team developing Kubernetes, if it was even on their radar at the time they started development.
- behnamoh 2y agoIMO it's because boring, predictable, un-exciting tech often gets the job done, while shiny, exciting, enjoyable tech gets the job done less.
- Jtsummers 2y agoIt's fair to have an opinion, and that may be why Kubernetes hasn't been rewritten in Rust, but I answered the question of why it wasn't written in Rust. It wasn't an option at the time (again, time travel is not possible).
- thowruasdf 2y agoThis is a myth pushed by the "Choose Boring Technology" cult [1] and proven false by Google [2]. [1]: https://boringtechnology.club/ https://boringtechnology.club/ [2]: https://www.ardanlabs.com/news/2024/rust-at-google https://www.ardanlabs.com/news/2024/rust-at-google
- gregors 2y agoK8s was absolutely built using exciting tech....Golang was hot off the presses. The brand new hotness. Google's internal Borg was C++, so the boring choice was C++ which wasn't chosen. Also they were google employees, which also adds a bit of bias in selection I would imagine.