Sent from my iPhone

> On 27 Jan 2017, at 07:04, Goffredo Marocchi <pana...@gmail.com> wrote:
> 
> In a way some people moved to a new language with few years of life under its 
> belt and should kind of expect the language not offering the stability and 
> maturity something tested and developed over many years like Objective-C 
> provides.
> 
> As mean as that may sound (not trying to be), are the needs of the language 
> and medium term users listened to because of people moving critical 
> production code before it was time?
> 
> Sent from my iPhone
> 
>> On 27 Jan 2017, at 03:48, Dave Abrahams via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> 
>> on Thu Jan 26 2017, Matthew Johnson <swift-evolution@swift.org> wrote:
>> 
>>>> On Jan 26, 2017, at 3:10 PM, Dave Abrahams via swift-evolution 
>>>> <swift-evolution@swift.org> wrote:
>>>> 
>>>> 
>>>> on Thu Jan 26 2017, David Hart <swift-evolution@swift.org> wrote:
>>>> 
>>> 
>>>>> Thanks Michael for the manifesto. It definitely made quite a few things 
>>>>> clearer for me.
>>>>> 
>>>>> Concerning the topic of when ABI stability should happen, I still have
>>>>> a strong feelings that Swift 4 might not be the best time for
>>>>> it. Concerning Data Layout, Type Metadata, Mangling, the Calling
>>>>> Convention and the Runtime, I don’t know enough about them to
>>>>> comment. I’m really centring my discussion on the Standard Library.
>>>>> 
>>>>> If we look back at the evolution of the Standard Library for Swift 3,
>>>>> they were many changes. And I’m personally very happy with the
>>>>> thoughtful design that went into those. But they are still a few
>>>>> gotchas, which is to be expected when so many changes are made at
>>>>> once. But we only discover them once the thousands of Swift developers
>>>>> start using those APIs.
>>>>> 
>>>>> I just worry that all the big changes that will come for Swift 4 won’t
>>>>> have time to mature. Furthermore, it seems like several extra compiler
>>>>> features which won’t happen in Swift 4 are really necessary to
>>>>> simplify the Standard Library surface area. I’m specifically thinking
>>>>> of type constraints on Existentials which would allow us to get rid of
>>>>> all the Any* structs and replace them with typedefs. But I’m sure
>>>>> there are more examples like those which are just waiting for the
>>>>> generics to become powerful enough to express APIs more elegantly.
>>>>> 
>>>>> Perhaps someone from the Standard Library team can chime in to give us
>>>>> their opinion on this topic.
>>>> 
>>>> I have had exactly the same worry for quite some time.  We're still
>>>> waiting for many basic components of the generics system, and, if our
>>>> experience with protocol extensions is any guide, before we have those
>>>> features in hand, it will be impossible to anticipate the design changes
>>>> we'd want to make to the standard library... and that cuts against the
>>>> grain of *source* (to say nothing of ABI) stability.
>>>> 
>>>> So far I've been unable to form a mental model for what source and/or
>>>> ABI stability actually means for our ability to make changes to the
>>>> standard library in the future.  It's possible that we discover a
>>>> workable path forward, but it's equally possible that we find ourselves
>>>> painted into a corner.
>>> 
>>> I hope we can all agree that the last thing we want to do is get
>>> painted into a corner.  IMO we should be very sure that won’t happen
>>> before making a firm commitment to lock down ABI stability.
>> 
>> Unfortunately, even source stability (which is generally a weaker
>> constraint than ABI stability) can have the corner-painting effect, and
>> you really have to weigh that downside off against the cost of breaking
>> people's code when they upgrade their Swift version.  IIUC that has been
>> a major pain point for many people.
>> 
>> -- 
>> -Dave
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to