As you will see from earlier messages, the confused user is both quite real and *is* on this list. Nor, mind you, are pedagogical concerns to be trivialized; they are serious concerns for the design of the language. On what grounds do you assert that something is "not confusing at all" when there has been testimony saying "it was confusing to me"?<br><br>Some of us on this list interact regularly with novice coders. I draw upon these experiences here. Do you have some special insight you'd like to share in that regard?<br><div class="gmail_quote"><div dir="ltr">On Tue, Jun 14, 2016 at 20:57 Jon Akhtar <<a href="mailto:jona@herbalife.com">jona@herbalife.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>How about the goal of it being a delightful language to program in. I think that is getting lost in proposals like these. Optimizing for some mythical new user, who really isn’t present on this list to give an opinion seems like a false argument to make,
and your technical sophistication makes you a less qualified than most to say what is and what isn’t confusing to new users because you haven’t been one in a long time.</div>
<div><br>
</div>
<div>-1 Leve it in. It is perfectly simple as is. Not confusing at all. There are far more confusing aspects to the language than this.</div>
<div><br>
</div>
<div>Cheers</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt">
<span style="font-weight:bold">From: </span><<a href="mailto:swift-evolution-bounces@swift.org" target="_blank">swift-evolution-bounces@swift.org</a>> on behalf of Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>><br>
<span style="font-weight:bold">Reply-To: </span>Xiaodi Wu <<a href="mailto:xiaodi.wu@gmail.com" target="_blank">xiaodi.wu@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, June 14, 2016 at 13:50<br>
<span style="font-weight:bold">To: </span>"L. Mihalkovic" <<a href="mailto:laurent.mihalkovic@gmail.com" target="_blank">laurent.mihalkovic@gmail.com</a>>, David Waite <<a href="mailto:david@alkaline-solutions.com" target="_blank">david@alkaline-solutions.com</a>><br>
<span style="font-weight:bold">Cc: </span>swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [swift-evolution] [Pitch] Retiring `where` from for-in loops<br>
</div></span></div><div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><span>
<div><br>
</div>
<div>
<div>Why are you unhappy about this design goal? Simple != simplistic, and powerful != complicated. Approachability has to do with the slope of the learning curve, not how high the curve goes.<br>
<br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Jun 14, 2016 at 14:18 L. Mihalkovic <<a href="mailto:laurent.mihalkovic@gmail.com" target="_blank">laurent.mihalkovic@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">
<div><br>
<br>
<div>Regards</div>
(From<span> mobile)</span></div>
</div>
<div dir="auto">
<div><br>
On Jun 14, 2016, at 7:16 PM, David Waite via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>I’m a bit late to this conversation, and I don’t totally understand the goal.
<div><br>
</div>
<div>There are a *lot* of things you can do in for…in loop with pattern matching that also would supposedly go against this interpretation of approachability. Pattern matching in general might be considered to go against this interpretation.</div>
<div><br>
</div>
<div>Is this pitch saying statements such as:</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"></span>for i in 1..<100 where i%2 == 1 {…} </div>
<div><br>
</div>
<div>should be disallowed, while statements like</div>
<div><br>
</div>
<div><span style="white-space:pre-wrap"></span>for case let view? in views { … }</div>
<div><br>
</div>
<div>are still approachable enough to warrant being supported in the language?</div>
<div><br>
</div>
<div>
<div>FWIW, I wouldn’t support removing where based on current arguments without either the keyword “where" being eliminated completely from the language, and/or adding equivalent intuitive functionality to Sequence with same-class performance, e.g. a .where(...)
equivalent to .lazy.filter(…). </div>
<div><br>
</div>
<div>I’ve known about and used the feature since it was first added to Swift (learned via the language book), and don’t fully understand the confusion that some developers may have - especially since ‘while’ is already a keyword and could have been used if
that was the actual semantics.</div>
</div>
<div><br>
</div>
<div>-DW</div>
<div><br>
</div>
<div>
<div>
<div>
<blockquote type="cite">
<div>On Jun 14, 2016, at 10:32 AM, Xiaodi Wu via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:</div>
<br>
<div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">And from the WWDC
Platforms SOTU: "Swift is super simple and approachable.... It's great as a first language. And in fact, we think this is so important that when we designed Swift this was an explicit design goal."</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</div>
<div dir="auto">
<div>Yup... Doesn't bode well for power users... "Swift.. Address your needs from 7 till 77... unifies the entire family"</div>
</div>
<div dir="auto"><br>
<blockquote type="cite">
<div>
<div>
<div>
<div>
<blockquote type="cite">
<div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I would be absolutely
against adding any more sugar to the for loop. In that sense, `where` sets a terrible example that certain features of sequences deserve contextual sugar. (And before someone points it out again, I've already argued why `for...in` holds its own weight, namely
difficulty of writing a correct `while` replacement and progressive disclosure to the learner so that the concept of iterators can be learned afterwards.)</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">In short, I would very
much be opposed to adding keywords "for fun."</span></div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<div dir="auto">
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>swift-evolution mailing list</span><br>
<span><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a></span><br>
<span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</span></div></blockquote></div>