I’m going to register a -1 on this proposal. I appreciate the work that went into it, but I just don’t think any advantages for the developer community as a whole weight enough to warrant the change.
> On Jun 23, 2016, at 4:41 AM, Jeremy Pereira via swift-evolution > <swift-evolution@swift.org> wrote: > > >> On 22 Jun 2016, at 17:27, Brandon Knope <bkn...@me.com> wrote: >> >> Of course \ is not needed a lot but when it is, *it is inconvenient for >> *some* people*. I am not making this up. You can cite several other users >> from this very thread. > > That’s the point. Convenient key stroke sequences should be used for things > you need a lot before things you don’t use a lot. > >> >> I tried showing that it is quite distant on the keyboard from where the >> user’s hands rest. I tried showing that there are other keys at their finger >> tips where their hand is usually resting. >> >> 1. Do I know every international keyboard layout? No. >> 2. Are we pretending that \ was picked because it was easier for >> international users? If I am wrong, I would love to hear more…else let’s not >> pretend that \ was the optimal key for all. > > No, it was picked because it is the escape character for strings. The escape > character(s) for strings need to be few in number (one is ideal IMO) and > characters that you aren’t likely to need to type in a string as literals. $ > is a particularly bad choice due to its popularity as a currency symbol. Changing this would add more syntax, make layers in usage where one character now exist, and does so without offering a large material advantage, imho. > >> >> Like I have said repeatedly…I don’t care if \ is removed. At this point we >> are wasting other people’s time. I have just tried to be a voice for those >> that find it awkward and inconvenient. > > I would challenge the claim that on a US keyboard or a British keyboard, the > \ key is inconvenient to type. In both cases, you don’t even have to press > the shift key. If you are a touch typist (I’m not), it’s a slight stretch for > the right hand, but no more so than the return key or backspace (I use > backspace *a lot*). Compared to typing Obj-C' [], which was when was tired “=“ “delete” or “]” “\”, Swift in general, including \(), is a breeze. > > However, I do find the \( *combination* a little awkward but this is because > of the way I normally type the (, but I would find having to type \$ every > time I wanted a dollar sign intensely annoying because it is so unnecessary. > > >> I tried not to base this just on opinion but on some *evidence*, but >> apparently that isn’t sufficient enough for some. > > And I was just trying to point out that the evidence you presented does not > show what you think it does. If you present evidence, I’m allowed to dispute > it aren’t I? > >> >> Brandon >> >> >>> On Jun 22, 2016, at 12:20 PM, Jeremy Pereira >>> <jeremy.j.pere...@googlemail.com> wrote: >>> >>> >>>> On 22 Jun 2016, at 17:02, Brandon Knope <bkn...@me.com> wrote: >>>> >>>> No it shows where your hand frequently is also >>> >>> And you don’t think there is a correlation between where the frequently >>> pressed keys are and where your hands are? If you were needing to press the >>> \ key a lot, there would be a hotspot over it. Then you could say “look, I >>> need to press this key a lot and it’s miles away from the other hotspot”. >>> >>>> >>>> Brandon >>>> >>>>> On Jun 22, 2016, at 12:01 PM, Jeremy Pereira >>>>> <jeremy.j.pere...@googlemail.com> wrote: >>>>> >>>>> >>>>>> On 22 Jun 2016, at 16:41, Brandon Knope <bkn...@me.com> wrote: >>>>>> >>>>>> My point was not to argue for the removal of \. My point was that there >>>>>> is a measurable way to test the usability of such a key >>>>> >>>>> >>>>> Your heat map doesn’t test the usability of a key, it tests the frequency >>>>> with which it was pressed. The fact that there was no coloured blob on >>>>> the backslash key just means you don’t use it very often. >>>>> >>>>> >>>>>> >>>>>> Brandon >>>>>> >>>>>>> On Jun 22, 2016, at 11:30 AM, Jeremy Pereira >>>>>>> <jeremy.j.pere...@googlemail.com> wrote: >>>>>>> >>>>>>> I find it somewhat disturbing that we are now trying to base language >>>>>>> design around the layout of a US English keyboard. >>>>>>> >>>>>>> “\” on my keyboard (British Macbook Pro Retina) is right next to the >>>>>>> return key. It’s also much closer to the parentheses characters than $ >>>>>>> is and (if you assume we are going to replace parentheses with braces >>>>>>> as was suggested upthread) right next to the brace keys. >>>>>>> >>>>>>> Anyway, your heat map evidence actually negates the argument. If it was >>>>>>> a frequently used key, it would have a hot spot of its own. It’s not (I >>>>>>> tried it on some random samples of my own code), so that implies it is >>>>>>> not a key that is used very often, which further implies it *should* be >>>>>>> a little out of the way. >>>>>>> >>>>>>> *The* escape character for strings is “\”. Please let’s not introduce a >>>>>>> second one. >>>>>>> >>>>>>> >>>>>>>> On 22 Jun 2016, at 00:08, Brandon Knope via swift-evolution >>>>>>>> <swift-evolution@swift.org> wrote: >>>>>>>> >>>>>>>> Actually… we can go pretty scientific on this sort of thing and heat >>>>>>>> map keyboard usage to get a better picture of how “usable” this is. >>>>>>>> >>>>>>>> I pasted a file that contains seven \’s in it and heat mapped it at >>>>>>>> https://www.patrick-wied.at/projects/heatmap-keyboard/ >>>>>>>> >>>>>>>> Even *with* several \’s throughout my source file the majority of my >>>>>>>> key presses take place much closer to the $ key than the \ key. >>>>>>>> >>>>>>>> I think we can all argue about what is clearer or not, but I think for >>>>>>>> the majority of us, the \ key is quite inconvenient compared to the >>>>>>>> keys around where we type the most. >>>>>>>> >>>>>>>> I also ran several of iOS 10’s sample code through the heat map and >>>>>>>> continue to get pretty similar results: the \ is much further from the >>>>>>>> hottest part of the keyboard than the ones closer to where your hand >>>>>>>> usually rests. >>>>>>>> >>>>>>>> Maybe this is flawed, but I think it is hard to argue that the \ is >>>>>>>> easy to type when there are far more usable alternatives. >>>>>>>> >>>>>>>> Brandon >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> On Jun 21, 2016, at 6:10 PM, Daniel Resnick via swift-evolution >>>>>>>>> <swift-evolution@swift.org> wrote: >>>>>>>>> >>>>>>>>> I also disagree for the same reasons that Gwynne and Brent mentioned: >>>>>>>>> I find '\(...)' easy to read, fine to type, and consistent with other >>>>>>>>> string escaping syntax. >>>>>>>>> >>>>>>>>> On Tue, Jun 21, 2016 at 3:55 PM, Brent Royal-Gordon via >>>>>>>>> swift-evolution <swift-evolution@swift.org> wrote: >>>>>>>>>> I find that typing \(var) is very disruptive to my typing flow. The >>>>>>>>>> more I code in Swift, the more I like it, but every time I'm coding >>>>>>>>>> and then have to hiccup while typing \ then ( causes me to be >>>>>>>>>> annoyed. I know, it's minor, but it isn't a key combination that >>>>>>>>>> flows quickly. >>>>>>>>>> >>>>>>>>>> I would much rather have $() or perhaps ${} (like Groovy lang) or >>>>>>>>>> perhaps @() to go along with other uses of @ throughout the language. >>>>>>>>> >>>>>>>>> Even though I'm used to Perl's and Ruby's interpolation syntaxes, I >>>>>>>>> immediately liked `\(…)`. It's parsimonious: Rather than taking a >>>>>>>>> third character (besides \ and ") to mean something special in a >>>>>>>>> string literal, it reuses one of the existing ones. There's no need >>>>>>>>> to escape a character you wouldn't otherwise have to touch, or to >>>>>>>>> think of another character as "magical" in a string. It fits nicely >>>>>>>>> with the rest of the syntax, with `\` indicating a special construct >>>>>>>>> and then `()` delimiting an expression, just as they do elsewhere in >>>>>>>>> the language. It's an elegant solution to a problem traditionally >>>>>>>>> solved inelegantly. It's very Swifty in that way. >>>>>>>>> >>>>>>>>>> A shifted key, like $ or @, followed by another shifted key like (, >>>>>>>>>> allows for a much faster flow and they are much closer to the home >>>>>>>>>> keys than \ which is nearly as far from home keys as possible (and >>>>>>>>>> awkward). >>>>>>>>> >>>>>>>>> >>>>>>>>> I don't have any trouble typing it personally. If you find yourself >>>>>>>>> accidentally typing `\9` or `|(`, we could probably offer an error >>>>>>>>> for the former or warning for the latter with a fix-it. But if you're >>>>>>>>> complaining that it takes a tiny fraction of a second longer to type >>>>>>>>> than `$(` would, then honestly, I just can't bring myself to care. >>>>>>>>> Swift optimizes for code reading. If we wanted to optimize for code >>>>>>>>> typing instead, we'd have a very different style. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Brent Royal-Gordon >>>>>>>>> Architechies >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> swift-evolution mailing list >>>>>>>>> swift-evolution@swift.org >>>>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> swift-evolution mailing list >>>>>>>>> swift-evolution@swift.org >>>>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> swift-evolution mailing list >>>>>>>> swift-evolution@swift.org >>>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution >>>>>>> >>>>>> >>>>> >>>> >>> >> > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution