From what I’ve seen I really like Swift a lot. I like it way more than Rust, but I feel like all the momentum is with Rust, at least if you’re writing on non-Apple platforms.
I’m working on a new project and I chose Rust for that reason.
How do people feel about the future of Rust vs Swift, especially on Linux?
It is … just different. Swift for most is an application language, much like C# / Java before it. I use Swift more and more in Linux as a more serious language than Python if I want to keep some logic for production use.
Swift has certain constructions (such as object references) make writing abstraction-free code impossible. It also has certain performance cliffs that to optimize away means you need to write non-Swift Swift code. Otherwise, the language itself is very expressive, if you stick with the latest version. Protocol / associated-type based programming can produce some very satisfying interface if you don’t need backward compatibility (you don’t if you do Swift on Linux). Hence, I really thought Swift as “static typed, faster” Python for my Linux usage.
I think Swift may be a more suitable choice than Rust if you aren’t doing systems programming. You get most of the speed, a very similar type system and nice immutable value types, and don’t have to deal with the borrow checker. But they’re similar enough that it wouldn’t surprise (but would disappoint) me if Swift didn’t find its niche outside the Apple ecosystem.
From what I’ve seen I really like Swift a lot. I like it way more than Rust, but I feel like all the momentum is with Rust, at least if you’re writing on non-Apple platforms. I’m working on a new project and I chose Rust for that reason.
How do people feel about the future of Rust vs Swift, especially on Linux?
It is … just different. Swift for most is an application language, much like C# / Java before it. I use Swift more and more in Linux as a more serious language than Python if I want to keep some logic for production use.
Swift has certain constructions (such as object references) make writing abstraction-free code impossible. It also has certain performance cliffs that to optimize away means you need to write non-Swift Swift code. Otherwise, the language itself is very expressive, if you stick with the latest version. Protocol / associated-type based programming can produce some very satisfying interface if you don’t need backward compatibility (you don’t if you do Swift on Linux). Hence, I really thought Swift as “static typed, faster” Python for my Linux usage.
I think Swift may be a more suitable choice than Rust if you aren’t doing systems programming. You get most of the speed, a very similar type system and nice immutable value types, and don’t have to deal with the borrow checker. But they’re similar enough that it wouldn’t surprise (but would disappoint) me if Swift didn’t find its niche outside the Apple ecosystem.