3 ms·
As dictation technology gets better I suspect the keyboard will not be as relevant for entering English text. One area where dictation does not work well is wr
by asimjalis 6y ago
As dictation technology gets better I suspect the keyboard will not be as relevant for entering English text.
One area where dictation does not work well is writing code.
Question: Is there a keyboard optimized for typing programming languages rather than for typing English?
- wodenokoto 6y agoComing from a Nordic country where we use a version of ISO layout I would not go so far as to say that US-ansi layout is optimized for programming, but programming languages are definitely constructed around US-ansi.
- hawthornio 6y agoCode dictation should be entirely possible with language models. Need to understand how the write the code. But acquiring datasets for many languages and reducing latency may be difficult.
- ezrast 6y agoWith the exception of Dvorak, every English-centric layout I've looked at (Colemak, Workman, Carpalx, probably a couple others) moves only the letters around, keeping punctuation in the same place as QWERTY. This means the right pinky is heavily overloaded for many/most common programming languages, which use far more punctuation than prose does. Dvorak moves several punctuation keys onto the left hand, which is great, but unfortunately it also moves braces and brackets farther away from the home row, which I found bad enough by itself to prompt me to look elsewhere. There's a variant called "Programmer Dvorak" which is somehow even worse. Aside from moving the numerals into ridiculous positions, now all the paired delimiters are on number keys but not in any consistent way. Both braces are on the left hand. Brackets and parentheses are on opposing hands, but, depending on how you slide your right hand up to the number row (7 and 8 are both natural resting places for the index finger), one pair will not be on corresponding fingers! And in general, I have a hard time touch-typing the middle part of the number row, so I don't like anything that puts common characters there. I've come to the conclusion that no, every common keyboard layout is bad for programming (for me). Eventually I gave up trying to find something suitable and made my own custom layout, which I've been using for a few years now.
- gabetax 6y agoProgramming languages mostly boil down to symbols, and I haven't seen standardization efforts around that concern specifically. Some layouts swaps the "shift" state on the number row (i.e. you type ! by default, and have to hold shift to type 1). There are more commonly efforts around dedicated layouts for compact boards, like [Miryoku](https://github.com/manna-harbour/miryoku https://github.com/manna-harbour/miryoku). You will find a ton of bespoke layouts though. https://configure.zsa.io/ergodox-ez/layouts/Qa34z/latest/1 https://configure.zsa.io/ergodox-ez/layouts/Qa34z/latest/1 is what my own layout that places `{}() -_+=` on the homerow. This is heavily dependent on language though. A Haskell person is going to have different symbol histograms from a Javascript person.