ObjC is so hard to read!!! Meanwhile…
Nope, no issues here.
I'm stuck in Swift land for at least the next week, so expect a lot of moaning and groaning. There's for sure some parts that I like about it, if they had a version with maybe 1/4 of the features (i.e. needless complexity) I might actually say I'd enjoy using it.
Oh and bring back F*****' header files you crazy bastards!
@paul … but that was the worst part 🫣
@paul Oh gods no! 😱
@paul Hmm, I'd like to see dynamic, read only header files that are automatically generated from the main file so I can use them to skim the interfaces and generate errors when my code makes no sense
Yesterday's Swift week highlight was spending at least an hour trying to find the right annotations to tell the compiler/concurrency stuff what a couple methods do threading wise. Turns out I had the right combo from the get go but it’s broken in both Xcode 26.2/4 and fixed in the .5 beta. Couldn't tell in older Xcodes because Apple blocks old Xcodes from running in current OSes for "reasons”.
Swift's concurrency approach is emblematic of its complete lack of pragmatism. Runtime sees hey I think this code is running in the wrong thread (or context if you must) what do I do? Warn and ignore, because it's probably OK 99% of the time, nope. Warn and correct, because you have enough info to infer what is probably needed, nope. How about crash 100% of the time, yep, that's the one.
@paul There are domains where you probably want that (kernel stuff, secure code) and domains where leniency would be better. But Swift is everywhere.
@stevex 100% and even times where you want it (debugging) and times when you don't (AppStore).
@paul wait Ivory is Obj-C?
@paul Out of curiosity, how much if this is Swift's fault and how much the libraries?
@paul I've stayed on Swift 5 and been happy. The day I'm forced onto Swift 6 I'm sure I'll complain.

@paul « a version with maybe 1/4 of the features (i.e. needless complexity) »

That'd be Dart (what is used for Flutter).