Hacker News new | ask | show | jobs
by newtritious 1354 days ago
Why is it insane? Do you not test your library with new versions of the OS?

Also - “windows does it” is obviously irrelevant when we are talking about a mobile OS.

2 comments

Testing with a new OS version shouldn’t (and usually doesn’t) require rebuilding the project. The need to rebuild is imposed primarily by the Xcode releases here, not by the OS. And that seems entirely unnecessary. Note that breaking compatibility and having to rebuild for new Xcode versions are two independent and orthogonal issues here.

I won't continue this discussion about maintaining compatibility. This is fundamentally a philosophical issue. I agree with the sibling comment that it is the job of an OS to provide stable APIs across versions. It requires some effort (as a long-term library maintainer, I'm very well aware of this), but it is not an impossibility at all.

The sibling and you are entitled to this preference, but I don’t see anything philosophical about it.

The job of the computer is to serve the end user. The job of the OS is to manage the computer’s resources on the users behalf.

API stability can contribute to that goal, but this is not an absolute.

Apple balances their view of what is good for users over what is good for developers and themselves.

Your preference is to prioritize developer comfort over both end users and Apple.

Being able to continue using an older not actively maintained app they still want to use is pretty good for the end user...
Maybe a tiny minority of end users, where the breaking changes benefit everyone else.
New features in the API indirectly benefit the end users (once apps start using them). But those new features don't have to be breaking, and that part doesn't help the users at all. It does help Apple spend less resources on maintenance, though.
Changes to old features also benefit the end users, and they do have to be breaking in a significant number of cases.

If you think there are no insecure or inefficient APIs in older versions of operating systems, then you are simply wrong.

The whole point of an OS is to provide a stable API to use.
This has never been true. The point of an OS is to manage the resources of the computer on behalf of the user.

API stability sometimes serves the end user, and sometimes does not. When it does not, it should not be maintained.

Being able to use the app you want to use serves the end user pretty well.
Yes, that’s the point here. A few end users can use an app the developer has abandoned, at the expense of the millions.