this post was submitted on 25 Jun 2025
24 points (92.9% liked)
Rust
7129 readers
21 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
On the one hand, I love Rust, love seeing Rust winning, on the other hand: the cynical part of me observes this as a way for them to say it's safer to use, somehow. In the sense that people fling Rust around in a kind of showey way.
Already we've been seeing projects fuck up with isolation irt MCP servers, so this is the backdrop to observe this kind of change.
I know this is blasphemy, but why not Go? Why Rust? I love writing Rust CLIs, but somehow I feel the personal arguments I make for such things don't really hold up in industrial settings like this (in particular, a small open-source CLI project that interacts with networking).
There's nothing wrong with using Rust here (Rust is great for business logic!), but the choice here almost makes me suspicious of the motivations.
Also there's existing Rust solutions in this area! Namely: https://github.com/sigoden/aichat
I don't really enjoy using AI when coding, but aspirationally, I'd rather support other projects than OpenAI, who is only a nonprofit in concept and is actively attempting to become a for-profit, whilst behaving like a VC funded startup.
(Not to mention the fact that mainline models are explicitly developed with the intention of destroying labor, in general)
I think I read somewhere that part of the motivation is that they won't need a runtime to be installed to use it, but Go could fill that role as well of course.
But I think you said it yourself:
I guess they also prefer Rust to Go. I'd choose Rust over go for a CLI any day. Why do you say Rust wouldn't be good in an "industrial setting"? I use Rust professionally and I don't see any problems in that setting.
Go is a simpler-to-read language that does not involve lifetimes (as you know, it is GC'd). For a lot of smaller projects like this, the boringness of Go is preferred. Less mental bandwidth required.
I'll admit my definition of "industrial" here was vague, but I think you can get my point. I'm not trying to say that Rust isn't good in a business setting - my job also has Rust in the code!
However, for these purposes, most of the benefits of Rust in this situation are already provided by Go.
I don't agree go is simpler to read. It is simpler to learn the syntax but the syntax is only part of what makes a language. Having learnt both, and having spent more time actually writing go I still prefer writing rust and finding it far easier to work with then go. Go has too many hidden gotchas that you need to trip up on to learn and then remember forever or else trip up on them again.
I agree here. I always find it difficult to navigate a Go codebase, especially when public members just seem to magically exist as opposed to being explicitly imported.
@solardirus I find the situation to be the opposite, you need more mental bandwidth to navigate a go codebase. The signal to noise ratio is very poor because of badly designed error handling, poor libraries at some domains and lack of some modern goodies on programming languages making you having to reinvent the wheel every time.
Also, you rarely have to explicitly specify lifetimes.
@SorteKanin
@solardirus @SorteKanin Maybe Go is easier to read in a word-for-word sense, but when I read a program, I want to understand what it does and why it works the way it works. I want to validate its properties to build a mental model of how pieces interact.
As soon as I start doing that I find Rust is much easier to reason about, because the compiler enforces a lot of properties that I rely on, whereas with Go I end up looking through multiple files to get the same picture.
Quoting OpenAI:
Now to be fair, these dashes scream "LLM generated" for their entire post. Regardless, if these really are their reasons:
As for the difficulty in making a CLI, clap makes CLIs dead simple to build with its derive macro. To be clear, other languages can be just as easy (Python has a ton of libraries for this for example including argparse and Typst).
Personally, if I were to choose a language for them, it'd be Python, not Go. It would have the most overlap with their users and could get a lot more contributors as a result in my opinion. Go, on the otherhand, may be a language their devs are less familiar with or don't use as much as Rust or other languages.
M-Dash and a bullet point list? Yeah, that's AI generated.
And it probably is, because they use a lot of Ai for code generation too. And having Rust is a bit safer I assume, because its way stricter and the error message also way more helpful. Having not programmed in TypeScript, this is just an assumption and I just realized it gives you even right here. Oh the irony. :D
Pretty much. Rust is very strict and explicit about everything, while typescript lets you kinda jam things together in ways that are very convenient but harder to keep track of in your head.
Yeah, TypeScript has to integrate with JavaScript for practicality's sake, which pierces a hole in its ability to do proper, rigorous type checking. It's closer to machine-readable documentation that helpfully flags some errors than an actual type-checked language, which will make you get your types right instead of gently suggesting that there might be an issue the way TypeScript does.