Most active commenters
  • talldayo(5)
  • easeout(4)
  • pjmlp(4)
  • bluepizza(3)
  • jayd16(3)
  • DidYaWipe(3)

←back to thread

612 points dayanruben | 43 comments | | HN request time: 0.001s | source | bottom
Show context
uhura ◴[] No.42901158[source]
I believe that this long game of Swift being "good for everything" but "better for Apple platforms" will be detrimental to the language. This does not help the language nor seems to bring more people to the ecosystem.

Competitors seems to have a combination of: - Being more open-source - Have more contributors - Have a narrower scope

Maybe they should consider open sourcing all the tooling (like Xcode) otherwise the gap will only grow over time when compared to other languages.

replies(10): >>42901489 #>>42901515 #>>42901558 #>>42902281 #>>42902484 #>>42903459 #>>42903586 #>>42903797 #>>42905687 #>>42906498 #
1. jitl ◴[] No.42903797[source]
I don't get this reaction.

Apple: here, we're open-sourcing this previously closed-source Apple-specific thing that made Swift better on Apple platforms. We're moving the Apple stuff into a plugin so Windows and Linux can be equal peers to Apple in the new system. We've implemented preliminary support for Windows & Linux and plan to continue work to bring them up to parity.

Hacker News: I believe that this long game of Swift being "good for everything" but "better for Apple platforms" will be detrimental to the language. This does not help the language nor seems to bring more people to the ecosystem.

Like, what more do you want from them? For them to only open-source Swift Build once they've fully implemented complete parity for Windows and Linux? In the years you'd be waiting for full parity, we'd still see this same kind of comment on every story about swift, asking when they're going to open source a production-level build system.

replies(5): >>42903995 #>>42904739 #>>42905069 #>>42906990 #>>42919105 #
2. gruuuk ◴[] No.42903995[source]
They should have been fully open source with full linux support and parity since day one.

That would actually help the language get traction. At this point it's a dying language.

replies(8): >>42904197 #>>42904446 #>>42904610 #>>42904627 #>>42905261 #>>42905319 #>>42905595 #>>42906769 #
3. tombert ◴[] No.42904197[source]
Is it dying? I think it's still pretty popular for app development isn't it?

I was pretty excited to hear that Ladybird is doing a lot of stuff in Swift, because I think it's a pretty decent and fast language and I think it'd be pretty neat to see a browser written in it.

replies(1): >>42907945 #
4. ChrisMarshallNY ◴[] No.42904446[source]
> At this point it's a dying language.

I disagree.

Source: Someone who has been programming Apple since 1986, and has heard last rites being administered to Apple, many times.

5. lawgimenez ◴[] No.42904610[source]
Come on now, iOS development is my livelihood.
6. napierzaza ◴[] No.42904627[source]
No one uses Apple platforms - sent from my iPhone
7. bluepizza ◴[] No.42904739[source]
I don't get this reaction.

Almost every language in the world: here's the spec, the tooling, and everything you need to use, master, and expand this language. Please use it.

Apple: sorry, Mac only.

Like, I want Apple to do the bare minimum that everyone else is doing.

replies(1): >>42905102 #
8. talldayo ◴[] No.42905069[source]
> Like, what more do you want from them?

You know what we want from them. If Apple wants to be accepted by the Open Source community, they can't reprise the Microsoft playbook with a smug "Think Different" twist. This is basically a beat-for-beat rerun of the C#/Dotnet situation with a different font and Corinthian leather.

The internet at-large is sick and tired of tending to Apple's scraps at their obscure whims. If you are a developer that isn't already implicated to use Swift for iOS development, you'd be wasting your time doing Cupertino's work bringing up their language for them. They do not care, and only want to exploit your time and productivity like they do with the App Store. Much like C#, this is a scenario where everyone but the main benefactor will be thrown under the bus.

replies(1): >>42905244 #
9. easeout ◴[] No.42905102[source]
Swift announced Linux support in 2015 when it went open source. Aspects of parity have taken years, and the Objective-C interop that isn't relevant outside Apple platforms but made adoption take off at all occupied a lot of early effort, but every Swift talk at FOSDEM today was about embedded or Linux server applications, or platform-agnostic C++ and Java interop. What can you possibly mean by "Mac only" or "bare minimum"?
replies(2): >>42905273 #>>42905601 #
10. MBCook ◴[] No.42905244[source]
Damned if you do, damned if you don’t. The perfect way to draw companies to embrace open source.
replies(1): >>42905500 #
11. fastball ◴[] No.42905261[source]
What language are you using to develop native apps for macOS and iOS and visionOS and watchOS, since Swift is dying?
replies(1): >>42905671 #
12. bluepizza ◴[] No.42905273{3}[source]
Core libs and foundation for starters?

https://www.swift.org/blog/future-of-foundation/

replies(1): >>42905394 #
13. paulddraper ◴[] No.42905319[source]
Lol, as long as it’s the preferred programming language for the most lucrative consumer devices ever, it cannot die.

Impossible to argue otherwise.

14. easeout ◴[] No.42905394{4}[source]
This, right?

https://github.com/swiftlang/swift-foundation

replies(2): >>42905540 #>>42905666 #
15. talldayo ◴[] No.42905500{3}[source]
They don't embrace Open Source, that's the problem. I don't even have to invoke the Halloween Documents to erode faith in FAANG as an Open Source steward, half this thread retched at the idea of using Swift out of principle.

Apple is welcome to head down the same road they're going if they think it's working out for Swift. Developers aren't going to magically warm to it any more than they trusted C# unless Apple makes some unprecedented change in their attitude towards Open Source. The world doesn't owe them shit.

replies(1): >>42906644 #
16. TheNightman ◴[] No.42905540{5}[source]
Yeah I jumped into swift on Linux a while back having mostly used it on apple platforms and I couldn’t even tell anything was different. A few years ago I would’ve had to struggle with SwiftNIO but not nowadays. URLSession, Codable, etc. all there on Linux (not sure about Combine but Combine is stupid in the Swift 6 world IMO. Swift concurrency is better in almost every way).

Swift on Linux (except NixOS) is actually very good nowadays. There’s even a libadwaita library that feels a LOT like writing SwiftUI.

Feels like a lot of folks were turned off early on, found something else, and never bothered to try again (which is fair).

replies(1): >>42907016 #
17. technol0gic ◴[] No.42905595[source]
trolling for reactions is trite and predictable
18. isodev ◴[] No.42905601{3}[source]
Side note, I think it was hilarious that Swift was allowed on FOSDEM. Even “free” (as in you probably don’t have to pay for a developer account to use it, *unless you want to ship some binary), Swift remains an Apple product.
replies(3): >>42907121 #>>42907302 #>>42908521 #
19. bluepizza ◴[] No.42905666{5}[source]
Which was not open source from the start?
replies(1): >>42906755 #
20. jayd16 ◴[] No.42905671{3}[source]
C#, Unity.
replies(2): >>42906313 #>>42906637 #
21. pjmlp ◴[] No.42906637{4}[source]
Which rely on a mix of Objective-C and Swift APIs to actually interact with the platform.
replies(1): >>42907184 #
22. pjmlp ◴[] No.42906644{4}[source]
Just like any other big corps, for every big corp you might think of, I can provide an anti-Open Source example from one of their business units.

Lets play this game?

replies(1): >>42919546 #
23. easeout ◴[] No.42906755{6}[source]
Foundation wasn't made to be part of the Swift project until recently. 25 years ago it was the "foundation" of Cocoa, the Mac OS X API derived from NEXTSTEP. It was an Apple platform thing explicitly—now it is remade in Swift and is part of the Swift project.
24. sgt ◴[] No.42906769[source]
There's a lot more buzz and activity around Swift than many other languages. It's literally up there with Rust, in terms of excitement (perhaps not quite as high). But I think if they get excitement outside of the Apple ecosystem, things should start to get super interesting.

Some are already adopting it like Ladybird browser.

replies(2): >>42907445 #>>42907916 #
25. DidYaWipe ◴[] No.42906990[source]
Amen. Just knee-jerk negativity with no specific objections.
26. DidYaWipe ◴[] No.42907016{6}[source]
I also have a dim view of Combine and Swift's shitty observation regime, but what does its concurrency have to do with it?
replies(1): >>42910117 #
27. DeusExMachina ◴[] No.42907121{4}[source]
You don't need an Apple developer account for Swift on server, Windows and Linux.

You need one only to ship apps on Apple platforms, but that's unrelated to Swift. It applies also to apps written in Objective-C, C/C++, and multi-platform language/frameworks like Dart/Flutter.

replies(1): >>42909729 #
28. jayd16 ◴[] No.42907184{5}[source]
What's your point? That's what Apple makes available. I'd use the C# API if that's how they provided it.

If not dominating the games on those plarforms, Unity and C# have a strong footing to say the least. Swift doesn't seem to be making very much headway on platforms where APIs are available in anything else.

Maybe that can chance. It seems like a neat language but "it's popular because apple forces you to use it" is more damning than reassuring.

replies(1): >>42907799 #
29. briandear ◴[] No.42907302{4}[source]
Is swift not open source?
30. dzikimarian ◴[] No.42907445{3}[source]
Sorry to be mood killer, but I think that might be your bubble. That's a first news about Swift I've seen in a long time and I don't see a reason to try it, given alternatives. Nowhere near Rust level of presence in discussion.
31. pjmlp ◴[] No.42907799{6}[source]
The point is that they are guest languages on Apple ecosystem and need Apple tooling and languages as means being available.

I may also add that I dislike Microsoft doesn't give to the .NET ecosystem the same care for games developers as Apple does for Swift and existing OS SDKs.

As far as DirectX team is concerned, only C++ exists, and .NET team lets third party folks do the needful.

Had it not been for MonoGame, Unity would never picked C# in first place, gone were the days of Managed DirectX and XNA, when the decision came to be as Unity did their cross-platform rewrite out of OS X.

replies(1): >>42910387 #
32. homebrewer ◴[] No.42907916{3}[source]
If we're trading anecdotes, I'll share mine as someone's who's completely outside of Apple ecosystem and is not interested in it in the slightest: I only ever hear about Swift on HN, nowhere else. Most of my colleagues, friends and acquaintances (who is in IT, but none of whom are Apple users) don't even know it exist, while everyone has at least heard about Rust. We all live in bubbles, admit it.
33. flohofwoe ◴[] No.42907945{3}[source]
It's essentially "Big in Japan" (eg on Apple platforms but nowhere else). Even on Apple platforms I winder if ObjC is actually still more popular ;)
replies(1): >>42908533 #
34. Longhanks ◴[] No.42908521{4}[source]
The Swift compiler, LLVM, Swift Standard Library, CoreDispatch, the Swift Package Manager and the Swift LLDB debugger are all FOSS and allow you to compile, debug, deploy, sell, buy and ship any binary you want under the terms of the Apache License 2.0.

Deployment of any software (unrelated to Swift) on Apple's platforms is entirely unrelated (and even then, at least on macOS you and any other user can install, sell, buy (...) any binary as desired).

35. Longhanks ◴[] No.42908533{4}[source]
Well if you wonder you should conduct some simple research, but be prepared to have your opinion challenged. Swift ist doing very fine and much more popular than ObjC (again, if you don't believe it, invest 5 minutes into research).
36. talldayo ◴[] No.42909729{5}[source]
I think the bigger insult towards the Open Source community is their refusal to publish Free Software on the App Store.
37. easeout ◴[] No.42910117{7}[source]
Swift Concurrency as a feature set includes async/await and async for, which solve a large part of Combine's same problem with better safety and less setup/teardown. These days Combine is still useful, specifically for multiple observers and several cases of adapting to older event publishing sources.
replies(1): >>42929338 #
38. jayd16 ◴[] No.42910387{7}[source]
The specifics of C# are fairly irrelevant. Point is that even if swift is forced, middleware can and will just plaster over that. Even if Metal is forced, tools can plaster over that.

Apple forcing an API is not enough to sustain a language's popularity.

replies(1): >>42910719 #
39. pjmlp ◴[] No.42910719{8}[source]
When the language is required for one of two mobile ecosystems, and second major desktop ecosystem, popularity is relative.

For decades C# was only relevant on Windows, outside Unity never got wide adoption among AAA studios after Unreal became free, and after their license debacle less so, Godot favors C++ and GDScript even with C# support it isn't what most folks reach for, and Microsoft keeps having an adoption (popularity) problem on UNIX culture oriented startups.

While just like Swift on Apple's ecosystem, C# is doing just fine on Microsoft culture environments.

Popularity is relative.

40. vi4m ◴[] No.42919105[source]
I'm a bit confused about the "don't trust Apple" sentiment here.

Swift has been working seamlessly with Linux and Visual Studio Code for years now. You might be surprised to learn this, just like this guy was https://www.youtube.com/watch?v=LTP5c4NqA8k&t=5484s

Swift is compatible with WASM and embedded systems. It has a well-defined concurrency standard, and as a compiler, it's been tested with massive codebases worldwide.

The community is incredibly supportive (Ted Kremenek's team is super active, attending community conferences and supporting the Server Side Workgroup). They also have an open swift-evolution process that mostly works.

Xcode not being open-sourced? Not a big deal. It's an older codebase optimized for different use cases. Their approach is to break Swift down into smaller, focused components (Package Manager, LSP server, a formatter, etc.)

JetBrains didn't open-source their IDEs either, and people don't complain about it. So, it's the same story, but it's better since you don't have any historical issues like "Oracle JVM" lurking around, causing trouble for the community.

replies(1): >>42921205 #
41. talldayo ◴[] No.42919546{5}[source]
Go ahead. Free Software has no obligation to satisfy the criteria of FAANG's business units, I'd actually find it quite funny to hear the litany of complaints you've compiled for a group of people that barely knows you exist.
42. talldayo ◴[] No.42921205[source]
> I'm a bit confused about the "don't trust Apple" sentiment here.

Let me help you out; replace "Apple" with "Microsoft" and it will make a lot of sense suddenly.

The Open Source community has heard all this before. We've seen Sun Microsystems "generously" publish their Java spec to the public, we've seen Microsoft "give" their community C#. In the end, it's always more trouble than it's worth to cooperate with these language stewards and someone (either the business or community) ends up getting burned. I don't think many developers look at Swift with optimism that it won't end in the same Dotnet/Mono nightmare we've seen in the past.

You can lead a horse to water, but you can't make them drink. Apple has invested heavily in a language that, like C#, has a bunch of incredible features. Unfortunately they have yet to invest in the developer relations requisite for making such a language popular. Lord only knows that I'm not wasting my time to do Apple's work for them just to get a cross-platform app to compile with upstream LLVM and Clang. I could use any other language - nobody is going to commit to an ecosystem that treats them as a second-class citizen.

43. DidYaWipe ◴[] No.42929338{8}[source]
Combine is for setting up observers to changes, whereas Concurrency is for async operations. I don't see the relationship.