Kostarrr
a year ago
If you look at rust now, I think it's a great example of keeping the _spirit_ but allowing to question just about any specific decision.
Funny that the "why not go" still stands, minus the "no generics" part.
pjmlp
a year ago
On a different timeline, Rust reaching 1.0 before Go, I bet Docker and Kubernetes would have pivoted from Python/Java into Rust instead of Go.
VeejayRampay
a year ago
I wonder, aren't there specific attributes of the Go language that makes it a particularly good fit for things like Docker/Kubernetes?
ChocolateGod
a year ago
Easy to learn language and don't have to worry that much about memory, seen as a modern replacement of C in userspace, coroutines are easy to use and suit the lifecycle of network applications.
01HNNWZ0MV43FF
a year ago
Compared to both Python and Java, no runtime or packages to fuss with, just builds one static exe
pjmlp
a year ago
Java ecosystem is rather large, there have existed AOT compilers since around 2000, even if they had a price tag, and naturaly modern devs are allergic to pay for tools.
Those devs are now served with GraalVM and OpenJ9, as free beer AOT compilers for Java.
desdenova
a year ago
The only attribute of the language is hijacking Google's marketing to become relevant.
It's a terrible language, which has no practical reason to exist.
7bit
a year ago
We would have to look at why Go was chosen over other languages, to make an assumption about that. Was it a technical decision, an emotional decision, or an expertise-based decision? In the latter two, you may be right.
If it was a echnical decision, it is not so likely. Go's heart is concurrency, while Rust's heart is memory safety. Wildly different.
pjmlp
a year ago
Pure politics, on Kubernetes side, some Go folks joined the team and pushed for the rewrite for example, there is a FOSS talk on the matter.
Had not been the case, and most likely Kubernetes would have just been like Mesos, a mix of Java and C++.
chrismorgan
a year ago
Given its more ambitious goals and greater scope, Rust was always going to take a lot longer to mature than Go, so that there was no plausible chance of it reaching 1.0 before Go, if they started within a year or two of each other.
pjmlp
a year ago
Except that on a different timeline really means Rust achieving 1.0 before Go, I didn't assert nothing else would have changed when they came to be in first place.
A different timeline is exactly that, a different line of events.