<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Thanks for your suggestion! <div><br></div><div>But you're talking about the guidelines for Swift API Design while I'm proposing a keyword change in the language itself. I think they are not the same subjects.<div><br></div><div>The language itself uses many abbreviations as its keywords. If you search for 'var' on web, for example, you won't easily find it stands for 'variable'. Does it mean it violates the guidelines?</div><div><br></div><div><br></div><div><br><div><hr id="stopSpelling">From: sethfri@gmail.com<br>Date: Thu, 10 Dec 2015 18:58:45 -0800<br>Subject: Re: [swift-evolution] Proposal for Replacing Keyword "subscript" with "subs"<br>To: feijian_sun@hotmail.com; jackl@apple.com<br>CC: swift-evolution@swift.org<br><br><div dir="ltr">I encourage you to read the <a href="https://swift.org/documentation/api-design-guidelines.html" target="_blank">Swift API Design Guidelines</a>, as there are a couple of things there that discourage what you are suggesting:<div><ul><li>"<strong>Clarity is more important than brevity</strong>. Although Swift code can be compact, it is a <em>non-goal</em> to enable the smallest possible code with the fewest characters. Brevity in Swift code, where it occurs, is a side-effect of the strong type system and features that naturally reduce boilerplate."</li><li style="padding:0px;"><p style="padding:0px;"><strong style="">Avoid abbreviations</strong>. Abbreviations, especially non-standard ones, are effectively terms-of-art, because understanding depends on correctly translating them into their non-abbreviated forms.</p><blockquote style="padding:0px 0px 0px 2em;border-left-width:3px;border-left-color:rgb(243,243,243);border-left-style:solid;color:rgb(51,51,51);"><p style="padding:0px;">The intended meaning for any abbreviation you use should be easily found by a web search.</p></blockquote></li></ul><div>Thanks,</div><div>Seth</div><div><br><div class="ecxgmail_quote"><div dir="ltr">On Thu, Dec 10, 2015 at 6:52 PM Feijian Sun via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br></div><blockquote class="ecxgmail_quote" style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;">
<div><div dir="ltr">Thank you for responding so late!<div><br></div><div>I agree with you that "subs" is not very obvious for subscript. While learning swift, I have a feeling that it contains so many long words as the keywords, such as</div><div><br></div><div>fallthrough, dynamicType, associativity, convenience, nonmutating, precedence, etc..</div><div><br></div><div>I understand there is a need for clarity. But I think it's also important to keep a concise and simple naming style where it's possible.</div><div><br></div><div>Thanks again.</div><div><br><div><hr>Subject: Re: [swift-evolution] Proposal for Replacing Keyword "subscript" with "subs"<br>From: <a href="mailto:jackl@apple.com" target="_blank">jackl@apple.com</a><br>Date: Thu, 10 Dec 2015 18:22:55 -0800<br>CC: <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>To: <a href="mailto:feijian_sun@hotmail.com" target="_blank">feijian_sun@hotmail.com</a></div></div></div></div><div><div dir="ltr"><div><div><br><br>It’s non-obvious to me that “subs” is short for subscript, whereas “init” and “func” have only one obvious expansion.<div><br></div><div>Jack <br><div><blockquote><div>On Dec 10, 2015, at 6:12 PM, Feijian Sun via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:</div><br><div><div dir="ltr" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"><div dir="ltr"><span style="color:rgb(68,68,68);font-size:15px;line-height:21.3px;background-color:rgb(255,255,255);">Hello, </span><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">I have a proposal to replace the long keyword "subscript" with the shorter version, "subs". The idea is to keep the concise naming style on the language keywords, like "init" and "func".</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">So, Instead of:</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">subscript(index: Int) -> Int {</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"> ... ...</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">}</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">we could simply do:</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">subs(index: Int) -> Int{</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><div style="line-height:21.3px;"> ... ...</div><div style="line-height:21.3px;">}</div></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">Does this mean a big change on the parser side? what do you think?</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);"><br style="line-height:21.3px;"></div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">Thank you!</div><div dir="ltr"></div></div></div><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=fPHCHxM8OEqkFI0LoY8YMuXDKRTx6ILsXcJMmyHEOCKoTIfmBG-2BB29EKJ66isdwzGloc7ZFX7-2BF4OLFKGhYR452GcWvMK0zfSjEY7yDYXwTU-2BqOF3eg0yWlwBqzUBGHwi6g1BOj7opXk2sLJPbrnwlBuFcyEcyjSnpyPqmtTNTT3mulfq22DLIXezmou8RS-2Fu8xZDmt9bQjdElFmd01-2F3yStFIKMb-2FJgynEvhIuAqv0-3D" alt="" width="1" height="1" border="0" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;min-height:1px !important;width:1px !important;border-width:0px !important;padding:0px !important;"><span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;"><span> </span>_______________________________________________</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant: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:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">swift-evolution mailing list</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"><a href="mailto:swift-evolution@swift.org" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;" target="_blank">swift-evolution@swift.org</a><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div></blockquote></div><br></div></div></div></div></div><div><div dir="ltr"><div><div></div></div>                                            </div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=Ply6uBspjl13OmIYIyGVsx1PNWVM6Ks10N2aYOZ94k6oQjgn9dAxzli7ONoBmWCrg7DazqackxXQcsxkc4ILlM8bVOEsSqhNIyYA2VDDJnRJXVFTM9aiwsaHSvaO-2Fmi3RnB0pJv9TXuz0nnNV7W6sPnLwekrEBOymZ-2F3TWljS5gURIlcQUOxFaHbvtZa3RczzTGonhyxxtG9ewSjUQjl7pA-2FgsCBvQTreIjOk6sEeGI-3D" alt="" width="1" height="1" border="0" style="min-height:1px !important;width:1px !important;border-width:0px !important;padding:0px !important;">
</div>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div></div></div></div></div></div></div>                                            </div></body>
</html>