4 ms·
I think Rust supersedes it in most aspects, especially in not being Apple driven.
by shmerl 7y ago
I think Rust supersedes it in most aspects, especially in not being Apple driven.
- skohan 7y agoI would kill for a language with Swift's productivity and usibility and Rust's tooling and ecosystem.
- zozbot234 7y agoRust can be quite usable and productive if you know the right shortcuts. The tradeoff is somewhat lowered performance (and Rust makes sure that you're aware of where you're choosing that tradeoff) but that's just the way it goes. It's not like Swift is any different.
- skohan 7y agoI think Rust is a fine language, but it's undeniable that it involves more tedium than other languages to use. If there is some tradeoff between safety, performance, and usability, Rust has prioritized safety and performance, where swift has chosen safety and usability. And that's perfectly fine. I am glad that Rust exists for those use-cases where the performance is important, but there are also cases where it's more important to be able to write a lot of code quickly with less friction. It doesn't devalue Rust to admit that there are places where it is not the optimal choice.
- zozbot234 7y ago> more tedium than other languages Perhaps you haven't programmed in Java. Or even C++, for that matter (modern "Core C++" programming can be quite tedious at times). I'd say the jury is still out when it comes to Rust vs. "higher level languages", yes, even Swift. The point of my comment is that the "friction" you're pointing to need not be an inherent property of something like Rust, any more than it is in C++. It remains to be seen if the 'tradeoff' you mention is a binding one.
- skohan 7y ago> Perhaps you haven't programmed in Java. Or even C++, for that matter I never said Rust was the most tedious language, and I would hope it has learned something from those decades old languages. I agree that Rust has some usability issues which can be improved upon without sacrificing safety and performance, but I think that trade off will always be there at some level. For example, Swift’s copy-on-write makes it very easy to reason about value types, but comes at the cost of performance since there will be a lot of copies which aren’t strictly necessary. You can get essentially the same behavior in Rust by cloning everything, but it takes a lot more typing and adds visual noise to your code, because Rust has made the default to be more parsimonious with memory usage. At some level trade offs have to be made. No one language can be all thing a to all people.
- pjmlp 7y agoThing is, yes it might cost performance, but does it matter? It all boils down to, does it deliver what the customer of an application written in Swift is asking for?
- skohan 7y agoYeah that is exactly my point. In many cases all the extra work you put into writing Rust code for the additional performance is just that: extra. It doesn’t add any meaningful value to the final product, and it comes at the opportunity cost of that time you could have spent adding or improving features in a more productive language.
- pjmlp 7y agoYeah, while Rust is paving the way for affine type systems among mainstream languages, and it already influenced design decisions on other system programming languages, including Swift (memory ownership manifest), it isn't the first on my list for UI or distributed computing applications.
- 7y ago
- panpanna 7y agoGo? Kotlin?
- skohan 7y agoGo is a nice language for some use-cases, but a bit too light on abstractions for my needs. When I tried Kotlin a couple years ago, it seemed to be marginally behind Swift in terms of the power of the type system and some of the cool things you can do in Swift, and I'm not wild about targeting JVM, but I understand that situation has been evolving so maybe I should give it a second look at some point.
- lokedhs 7y agoKotlin Native is nice, but its compile times are absolutely horrible. I guess some of this comes from Gradle, which is another mess in itself, but when it takes over half a minute to compile Hello World, there is a problem.
- deleted 7y ago[deleted]
- jbverschoor 7y agoSo we’ll refuse go, typescript and react? Apple has the best engineering talent of all tech companies.
- enitihas 7y agoOff course, that's why they keep having security issue after security issue (macOS root exploit to iPhone issue reported by project zero).
- saagarjha 7y agoI think the parent cared more about it being driven by a specific company’s interests than Apple’s in particular, because this makes it somewhat difficult to use on other platforms. And I’d argue that Apple’s engineering talent, while good, is not “the best”.
- shmerl 7y agoHard to say if it's the best, but likely the worst attitude of the management on top when it comes to collaboration and general progress (which languages should enable).
- jbverschoor 7y agoOh def. Apple has been too slow and/or conservative about opensource.
- terminaljunkid 7y ago> Apple has the best engineering talent of all tech companies. Are you trolling or are you that kind of extremist apple fanboy?