On Oct 26, 2016, at 11:54 AM, Haravikk via swift-evolution 
<[email protected]> wrote:
>> 
>> Bottom line, most developers know the ternary expression if they come from 
>> C, C++, Obj-C, Java, C# (The list goes on). Why does Swift need to be 
>> different for style reasons. We will be making a niche language, because 
>> what you learn isn’t portable to another language like it is if you learn 
>> Java, then get a job programming in C#.
> 
> While I agree on most of this, I think there is reasonable justification to 
> discuss this on the basis of it using the question-mark; Swift uses the 
> question mark extensively for handling of optionals, so there is an element 
> of confusion present there, it also uses the colon in a somewhat unfamiliar 
> way as well, so it's a twofold oddity in Swift.
> 
> That said, I'm not sure replacing it with a function is superior; this is 
> something you can do yourself easily enough if you feel you need to, and 
> which learners can likewise do if they don't know about, or don't like the 
> operator.
> 
> So the question really is whether there's an alternative that is similarly 
> concise, and on that I'm not so sure, so I'd lean towards leaving it as it 
> is, but advising people to be careful about where they use it, as its very 
> advantage in size can be a disadvantage in readability, so it should be used 
> with care at all times.

I’ll add a couple of more points:

1. This was extensively discussed in the Swift 3 release cycle, in multiple 
threads, and never went anywhere.
2. Changing this in Swift 4 is extremely unlikely even if there is a good 
answer, because - unlike in Swift 3 timeframe - any change that breaks source 
code needs extreme justification of why it is the right long term thing to do.  
I can’t fathom a rationale for this in the case of the ?: operator.  Merely 
being potentially confusing is not enough.

-Chris

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to