3 ms·
This is like asking if apples or oranges or bananas are better. Rust, Golang, Swift ad infinitum all have their advantages and disadvantages. First of all, you
by intertextuality 8y ago
This is like asking if apples or oranges or bananas are better. Rust, Golang, Swift ad infinitum all have their advantages and disadvantages.
First of all, you have not explained what the problem or issue is that you want to solve. Will you be working with bare metal? With networking? With native apps on iOS? So you should determine what it is that you actually would like to do, and then find a good fit from there.
All I can say is I like working with Go and Rust for different reasons. Rust has a slightly different paradigm, but I think people exaggerate the learning curve simply because it's just not what they're used to.
If you can't decide, then write a toy application in all three languages! This will give you a better insight into working with that language and its ecosystem. I.e. I still dislike how Go handles packages, but it's tolerable.
- beatgammit 8y agoThat's about my experience as well. I started playing with Swift when they launched it, and have dabbled here and there, but I don't have an iPhone or a Mac, so it's not very useful unless I really need to develop something for iOS (had a hackintosh for a while until my laptop died). I have since moved my prototyping to React Native targeting Android. There are a lot of things to like and dislike about each language. I use Go at my day job and Rust for most side projects, and I feel I need to be careful with both. Go makes concurrency easy, which also makes it easy to make mistakes. Rust makes concurrency safe, which also makes it hard to optimize. I'm faster with Go in prototyping, but more confident with Rust not breaking at launch. Learn them all. If you're an experienced dev, it'll take you less than a week to be comfortable with Go if you've done any concurrency, two weeks for Swift, and about the same for Rust (maybe more if you have little to no FP experience).