[swift-evolution] [swift-evolution-announce] [Review] SE-0018 Flexible Memberwise Initialization
austinzheng at gmail.com
Mon Jan 11 11:00:07 CST 2016
On Wed, Jan 6, 2016 at 10:13 AM, Chris Lattner <clattner at apple.com> wrote:
> * What is your evaluation of the proposal?
Reluctant -1. This is a well-written and well-considered proposal. However,
in the end my opinion is that the improvement it brings to the language is
not worth the significant increase in complexity it entails.
* Is the problem being addressed significant enough to warrant a change to
Boilerplate initializers are obnoxious to write but, as other commenters
have mentioned, writing them doesn't actually account for much of how a
programmer's time is spent writing code. The problem this proposal
addresses isn't one of expressiveness or correctness, it's one of
convenience. Features that increase convenience are great, but the
benefit-to-complexity they provide is not all that high.
* Does this proposal fit well with the feel and direction of Swift?
To be honest, I don't think so. The core team has articulated their desire
for Swift to be a small language that lends itself to building great
libraries. Adding significant special-purpose syntactic and semantic
complexity to the language in order to cut down on some boilerplate does
not really serve that goal. (Add to this the fact that initializers are
already complex enough as-is.) A cut-down version of this proposal could
satisfy the most common use cases for synthesized initializers, with
complex cases deferred to a point where we have a better tool for handling
them (like a macro system).
> * If you have you used other languages or libraries with a similar
> feature, how do you feel that this proposal compares to those?
> * How much effort did you put into your review? A glance, a quick reading,
> or an in-depth study?
I've read through both relevant discussion threads with varying levels of
attentiveness, as well as the proposal itself.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution