Reality Vs Reality

I'm sure we would all love for Swift the Open Source language to be an actual truly open source language, but it strikes me that reality is not playing ball in this regard.

Using Swift, as it currently stands, means Using Swift to build Apple Swift stuff. Do we just continue to mark (these would be) community contributions that acknowledge Apple as Off-Topic, or is it time to recognise that most of the "would be" Swift community find their way here because Swift is actually still pretty much Apple based?

I get that Swift wants to be platform agnostic, but is ignoring the reality that it currently really isn't platform agnostic actually the best way forward?

Is telling these Apple focused devs that this is not their platform, and that their post are Off-Topic, which essentially chases them away, is that really the best policy to build Swift's future?

Or could it be that by doing this, it actually mean that Using Swift supports very few of the community that is interested in actually Using Swift?

And could it be that this will in fact contribute to its own downfall?

Is 30 posts per week really where its at?

Swift has a debt to Apple. Apple gave it life. Maybe it's not yet time to default on that debt.

This forum is about the language itself, and not frameworks used from, or even written in, the language. As far as I've seen, all posts marked off-topic fall into one of the latter categories.

8 Likes

The last I checked there were an estimated 23,000 languages in active use, but only around 75 of those were considered 'relevant use'.

As both a programmer and mentor, I'm looking to help teach people a relevant language, my interest is not so much yet another academic language, but more towards here's a language worth your time.

If you believe Swift has current visibility outside of Apple frameworks, you are deluding yourself. If you believe it should have visibility outside of Apple frameworks, we are on the same page. But should doesn't equate to is. That's the subject I'm hoping to address here.

Apple provides a separate forum for its tools, SDKs and services. These “off-topic” questions are usually better suited to be posted there, not here unless it’s a question about the language itself.

Whether there should be a “unified” forums is a separate thing.

I think we can improve the experience by perhaps detecting certain keywords in the post when it’s being written and prompting the user to visit the developer forums instead. I’m not sure if Discourse supports it, the forum moderators would know better.

2 Likes

Please could you guide me to where that is being discussed?

I don’t think anyone has started a discussion around it. I mean, you can still post “Using Swift” questions on the developer forums if you want anyway (there’s a category for Swift there).

Personally I’m not sure if combining the Apple developer forums and the Swift forums would be a good idea. It’s kept separate for a good reason.

3 Likes

Until recently I would have agreed with you. But in various forums I participate in, the idiom today is that Swift = Apple and I am a lone voice in the counter proposition. Back when IBM used Swift for Server it was easier to counter, but now IBM dropped Swift, the perception that Swift = Apple is stronger than ever. I believe this position should be embraced for numerous reasons, probably too esoteric and boring to expand upon here.

1 Like

In my view, as a MacOS programmer, I still prefer to ask elsewhere for help with purely Apple frameworks, tools (Xcode, IB, etc.), and not load down the discussions in these forums on purely Apple issues. It's not even clear if the relevant folks from Apple staff outside the Swift sphere of influence read this forum enough to be drawn into the discussions.

If we are not careful, we will get users who essentially ask, for example, "I want to build an iOS app that does x,y,z. How do I do it?" It's happening over in the Apple Dev forums, and I'm seeing several incursions here of this type. If a question is about a Swift technology (propertyWrappers, for example) that are used in Apple frameworks, but, are, or could be generally useful to most everyone in the community, then it's appropriate here, even if the context of the problem is in an iOS or macOS context. In my mind, until SwiftUI and Combine are released by Apple to open-source, they should be treated as Apple frameworks. But, this is a gray area since senior members of the development team seem to be more tolerant of these questions herein, probably because these two frameworks are really testbeds for future Swift evolution of the Swift open-source system, even if SwiftUI and Combine remain Apple proprietary.

5 Likes

SwiftUI, Cocoa, are all pretty much off-topic. Using Swift is actually about all other stuffs that’s not framework-specific.

I’m not sure what you’re trying to get at here, it seems contradictory to the previous quote (maybe typo on the first one?).

?

Anyhow, that’d be where the forum is at, not the language. There are a whole lot of other forums out there serving different purposes.

Most off-topic remains visible and it’s simply up to the “community” here to answer the question. Whether or not this forum should bless Apple API and not marking them as off-topic doesn’t seem to help achieving whatever you’re trying to do here.

Also I don’t think it really deters anyone. If anything, most of the off-topic post does get help, or redirected to the relevant forums.

PS

Tbh, there are too many rhetorical questions that it’s barely legible.

3 Likes

You’re probably mostly right about that. But so what? I think you’re misunderstanding the reason things are marked as off-topic. Questions about any (albeit, as you say, these are few and far between) frameworks for non-Apple platforms would also be marked off-topic.

The distinction is not between Apple and non-Apple, but extrinsic and intrinsic to Swift-the-language.

This forum is first and foremost about the development of the language. It is by definition niche, and that’s fine. That’s not the same as saying the language should be—or is—niche, but that discussions about its development is.

Stack overflow is probably a better place to ask questions about using Swift to build apps or whatever.

3 Likes

IBM did great work for Swift, but Kitura had a minority market share in the server side swift community. Vapor is significantly more active.

It's not so much a misunderstanding, the post was called "Reality vs Reality" in acknowledgement of the two realities.

Reality 1 - The scope of this "Using Swift" forum is specifically Swift language only.
Reality 2 - The vast majority of developers "Using Swift" are doing so within the Apple ecosystem.

I'm just wondering how (or whether) this scenario is beneficial for Swift. For example, the traffic in the forum is running at 30 active topics a week. 5 of these are marked as off topic, although technically you could probably double that if those questions relating to non-apple packages like SwiftRealm and Cocoapods (etc) were also marked.

Is Swift ≠ Apple being over emphasised just to make a point?

I'm (also) just wondering whether we could not simply be happy that Apple's adoption of Swift means there is huge developer base available to bring back experience from the trenches back to the language and be more accepting of the obvious connection.

I'm new here, and not trying to ruffle feathers. More like just orienting myself.

Sorry about that, but you did well anyway ;-)

Is that seen as a bad thing?

I would have to let the Core team give the official answer, but, it has been the position that these forums are about Swift and the supporting language infrastructure. UIKit, SwiftUI, Combine, AppKit, how to design an iOS App, macOS App, watchOS app, MVC, and all the other concepts are covered by the Apple infrastructure, third-party resources, and such. In my mind, these types of questions are better answered elsewhere and detract from the Swift-based discussions. Having to teach about AppDelegates, ViewControllers, Views, what is MVC anyway, belongs in another forum.

My view boils down to: if the question is Apple-related and relevant to either Objective-C or Swift, then it should be asked and answered elsewhere.

I guess I'd feel the same way if the question was asked for any platform, and could be asked of any supported language (Qt and C++, C# and .Net)

2 Likes

I don't develop for Apple platforms and have been very pleased to see that questions not directly related to the Swift language are mostly redirected to Apple forums. I think this clearly communicates the purpose of this forum and that Swift is not meant to be just for Apple.

I see the same and it is unfortunate, but I think it will just take time. Allowing Apple platform specific questions on this forum will definitely not communicate the right message if we want to change this.

4 Likes

I think that's the message that was probably intended, but is that the message being communicated? In what way is it saying "not just for"

The actual message being communicated comes across as closer to:

"Using Swift with Apple Frameworks is not welcome here"

I guess that's the angle I'm struggling to rationalise. Why isn't "Using Swift" for "Using Swift in any way it can be (and is being) used".

Is there a danger of throwing away the baby with the bathwater?

2 Likes

Our interest in providing these forums is to serve the community. We host forums for a number of projects that probably otherwise wouldn't have forums at all. That's not true of Apple app development; there are many places you can ask questions about Apple app development where many knowledgable people hang out and are ready to answer those questions, including Stack Exchange and the Apple developer forums. Creating yet another forum for that would just distract people from those places and harm the community.

10 Likes

As someone who uses Swift for non-Apple related projects, and wants to see usage of the language grow in that regard, I am very happy for the current standard of moderation on this topic.

In my opinion this risk is massively overstated. People who are working on projects within the Apple ecosystem essentially have no choice but to use Swift, and I think it's unlikely that any meaningful number of people are being "chased away" from targeting the Apple platform because of how one of their posts has been tagged on this forum. In other words, Swift doesn't need any help to succeed in the Apple use-case.

On the other side, I think one of the biggest obstacles for Swift in reaching its full potential is the fact that it is so closely associated with the Apple ecosystem. There are of course other issues standing in the way of Swift achieving wide adoption in a variety of use-cases - for instance the quality of tooling on non-apple platforms - but in order for those issues to be addressed, it seems almost pre-requisite for there to be developer demand for working with Swift on more diverse use-cases, which requires Swift to have an identity outside iOS.

If this forum opens itself to Apple related content, it's hard to imagine that ever being the case. For instance if you look at the Swift subreddit, content related to iOS (and currently SwiftUI) dominates that forum, and I can understand how someone who visits there will get the impression that Swift is intrinsically linked to the Apple platform. Given the fact that you have cited that the vast majority of Swift code written today is related to that use-case, it's hard to imagine the same thing wouldn't happen here if this forum were open to that type of content.

Of course my stance on this topic is somewhat selfish: as someone who produces software professionally, and who enjoys working with Swift, I would very much like to be able to sell Swift as a viable language choice across a wider variety of projects. I believe that advancing this goal of making our Swift skillsets more valuable in the market is also something which will serve those would-be posters who get their posts flagged for asking a question about SwiftUI and Combine.

3 Likes

I wasn't suggesting that developers would be chased away from the Apple platform, just that those developers could not bring their Swift development discussions here, to the official Swift.org site, if that discussion combines the interaction of Swift with Apple's external frameworks.

That seems like a huge percentage of the Swift development community to be excluded from the discussion. Well, perhaps not excluded, that's probably the wrong word, but certainly restricted and perhaps hampered in terms of the scope of the discussion.

But at least now I understand this to be the intentional position of the site, based on the idea that those developers have other sites available to them. So I can move along now.

Yes, I have the same stance.

I think I just see the situation differently from some others. Specifically I don't see it as a zero sum game where for Swift to be taken seriously as platform agnostic it needs to pretend that it hasn't been wildly successful in the Apple ecosystem.

I don't really buy that. Rather, I think the fact it has had great success stories is something to be acknowledged and celebrated. For example Lyft reducing the size of their codebase by 2/3rds by adopting Swift (from Objective-C), and Kitura enabling 50% cost savings for cloud resource billings are exactly the kind of stories that will bring Swift to the attention of others and make wider adoption more likely, not less.