What’s new in Swift 6.2

Concurrency and Main Actor

  • Several commenters advocate defaulting most code to the main actor / single thread to reduce debugging complexity, especially for UI-heavy apps.
  • Others argue Apple is “solving a problem that doesn’t exist,” saying they rarely hit concurrency bugs in pre-Swift-6 code.
  • Swift’s actor model and new concurrency features are seen by some as over-academic and ill-suited to existing ecosystems; others say Swift 6.2’s changes make actor isolation more practical and reduce migration pain.

Swift Outside the Apple Ecosystem

  • Strong disagreement over whether Swift is “Apple-only.”
    • Examples cited: server frameworks (e.g., Vapor), Linux/C++ replacement use, embedded Linux products.
    • Critics say ecosystem, docs, and evolution are still Apple-centric, and server frameworks are destabilized by concurrency changes.
  • Advantages mentioned: performance close to C++/Rust, much easier than Rust, familiar to large iOS dev pool, decent server ergonomics if you’re already in Swift.

Memory Management: ARC vs “GC”

  • Debate over whether Swift’s ARC makes it a “garbage collected” language:
    • One side: runtime reference counting is a form of GC and can hurt throughput.
    • Other side: ARC is deterministic and opt‑in via classes, closer to shared_ptr than a tracing GC.
  • Consensus: Swift is not suitable where no runtime memory management is desired.

Free-Form Identifiers and HTTP Status Example

  • Swift 6.2’s raw identifiers (e.g., backticked names with spaces or numeric-like cases) polarize people:
    • Supporters: great for test names, DSLs, FFI, avoiding keyword clashes.
    • Critics: bad language-level solution for readability; HTTPStatus.404 seen as a poor, bug-prone example compared to semantic names.

Complexity, Governance, and Comparisons

  • Many worry Swift is “collapsing under complexity,” with too many special cases, features, and concurrency corner cases; comparisons made to C++ and Rust.
  • Others counter that some features (global-actor conformances, method key paths) actually reduce friction and improve consistency, and can mostly be ignored by typical apps.
  • Governance is criticized as too permissive (“shoveling stuff in”), though some defend the open evolution process.

SwiftUI, Tooling, and Xcode

  • Opinions on SwiftUI range from “wreck, still need UIKit for advanced UI” to “mature and great for animation-heavy apps, with UIKit bridges where needed.”
  • Complaints about slow, fragile compiles and Xcode dependence; some hope for swift-build to eventually free app builds from Xcode.
  • Non-Xcode workflows today require a lot of manual app-bundling and signing steps.