148
submitted 9 months ago* (last edited 9 months ago) by namingthingsiseasy@programming.dev to c/programming@programming.dev

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)?

top 50 comments
sorted by: hot top controversial new old
[-] UndercoverUlrikHD@programming.dev 86 points 9 months ago

Never used a US keyboard in my life. Why would you think US keyboard is the norm?

[-] where_am_i@sh.itjust.works 6 points 9 months ago

You're on /c/programming.

Also, it's even ISO standardized, so yeah, it's an international norm.

Pragmatically: most programming languages are developed in a way to that it's easy to type them up on a standard us layout. As English only has 26 letters, which is less than any other language using the latin alphabet (don't even start me on languages with accents like ñ or that differentiate between à, a, á, and â), all the special characters are usually easily accessible. Most others layouts will tuck them away behind non-trivial combinations in favor of improving accessibility of extra letters and special characters. Cuz essentially in human language you barely need * and [. So, I guess, right ctrl + left shift + 9 will do? how do you feel about coding in python on that. Or on a keyboard where the space for your | has been allocated to some letter ø and your OR operator has been moved to the numpad.

[-] UndercoverUlrikHD@programming.dev 25 points 9 months ago* (last edited 9 months ago)

You're on /c/programming.

Could just as well have been a writing prompt community. It's just writing ANSI characters for the most part.

Also, it's even ISO standardized, so yeah, it's an international norm.

I'd wish something being ISO meant it's the norm, but that's just not the case. #ISO8601Gang

Pragmatically: most programming languages are developed in a way to that it's easy to type them up on a standard us layout. As English only has 26 letters, which is less than any other language using the latin alphabet (don't even start me on languages with accents like ñ or that differentiate between à, a, á, and â), all the special characters are usually easily accessible. Most others layouts will tuck them away behind non-trivial combinations in favor of improving accessibility of extra letters and special characters. Cuz essentially in human language you barely need * and [. So, I guess, right ctrl + left shift + 9 will do? how do you feel about coding in python on that. Or on a keyboard where the space for your | has been allocated to some letter ø and your OR operator has been moved to the numpad.

As a user of a keyboard layout with æ, ø, å, who also uses python daily, I can promise you that there are zero issues with it.

Most people will grow up with a keyboard layout designed for their native language's need. If it uses Latin characters, there should be minimal issues using it for programming too.

load more comments (2 replies)
[-] Avalokitesha@programming.dev 16 points 9 months ago

There's lots of programmers on languages that need more keys readily than us keyboard has. Äöüß, just to give an example.

I don't know, every time I read a post like this I'm kinda speechless. I know lots of Americans and many of them are brillant and open-minded, but then there are posts like this which are completely oblivious that there are reasons for other keyboard layouts.

The reason OP can't fathom programming on those is that they aren't used to it. If you grew up with non-us layouts you similarly couldn't fathom programming on the us layout.

Sometimes I feel like people refuse to even think about acknowledging that there are other experiences than their own. Go out, try out new things, exercise your brain and callenge yourself.

load more comments (4 replies)
[-] MonkderZweite@feddit.ch 6 points 9 months ago

Also, it's even ISO standardized, so yeah, it's an international norm.

Are not all national layouts standardized?

[-] Ferk@kbin.social 5 points 9 months ago* (last edited 9 months ago)

it’s even ISO standardized

Not only are there other ones that are also ISO standards when it comes to software layouts, but funny enough, when it comes to physical layouts, US keyboards normally follow an ANSI standard (not an ISO one), whereas many non-US keyboards typically follow a physical key layout known as "ISO Keyboard", so one could argue those are more of an "ISO" standard.

https://upload.wikimedia.org/wikipedia/commons/b/b2/Physical_keyboard_layouts_comparison_ANSI_ISO_KS_ABNT_JIS.png

right ctrl + left shift + 9 will do?

No keyboard layout uses ctrl like that..... in fact, I don't think you ever really need to press more than one modifier in any standard non-US keyboard. Unless you have a very advanced custom layout with fancy extra glyphs... but definitelly not for the typical programming symbols.

ISO keyboards actually have one more key and one more modifier ("AltGr", which is different from "Alt") than the ANSI keyboards.

In fact, depending on the symbol it might be easier in some cases. No need to press "shift" or anything for a # or a + in a German QWERTZ keyboard, unlike in the US one. Though of course for some other ones (like = or \) you might need to press 1 modifier.. but never more than 1, so it isn't any harder than doing a ) or a _ in the US layout.

load more comments (2 replies)
load more comments (1 replies)
load more comments (2 replies)
[-] JackGreenEarth@lemm.ee 48 points 9 months ago

I use the UK layout, because I am British. Why would I use the US layout?

[-] peter@feddit.uk 48 points 9 months ago

Average American trying to comprehend that people from other countries exist

[-] morphballganon@lemmy.world 5 points 9 months ago

... or just didn't know UK keyboards were different

[-] peter@feddit.uk 17 points 9 months ago

I mean the layout they mentioned is called "US" layout I'm sure they could deduct that there are other country specific ones

load more comments (2 replies)
load more comments (2 replies)
[-] shotgun_crab@lemmy.world 43 points 9 months ago

I'm pretty sure most people outside the US do that

[-] joe_archer@lemmy.world 38 points 9 months ago

ISO for life.

You can keep your stupid tiny little enter key.

[-] mindlight@lemm.ee 14 points 9 months ago

This!

Oh good I hate that tiny little enter key.

[-] abhibeckert@lemmy.world 6 points 9 months ago* (last edited 9 months ago)

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.

[-] SteveTech@programming.dev 8 points 9 months ago

On the ISO keyboards I've seen, the enter key has way more than double the surface area than ANSI, so it's definitely not 'just rotated 90 degrees'. Also these people probably grew up with ISO and struggle with ANSI, just like you probably grew up with ANSI and struggle with ISO.

load more comments (1 replies)
load more comments (1 replies)
[-] ZeldaFreak@lemmy.world 36 points 9 months ago

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.

load more comments (2 replies)
[-] 9point6@lemmy.world 35 points 9 months ago* (last edited 9 months ago)

I prefer a British keyboard layout as that's where I've always lived and that's what all the computers come with here.

Actually no, Apple fucks it up a bit by having a weird hybrid between US layout and British layout which is pretty infuriating to have to learn (opt+3 for the # character? wtf Apple?), particularly given I switch between PC and Mac daily

[-] lupec@lemm.ee 28 points 9 months ago

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.

[-] Turun@feddit.de 5 points 9 months ago* (last edited 9 months ago)

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.

load more comments (4 replies)
[-] Kolanaki@yiffit.net 17 points 9 months ago

They told me not to reinvent the wheel, so all I need to program is this:

[-] Maturi0n@feddit.de 16 points 9 months ago

I am German and I use the German keyboard layout...

[-] Vorpal@programming.dev 14 points 9 months ago

Swedish layout. Not ideal for coding (too many things like curly and square brackets etc are under altgr. And tilde and backtick are on dead keys.

But switching back and forth as soon as you need to write Swedish (for the letters åäö) is just too much work. And yes, in the Swedish alphabet they are separate letters, not aao with diacretics.

[-] oscar@programming.dev 5 points 9 months ago* (last edited 9 months ago)

I'm swedish and I use EurKEY. It's basically US but makes it possible to use Å/Ä/Ö through altgr + W/A/O. I don't write that much swedish so I'm not too bothered, meanwhile the coding advantage is huge for ' " \ | / ? | [ ] { } .

load more comments (3 replies)
[-] pathief@lemmy.world 14 points 9 months ago* (last edited 9 months ago)

I believe most people in Europe use a localized ISO layout. I used ISO for most my life but in my personal opinion ANSI is way better for software development. I just don't see myself ever going back to ISO.

I wish I was brave enough to try Colemak or Dvorak, tho!

load more comments (3 replies)
[-] Kusimulkku@lemm.ee 14 points 9 months ago

You just... get used to things. Like how you first got used to your keyboard to begin with

load more comments (1 replies)
[-] brokenlcd@feddit.it 14 points 9 months ago

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.

load more comments (7 replies)
[-] vext01@lemmy.sdf.org 13 points 9 months ago

If you don't live is the US, it's pretty common to not use a US keyboard!

Tried the maltron layout at one point. Nope.

[-] DirigibleProtein@aussie.zone 12 points 9 months ago

Well, technically Dvorak is a US-ANSI layout, so … no.

load more comments (1 replies)
[-] germanatlas 11 points 9 months ago

I use German QWERTZ

[-] Oha@lemmy.ohaa.xyz 10 points 9 months ago

I use german layout because I'm from Austria

load more comments (1 replies)
[-] Solaris1789@jlai.lu 10 points 9 months ago

quick AZERTY users this is the time to show we exist!

load more comments (3 replies)
[-] Ferk@kbin.social 10 points 9 months ago

I use EURkey, which is basically a superset of the US layout extended to support symbols from several European languages.

load more comments (1 replies)
[-] 0xCAFE@feddit.de 9 points 9 months ago

I use a variant of the Neo-Layout called Bone. It's an ergonomic layout optimized for German and English text. The base layer is already different (see the linked page), but I also really like it for programming, since there's an entire layer with easily accessible symbols:

Bone layout layer 3 with symbols

load more comments (6 replies)
[-] Adanisi@lemmy.zip 8 points 9 months ago

UK QWERTY, no trouble hitting any keys. $ is not hard to reach, | is a bit annoying since it's right next to shift, which you need to type it, but it's not too bad.

[-] abhibeckert@lemmy.world 8 points 9 months ago

I used DVORAK for years, but went back to QUERTY mostly because it made life hard on on the rare occasion I needed to use someone else's computer.

load more comments (2 replies)
[-] MonkderZweite@feddit.ch 7 points 9 months ago

CH layout, superior for everything inbetween german, italian and french. US layout has no äöü, which makes it cumbersome in daily use.

[-] Zip2@feddit.uk 7 points 9 months ago

I’m British and use the ISO-UK layout.

[-] FleetingTit@lemmy.world 6 points 9 months ago

I grew up with DE ISO and switched to US ANSI with EurKey a few years ago. ANSI is so much better for programming!

Also more options for key caps.

load more comments (3 replies)
[-] tuto193@lemmy.world 6 points 9 months ago

UK layout is the GOAT. It isn't that much different from US layout at first, but there are so many more special characters readily available. Particularly useful for multiple languages like Spanish, German, Swedish, etc.

load more comments (1 replies)

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.

load more comments (1 replies)
[-] MudMan@kbin.social 5 points 9 months ago

It's all usable when you get used to it, but this is a great thread to link for people who develop scripting and programming languages, or just text-based technical interfaces. Because yeah, all that crap is designed with the US layout in mind and screw whoever chooses to use ~ and | as commonplace characters.

FWIW, I don't even code and I still keep a US layer in the background. I forget which one I'm using constantly, it's all muscle memory. I just Win-space and try again whenever I type a character and it's not what I expect.

[-] Aceticon@lemmy.world 5 points 9 months ago* (last edited 9 months ago)

I've used various layouts of non-US keyboards over time since I've lived and worked in various countries in Europe and whilst you do start by looking down to find stuff and for a while will at times unthinkingly choose the "old" position for a symbol when touch typing, you just get used to the new layout in a month or two, even if touch typing - your brain just starts directing your fingers to the new positions.

That said, for seldom used symbols you still have to look down and check on which key that symbol is (it's generally printed on the key), I suppose because you don't really exercise those enough for your brain to reliably start sending your fingers to the new position without looking.

(So given the languages I usually program with, for stuff like semicollon and open and close brackets and parentesis the brain quickly adjusts but stuff like the dollar sign I still have to look down and check, which is really noticeable if for some reason I have to do some shell scripting or similar)

Things like letters and numbers don't change position so that's not a problem.

Once you've become accustomed to a new layout, switching keyboards between those layouts is a bit like switching the side of the road you're driving (say, between the UK and Continental Europe) - you get a couple of hours of extra memntal tension and having to think things a bit more at first and after that you've fully readjusted.

load more comments (2 replies)
[-] Jomn@jlai.lu 5 points 9 months ago* (last edited 9 months ago)

I use the FR-AZERTY layout. You honestly get used to the layout you have to work with.

load more comments (3 replies)
[-] CatLikeLemming 5 points 9 months ago

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.

[-] bort@feddit.de 5 points 9 months ago* (last edited 9 months ago)

I use UK-Layout, with some remappings for my precious umlauts

q+altgr ->ü
a+altgr -> ä
s+altgr -> ß
z+algr -> ö

bonus: in contrast to the peasentry I have an uppercase ẞ (altgr+shift+s)

[-] catacomb@beehaw.org 5 points 9 months ago

I use a UK keyboard, | is pretty easy to access and $ is Shift+4.

I'm guessing you mean more exotic keyboards. I've used a Swedish keyboard while helping a friend and I had to ask where every key was. You probably just learn the combinations eventually.

[-] Kimusan@feddit.dk 5 points 9 months ago

I prefer ISO layouts. ANSI somehow just seem inefficient to use. I habe layers for CODI g so I have my brackets/braces on the hometown along with other relevant keys. Long live custom keyboards

[-] virku@lemmy.world 4 points 9 months ago

Being Norwegian i code on the Norwegian keyboard layout. I get confused every time I get defaulted into English.

load more comments
view more: next ›
this post was submitted on 29 Jan 2024
148 points (100.0% liked)

Programming

17352 readers
249 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS