M
Matt Massicotte
massicotte.org · Personal blog · on HN since 2022
Matt Massicotte, an Apple platform developer, writes about Swift concurrency, actors, and common problems with adopting them.
What HN saysHN links it for Swift concurrency guidance. The one comment calls Swift's concurrency model incomplete and a poor fit for typical iOS apps.
15HN people shared it
1linked it in comments
18stories submitted
31story points
5 months agolast shared
2022people per year2026
Most-shared posts
- 1Problematic Swift Concurrency Patterns3 people · 2 points · first shared 2024 · discussion on HN
- 2How to Read Bug Reports (2016)2 people · 5 points · first shared 2022 · discussion on HN
- 3Leverage1 people · 5 points · first shared 2025 · discussion on HN
- 4When should you use an actor?1 people · 3 points · first shared 2025 · discussion on HN
- 5Stateless Actors1 people · 2 points · first shared 2026 · discussion on HN
- 6(Some) Unanswered Swift Group Questions1 people · 2 points · first shared 2026 · discussion on HN
- 7New Concurrency Stuff with 6.11 people · 2 points · first shared 2025 · discussion on HN
- 8I Am Not a Calculator1 people · 2 points · first shared 2025 · discussion on HN
- 9Concurrency Step-by-Step: A Network Request1 people · 2 points · first shared 2024 · discussion on HN
- 10The Tiny Languages of Task Runners1 people · 1 points · first shared 2026 · discussion on HN
- 11A (Re-)Introduction to ExtensionKit1 people · 1 points · first shared 2025 · discussion on HN
- 12A Prank Ten Years in the Making1 people · 1 points · first shared 2025 · discussion on HN
- 13Non-Sendable First Design1 people · 1 points · first shared 2025 · discussion on HN
- 14Concurrency Step-by-Step: Conforming to Protocols1 people · 1 points · first shared 2025 · discussion on HN
- 15Versioned Package.swift Files1 people · 1 points · first shared 2026 · discussion on HN
What HN people wrote when they linked it
ardit33 · 2025-07-25
It is still incomplete and a mess. I don't think they thought through the actual main cases Swift is used for (ios apps), and built a hypothetical generic way which is failing on most clients. Hence lots of workarounds, and ways to get around it (The actor system). The isolated/nonisolated types are a bit contrived and causing real productivity loss, when the old way was really just 'everything ui in main thread, everything that takes time, use a dispatch queue, and call main when done'.
Swift is strating to look more like old java beans. (if you are old enough to remember this, most swift developers are too young). Doing some of the same mistakes.
Anways https://forums.swift.org/t/has-swifts-concurrency-model-gone-too-far/7… Common problems all devs face: https://www.massicotte.org/problematic-patterns
Anyways, they are trying to reinvent 'safe concurrency' while almost throwing the baby with the bathwater, and making swift even more complex and harder to get into.
There is ways to go. For simple apps, the new concurrency is easy to adopt. But for anything that is less than trivial, it becomes a lot of work, to the point that it might not make it worth it.