I’ve used a US-QWERTY keyboard layout my entire life. I’ve seen other layouts that do things like reduce the size of the enter/backspace keys, move the pipe operator (|
) and can’t wrap my head around how I would code on those.
What are your experiences? Are there any layouts that you prefer for coding over US English? Are there any symbols that you have a hard time reaching ( for example)?
A lot of us don’t live in the US to begin with, so I assume a significant portion of us just use whatever the local standard is. That’s where I’ve been at so far, the Brazilian layout is a QWERTY variant so not that different. It does make some things more awkward, but you get used to what you have to work with.
Brackets and curly braces are less convenient off the top of my head, backticks too. Vim is a tad less ergonomic without some extra fiddling, for instance. In fact, I’ve been considering getting a US keyboard for coding to make that kinda thing less of an issue, US international makes accents and whatnot accessible enough that I think I could make it work.
If you’re cheap like me, just change the keyboard layout on the software side and instead of looking at the now incorrect key caps, look at the American keyboard layout image on Wikipedia instead. It doesn’t take long to relearn the few differences. And the parentheses are more ergonomic on the us keyboard layout IMO.
Edit: compared to the German layout. Brazilian looks ergonomic enough for programming without having to switch.
I use the German Layout Neo which has especially nice layers for programming https://neo-layout.org/
I have a custom split keyboard (lily58) and use the neo special character layer as my lower layer
ISO for life.
You can keep your stupid tiny little enter key.
No way - the two enter keys are about the same size - yours is just rotated 90 degrees and further away. That’s not an improvement. Even worse though is the tiny left shift key - I can’t get used to that.
With an ANSI keyboard you can comfortably reach the enter and left shift without taking your other fingers off the home row. With ISO you have to move your arm which is particularly bad for the shift key since you might need to press other keys at the same time, but now your hand is in the wrong position.
hahaha, no.
I program with the italian layout and i’s fine, the only annoyances are that to use the slash you need to use shift, all while the backslash has a dedicated key; also you need to use alt codes to type a tilde.
the only annoyances are that to use the slash you need to use shift
Oof, that sounds really annoying. I can’t possibly imagine how I would use the terminal that way
After a while it becomes muscle memory; the good thing is that you can see if someone is a programmer/linux user because the key for the numer 7 is more worn out than most of the others
Same. Forward slash always annoys me. It’s in the middle of the keyboard, so you have to either 1. make a very uncomfortable move with your right hand, or 2. make an uncomfortable move with your right hand, or 3. use both your hands, which sucks.
Luckily I’m using linux, so I have tilde and backtick (`) as AltGr+’ and AltGr+ì, which are pretty easy to type.
I’m pretty sure most people outside the US do that
I program like I learned it? I use my German QWERTZ layout. A lot of keys are different, yes, but I grew up with this layout and I’m used to it. Imagine giving me a US QWERTY layout and I would misstype every time. I even hate it when Windows swtiches my keyboard layout, even though I removed the shortcuts to it and I misstype constantly. Heck even Visual Studio switched my shortcuts and it sucked.
After some time I realized that (Game) Devs suck, because they forget that other layouts exist. Its not a big deal, but at some point I realized that the Chats on T, Y, U makes much more sense on a QWERTY Layout. Also Markdown with ` kinda sucks. For a codeblock, I need to hold shift and press the key that is left of backspace 3 times and then one space, because when I press it once, nothing happens but pressing it a second time, 2 appear. Pressing space let it appear directly. Or I type 4 and remove one.
But this it what I’m used to. And if I ever would work outside Germany, I will bring my own QWERTZ keyboard and require them to install the German Keyboard. I don’t need a German UI. I have all programming related software in English, because its easier to google stuff.
I ever would work outside Germany, I will bring my own QWERTZ keyboard and require them to install the German Keyboard.
The computer doesn’t know which labels are printed onto the key caps. You can type any layout you want, no matter the physical layout.
Except that there exist multiple physical layouts and then keys can be missing and some keys are shaped different.
I use a country-specific ISO layout, and while I’m very aware that certain things are insanely awkward compared to a US keyboard, like { }, [ ], $ and /, you get used to it. You get used to everything over time. I even use the default vim bindings and have gotten used to them as well.
Yeah I have a hard enough time remembering the default vim bindings, I can’t be assed to go around making my own up and trying to remember those too
I just press tab and the IDE sprinkles all that sugar for me.
DVORAK all the way, baby. Hardware-based via Unicomp 104.
Dvorak gang here. Never going back to QWERTY.
I use Colemak where most punctuation is at the same place as in the US English layout, which programming languages seem to be optimized toward. For the layout I prefer ISO for the larger Enter key.
What are your experiences? Are there any layouts that you prefer for coding over US English? Are there any symbols that you have a hard time reaching ($ for example)?
I’m using a PT-PT ISO layout keyboard, zero issues reaching anything, works as good as your US keyboard for coding. Actually it might work better because I have a bigger “enter” key.
can’t wrap my head around how I would code on those.
Typical American trying to comprehend that people from other countries exist? :P
Think about it this way, all the EU keyboards are essentially the same as yours but tweaked to accommodate languages that have more special chars than English.
I live in Brazil but I also use US- Dvorak as OP. Is a pita everytime I need to write the ç, or õã cause I have to change the keyboard just to write a letter.
You may want to take a look at dvorak-intl and or dvorak-alt-intl, which adds the alt-gr layer to type language specific characters
I use the UK layout, because I am British. Why would I use the US layout?
Average American trying to comprehend that people from other countries exist
… or just didn’t know UK keyboards were different
I mean the layout they mentioned is called “US” layout I’m sure they could deduct that there are other country specific ones
I’ve seen Tomorrow Never Dies, so I know there are Chinese keyboards.
The UK speaks English though, so I would have figured a UK keyboard would be at least very similar to a US keyboard, enough so that switching from one to the other wouldn’t be too hard.
US-defaultism has a catch: it sometimes accidentally extends to the Commonwealth. You won’t run into most of the internationalization quirks if all you’re comparing is “British English vs American English”.
[Sidebar: I notice this also when English speakers online assume that their audience at least has a vague idea of what Imperial units are, but while that is true of most native English speakers in the northern hemisphere who use feet and miles colloquially, for ESL audiences it’s almost always incorrect]I switched from AZERTY to US QWERTY permanently specifically to avoid all the issues of badly internationalized software. Bad default bindings (e.g. common vim operations like
{
requiring the use of AltGr), but also things like games not working at all or only partially (e.g. the number row being either unbindable, or key hints naively showing as “&” and “é” instead of “1” and “2”). Surprisingly few devs understand the difference between key codes and characters, and lots of indie games straight up don’t even internationalize and require switching layouts (good luck if there is an in-game chat).
After getting into mechanical keyboards, the ANSI US keyboard layout has been useful as well because these are quite common. ISO mechanical keyboards are rarer, and Belgian AZERTY keycaps are borderline nonexistent.Also in practice I use the qwerty-fr layout which is the US layout with a French layer on AltGr. The kicker? It’s better at writing French than the French AZERTY which is missing a lot of letters (Ç, æ, œ, À, …). AZERTY is a terrible layout but that’s a separate discussion.
Of course the Americans should develop properly internationalized software, but I personally know several fellow Belgians who switched to QWERTY for (some of) the reasons outlined above.
Fellow Belgian here. I also switched to QWERTY.
I’m British and use the ISO-UK layout.
I’m Czech and also speak fluent German, but I rarely use my native languages on my personal PC, so I got used to the US layout. Nowadays I use US layouts that have my native letters on the AltGr key, my Linux pc has an “American - Czech, Slovak, German” layout like that and at work on windows I use the Czech Programmer layout. However, most of my coworkers use the regular Czech keyboard, even for programing, which freaks me out.
I use Coleman DH and symbols have never been an issue because I just put them on another layer 😅
It depends on what you’re used to and the programming languages you use. I learned typing on a German QWERTZ keyboard and while that works for languages like Python and Haskell, which are indentation-based, but for languages which use braces like Java, C, Rust, or similar, it can be annoying to have to use altgr+7 or altgr+0 for { and }. Thus I switched to a US ANSI layout, which was nicer for those specific characters, but caused problems when typing local characters like öäüß. After switching to Linux I set up a compose key, letting me press compose + a + " for ä for example, and while that’s a decent patch, that still breaks the typing flow. So now I’m in my ergo keyboard phase and trying to get my own personal layout going, which meets my own needs for needed characters, based on a colemak-dh design.