Remix.run Logo
speed_spread 3 days ago

Rust will not "flatten" Go. They have some overlap but generally don't serve the same purpose and don't appeal to the same crowd. Go's popularity is undeniable, both in open source and in the industry. Outside of major shops and the odd shady Fintech startup, there are still very little Rust jobs out there. It's not necessarily bad, it's just the nature of it. Rust adoption is a slow thing because it addresses problems faced by slow moving software.

fpoling 3 days ago | parent [-]

Go jobs are not that popular either especially outside US. Java is way more popular and with recent improvements on JDK Go does not offer that match advantages over it.

And compared with Go Java is fully memory-safe and have independent implementations.

speed_spread 3 days ago | parent | next [-]

I like modern Java and agree it's a much better language than Go and an excellent platform in general. But Java will not beat Go where small and fast native executables are required. The native story for Java will remain a sad one, builds being hyper slow (aot) or resulting in huge binaries (jlink).

lenkite 3 days ago | parent | next [-]

Beyond a certain project size, GraalVM compiles to the same binary size as Go. Many k8s projects produce binary sizes of >100MB. I think this is because LOC in Go scales poorly.

Go's real edge over Java is in memory consumption, not in performance or binary size. Yet, this is also mostly true at the small-scale level. The edge again disappears for large projects needing large heaps.

fpoling 3 days ago | parent | prev | next [-]

If one needs a small and fast executable, then Rust should be used, not Go. I know a company that wished they would use Rust, not Go, for their services as poor Go performance and GC spikes made it a big headache.

krior 3 days ago | parent | prev | next [-]

Small and fast native executables sounds more like a niche than a real market. Don't get me wrong: really nice to have, but a raison d'etre?

pjmlp 3 days ago | parent | prev [-]

You mean like those 300MB that need to be compressed with upx for distribution, like some Go projects?

melodyogonna 3 days ago | parent | prev [-]

Then you've not tried to do any cloud-native development. Go in cloud is like Python in AI

pjmlp 3 days ago | parent [-]

I have, and Go over here is only relevant as the language Docker and Kubernetes are written on.

Everything we do is written in JVM or CLR languages, JS/TS, and the occasional C++ for native libraries.

melodyogonna 3 days ago | parent [-]

You must be joking. Over 75% of software on CNCF is written in Go; these include tools ranging from CI/CD to metrics and monitoring. It may not be popular to write your enterprise applications but it is certainly very popular in cloud infrastructure

pjmlp 3 days ago | parent [-]

Quite serious, CNCF products are basically Docker and Kubernetes related, that isn't what actual companies care about when moving their compute workloads from in-house into AWS, Azure, GCP, Vercel, Nelify, while paying big boys money to consulting agencies.

Many of those products are startups looking for attention in podcasts interviews and the like, and barely part of any enterprise cloud projects.