After spending some time with #Rust I think I still prefer #Go.

Go is like Rocket League; it has a low skill floor but a high skill ceiling. It’s fun because it’s simple and easy to get started with. But it’s also fun to get better at over time. I keep coming back to it.

Rust is like a Souls game; it has a high skill floor and a high skill ceiling. That makes it hard to enjoy in the beginning, but there’s a satisfaction in overcoming the difficulty and gaining understanding.

#RustLang #GoLang

@heygarrett I love how doing things async in Go doesn't require colored functions. It wasn't an afterthought or left up to libraries to implement.
@heygarrett my main issue with go is that I feel like the skill ceiling is comparatively very low. It's designed to be simple and approachable – which is a valid goal to have. However, it also means that you lose a lot of the expressive power of languages like rust. In essence my feelings are that in rust, the complexity is in the language, whereas in go the complexity ends up in your project. I find the former to be preferable, as you only have to conquer the complexity once.
@heygarrett in addition, I feel as though ease of learning should rarely be an argument for a programming language in a non-hobbyist context. There's exceptions to this, but typically a business will prefer experienced, skillful developers either way – the learning curve just doesn't matter there. For open source learning curve may be more relevant, although that also depends on target audience – I've had several contributors learn rust by contributing to my projects, and then add HUGE features.

@elkowar @heygarrett

> a business will prefer experienced, skillful developers

And they will mostly fail to attract / hire them. Which is why we’re still not seeing much of Rust in the typical enterprise space. That’s not a fault of Rust. I’ve worked with plenty of devs who’d say even Go is too complex (“it has pointers!”).

@anderseknert @heygarrett I see what you mean, and, as someone with a rust job, I'm genuinely confused how it can be this hard to find rust developers. It's consistently one of the most loved languages in surveys, and there are incredibly few companies hiring for rust compared to other Langs. I'd think that as long as you're not massively underpaying them, finding great devs should be especially easy with rust, _especially_ with remote jobs. Maybe I'm too naïve.
@anderseknert @heygarrett I'd hope that for most projects, you don't WANT the devs that say go is too hard because it has pointers. They're likely not going to be the best available person for the job. Of course it depends, and domain knowledge is often an equally important factor as pure software development skills,... But still, do you WANT to employ someone that struggles with basics into a core developer position?
@elkowar @heygarrett yeah, as someone who’s dabbled with Clojure since its introduction, I’ve seen this firsthand before. Not sure what could be done to change that, tbh.
@heygarrett The main difference between Go and Rust is that Go has a runtime which is packed with each binary. The runtime is ~16MB (so it's imporsible to create smaller binaries than that). Runtime takes care about memory so a developer is shaded from memory management and life times. That's an advantage and disadvantage in the same time. Rust doest have GC, just like C. On the other hand, unlike C, it has an amazing compiler that handles memory management for you.