Is there any sort of guarantee that the language will work smoothly on other platforms in future?

Do not get me wrong - I have nothing against platform specific languages - C# was fine until .Net core appeared...
However, since Swift evolution and progress seems to be mostly driven by Apple and Swift's main purpose was to replace Objective C for Apple specific software ( as far as I am aware it still is... ) does "smooth experience on non-apple software/hardware" are somehow a goal by Swift team?

I do not expect that Apple will invest in creating cross platform Swift GUI library - as I do not see any point from Apple's side, however are there any guarantees that basic tools - build chains/package manager/ etc will work smoothly in future? Swift is pleasant language to use and "write things from scratch" - with descent performance, modern features and descent C compatibility (necessary if one wishes to write wrappers for existing libraries) being major selling points,with good C++ compatibility being a goal with dedicated C++ compatibility team - however these features have to available and work smoothly on other platforms, not just apple...

For example - if there are hardware specific optimizations for the compiler - are there any guarantees that these will find their way to non-Apple silicon as well?
While one can try to write cool stuff using Swift (both for fun and profit) - it will become pointless if at least the core language and build chain do not get the love their need on other platforms...

Sorry if this question is annoying - I am a beginner to Swift, I really like the language and would like to use it for other things than writing iOS apps - however I am curious whether it is "safe investment" not just for learning purposes - I'd be interested in writing code / contributing to existing projects that will remain useful in future.

2 Likes

Swift is like the kid who left home but still has a good relationship with the parents. Apple (“the parents”) doesn’t directly control Swift and we (the Swift community) can make our own way, but we still get a lot of support from Apple. Like any Open Source project, Swift will support whatever platforms the community puts the effort into supporting.The community has shown commitment for supporting Linux and Windows (and the champion of Windows support has even joined the Core Team), so the future is definitely bright for multi-platform support. While I agree that Apple doesn’t have a reason to provide GUI frameworks for their unowned platforms, community efforts to provide such things are happening (search GitHub, it’s out there) and perhaps they could use your help.

I hope you find what you’re looking for, and welcome to the party.

It should be noted that Swift compiles down to LLIR, which is then transformed into machine code by the LLVM toolchain. Hardware-specific optimizations are going to principally come from that side.

1 Like

Just to be clear on this point, as noted under the Project Lead header here, Apple is very much directly in charge of the Swift project and "serves as the arbiter." Community input and contributions are encouraged and accepted, but just want to make sure it's expressed very clearly that Apple's role here is much more than just providing support. Apple is the ultimate decider of what does or doesn't make its way into the Swift project.

1 Like

Hard to predict future. In late 90's Objective-C future was bright (including cross platform aspects, I remember people were using and writing software for Yellow box on Windows). Some 20 years later it's dismal (and crosplatfomability died long before). Objective-C was technically cross-platfom, just not in practice. Those in the know would be able to tell how the current swift cross-platfom state of affairs compares to Objective-C one (taken on its best days).

It doesn't feel so to me. The kid is still the kid living with parents.

1 Like

Probably a better metaphor.