[swift-evolution] Thoughts on replacing \() with $() or some other symbol

Brandon Knope bknope at me.com
Wed Jun 22 11:27:13 CDT 2016


I really don’t understand why we are wasting everyone’s time debating this.

Yes I think there is a correlation. Yes this is precisely why I posted the heat map.

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.

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.

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 tried not to base this just on opinion but on some *evidence*, but apparently that isn’t sufficient enough for some.

Brandon


> On Jun 22, 2016, at 12:20 PM, Jeremy Pereira <jeremy.j.pereira at googlemail.com> wrote:
> 
> 
>> On 22 Jun 2016, at 17:02, Brandon Knope <bknope at 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.pereira at googlemail.com> wrote:
>>> 
>>> 
>>>> On 22 Jun 2016, at 16:41, Brandon Knope <bknope at 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.pereira at 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 at 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 at 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 at 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 at swift.org
>>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> swift-evolution mailing list
>>>>>>> swift-evolution at swift.org
>>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>>>> 
>>>>>> _______________________________________________
>>>>>> swift-evolution mailing list
>>>>>> swift-evolution at swift.org
>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the swift-evolution mailing list