<div dir="ltr">On Sat, Oct 29, 2016 at 2:02 AM, Jonathan Hull <span dir="ltr">&lt;<a href="mailto:jhull@gbis.com" target="_blank">jhull@gbis.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class=""><br><div><blockquote type="cite"><div>On Oct 28, 2016, at 7:22 PM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="m_-1406360231168439875Apple-interchange-newline"><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps: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">A person should not need to buy a special keyboard or device, or know how to work the option/alt key, in order to write the less-than-or-equal-to operator.</span></div></blockquote></div><br></span><div>But my main point is that the symbols painted on the physical keyboard are no longer our only (or even best) method of discovery.  If ≤ comes up in the auto-complete when you write &lt; or &lt;=, then it solves the discovery issue. We can even use this to teach the option/alt key method (this is the what the Mac does to teach command keys associated with menu items).</div></div></blockquote><div><br></div><div>I agree with the first part of that, but IMO the second part misses the point.</div><div><br></div><div>Sure, we should absolutely have better ways of discovering characters we do not often use. I believe we should have this both at the OS level and, in the case of writing code in languages that are Unicode-aware, at the IDE level and baked into the language itself. I have no beef with that.</div><div><br></div><div>However, *my* main point is that the Swift&#39;s standard library APIs (and the keywords and syntax at the core of the language) should use a character set that *requires no discovery whatsoever* for the vast majority of users. It is difficult enough to master a programming language, more difficult still to master one&#39;s first programming language (and--per the core team--Swift aims to be a great first programming language to learn); it is _bonkers_ to pile onto that the need to &quot;discover&quot; (however smoothly that goes) how to physically input the characters required to invoke some method.</div><div><br></div><div>Again, for your own libraries and APIs, go wild. Make a library that allows people to write equations using the correct mathematical symbols. That&#39;d be awesome. *Of course* it makes sense then for people to need to learn these symbols, and of course we could improve the OS and IDE and Swift itself to make the experience of using that library better. But that shouldn&#39;t be the _standard_ library.</div><div><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"><div>Your point about the search-ability of symbols is an important one, but that can also be solved with appropriate UI for discovery of the associated (searchable) keywords.</div><div><br></div><div>Swift is a language being designed for the next 20-30 years, we shouldn’t be limiting ourselves based on technology that is already being replaced (as you mentioned many of the devices people use everyday already have a soft keyboard… and Ive said the TouchBar was just the beginning of a new direction).  We need to aim for where the puck is going to be…</div><div><br></div><div>Thanks,</div><div>Jon</div></div></blockquote></div><br></div></div>