Is it just me or does comparing go and rust make very little sense? Other than being popular and relatively new, they have almost nothing else in common. Rust is multi domain language design to be as versatile as possible, very intentionally limited with a set of carefully chosen constraints. Not intended to be particularly easy or quick to use, by design. Go is very clearly web-biased, centered for backend, microservices, not universal by design. Syntax very C like, verbose, feels low level, but actually batteries included. Really, the only thing in common with rust is that it is very popular with developers, but again for very different reasons. People who like rust often hate go and vice versa. You can tell by the comments in this thread too.
Rust Programming
You can write in both languages software. They might have strengths and weakness for specific use cases, but that is a good reason to compare. So people learn these differences. I mean I compare Python to Rust in example when deciding in what language it should be. People want to learn only one language at a time, so it makes sense to compare them.
True. But I would argue it makes more sense comparing python to rust than go to rust. Scope of use cases for python is more similar to rust. Other than that - sure, you can compare Haskell and x86 assembly too, though it would be of little use.
In your initial reply you compared Rust to Go, funny enough. So people understand the differences and your opinion when to use which. And that's the point.
Go is not even good. It's horribly designed (or rather, un-designed, since its creators actually boasted about deliberately doing the core part in what? a couple of weeks IIRC). If it wasn't for the associated corporate brand, it would have been a dead meme in the eyes of everyone by 2015 when Rust hit v1.0 (It was born a meme in the eyes of those who know).
And I mentioned that date to point out that we can't call these languages new forever 😉 . In fact, if you took a snapshot of street tech talk from 10 years ago, you would see that these generic conventional unwisdom comparisons have been done to death already. Which then begs the question: what newfound "wisdom" needed to be added to these "muh best tool for the job" talking points? Or are we just testing the wisdom of our new best tool for all jobs, LLMs?
I'm not proficient enough in Go to say how good or bad it is, but I have tried it in the past and it made and immediately not like it. Verbose syntax, no null safety or any error handling, no templates at that time, people literally copy/pasted the code of containers for different data types and did find/replace on it. The only feature that was kind of convenient is goroutines. For my money, Kotlin and even Java were more modern looking and would prefer them to go any day. Also not apples to apples comparison, but far more similar than rust.
Totally agree. I still wonder how anyone even accepted this horrible mess as a backend language. Combine LLM + Go, the resulting code is a verbose vomit that I don't want to cleanup.
There is one major benefit of go against rust: go is not such pain in the ass language as rust.
ouch. it would be difficult to argue with such an objective, quantifiable accusation. /s
CGO would like a word.
I really dislike people disliking for having a different opinion. I do not share your opinion, but respect (besides the foul language) it. And I even understand where you coming from, as the language is much simpler. But to me, that is the pain... Rust makes it less pain in my opinion but that is ... like yours, just my opinion.
You trade lack of pain in the assness for performance and determinism.
Kotlin is even less of a pain in the ass than Go (IMO) but you're not going to be doing systems programming in it.
But rust has a vibration mode to ease the pain. 😉