top | item 20645852

(no title)

FigBug | 6 years ago

I find Swift very bad for churn. Swift has had 5 versions in 5 years, with breaking api changes each time.

Every answer on Stackoverflow about Swift has several answers, one for each api version. Any time you grab some Swift code from the web or an older project, it's not going to work.

Avoiding the churn isn't an option since new Xcode versions drop support for old Swift versions. And only the two latest Xcodes will run on latest macOS. They even drop the support for the conversion tools. So if I go back to an old Swift project now, it won't compile in my Xcode, nor will my Xcode help convert the code to modern. My only option is to run an order version of Xcode in a VM to convert the code.

If I'm writing a library I want other people to use or share between projects, I'll still do it in Objective-C. Apps I do in Swift but I find it annoying.

I still have 15 year old non-ARC Objective C libraries. Why spend the time updating them when the are debugged and work fine?

Every time I have to do a Swift version update I introduce bugs.

discuss

order

hrktb|6 years ago

That’s part of my point.

Cutting yourself from new frameworks and hardware features just to cut churn would be a horrible tradeoff in most cases.

There are some niches where churn can be mostly avoided, but I think churn is usually a fact of life we could just embrace at a healthy pace.

From the opposite angle, a field with extremely low churn would seem suspicious to me. For instance I would expect any language with no significant update in the last 10 years to have abysmal unicode support.