<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'>Sorry, but I still think that a language itself and the API created with the language are two different things. A language can use any abbreviations as its keywords as long as they are defined clearly. But the names used for API are created by developers and should follow some common guidelines.<div><br></div><div>Just my own opinions. But good talk.<div><br></div><div>Thanks.<br><br><div><hr id="stopSpelling">From: sethfri@gmail.com<br>Date: Thu, 10 Dec 2015 19:25:25 -0800<br>Subject: Re: [swift-evolution] Proposal for Replacing Keyword "subscript" with "subs"<br>To: feijian_sun@hotmail.com<br>CC: jackl@apple.com; swift-evolution@swift.org<br><br><div dir="ltr">I disagree that API for libraries and API for the language are different subjects, otherwise that would make one feel rather unnatural when compared to the other.<div><br></div><div>As for your specific example, a quick Google search for "var programming" or "var computer science" will quickly tell you what the word means. A search for "var" by itself does not, same with "func", but I don't think we should be so pedantic that we insist on single word web searches.</div><div><br></div><div>Thanks,</div><div>Seth<br><div><br><div class="ecxgmail_quote"><div dir="ltr">On Thu, Dec 10, 2015 at 7:09 PM Feijian Sun &lt;<a href="mailto:feijian_sun@hotmail.com" target="_blank">feijian_sun@hotmail.com</a>&gt; wrote:<br></div><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;">


<div><div dir="ltr">Thanks for your suggestion!&nbsp;<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>From: <a href="mailto:sethfri@gmail.com" target="_blank">sethfri@gmail.com</a><br>Date: Thu, 10 Dec 2015 18:58:45 -0800</div></div></div></div></div><div><div dir="ltr"><div><div><div><br>Subject: Re: [swift-evolution] Proposal for Replacing Keyword "subscript" with "subs"<br></div></div></div></div></div><div><div dir="ltr"><div><div><div>To: <a href="mailto:feijian_sun@hotmail.com" target="_blank">feijian_sun@hotmail.com</a>; <a href="mailto:jackl@apple.com" target="_blank">jackl@apple.com</a><br>CC: <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a></div></div></div></div></div><div><div dir="ltr"><div><div><div><br><br><div dir="ltr">I encourage you to read the&nbsp;<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&nbsp;<em>non-goal</em>&nbsp;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>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><div dir="ltr">On Thu, Dec 10, 2015 at 6:52 PM Feijian Sun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote 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&nbsp;<br><div><blockquote><div>On Dec 10, 2015, at 6:12 PM, Feijian Sun via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; 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,&nbsp;</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) -&gt; Int {</div><div style="line-height:21.3px;color:rgb(68,68,68);font-size:15px;background-color:rgb(255,255,255);">&nbsp; &nbsp; &nbsp; &nbsp; ... ...</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) -&gt; 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;">&nbsp; &nbsp; &nbsp; &nbsp; ... ...</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>&nbsp;</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></div></blockquote></div></div></div></div></div></div></div>                                               </div></body>
</html>