[swift-evolution] named parameters - why hidden first?/proposal interest

Dave Abrahams dabrahams at apple.com
Sat Jan 23 14:57:10 CST 2016


on Sat Jan 23 2016, Tino Heth <swift-evolution at swift.org> wrote:

>> We believe fairly strongly that Swift’s design here reflects the
>> appropriate defaults for clear, expressive APIs and code. The API
>> Design Guidelines line up with the default behavior of Swift for a
>> reason. Repeating the “Objective-C legacy” trope strongly implies
>> that you’re not considering the rationale behind Swift’s design, and
>> weakens your arguments considerably.
>
> I'm not saying the influence of Objective-C is bad (therefore, I used
> the quotation marks), but imho it's pointless to deny that it exists.

Nobody's denying that it was a consideration.  When I say, “these
defaults work well for the standard library,” I think it's relevant
because I don't have a Cocoa/ObjC background and the standard library
was designed, for the most part—and to the horror of some—without trying
to emulate Cocoa/ObjC conventions.

I initially thought, the same as you, that we wouldn't be doing it this
way if it weren't for legacy considerations, but what I found was that
my APIs generally fell in line naturally with the defaults.  And when
they didn't, looking for a way to take advantage of the defaults often
led to a better API
(c.f. http://news.gmane.org/find-root.php?message_id=m2h9i4hww3.fsf%40eno.apple.com).

-- 
-Dave



More information about the swift-evolution mailing list