The value of capslock is that it provides an essentially blank key which can be remapped to something useful e.g. Ctrl, Esc, Meta, …
Exactly as the article mentions, caps lock is a nice to have, though rare, key. Removing or remapping it will complicate your typing in those scenarios for sure. if you find a better use for that space where it simplifies other more common scenarios, great. But just removing it would be idiotic.
They’re not, unless by “good keyboard” you mean “custom layout”. On all the keyboards I’ve ever known, the almost entirely useless capslock takes one of the more valuable places on the keyboard just left of the home row. It’s the modifier key which requires the least movement by far, yet with a native function which is almost entirely worthless.
I’d like to see your hypothetical keyboard where control (to say nothing of esc) is anywhere near as easy to reach, despite both being used significantly more than caps, and caps being trivially and fully dispensable with unless your days are spent writing SQL with all keywords in all caps.
> You could argue for mapping caps lock to Super or Hyper if you're an emacs user maybe
No, you really could not, unless you’re part of the minority which flies with fully custom keybindings. But even then control is such a central modifier of emacs that making it more accessible and require less contorsion tends to yield the highest bang for your buck.
You could always remap the old control to super or hyper instead of having two control keys I guess.
With multi-function keys (as supported by e.g. QMK-powered keyboards, or software like kmonad) allows adding multiple functions to a key.
e.g. "tap-hold": "tap CapsLock key sends 'Escape', hold CapsLock key sends 'Ctrl'" would be useful for someone who uses Vim and/or Emacs.
Taking 'tap-hold' a bit further, you can try putting the modifiers (which are only useful when held) under the home row keys: putting Alt, Gui, Ctrl, Shift underneath ASDF, (and reverse: Shift, Ctrl, Gui, Alt underneath JKL;). -- So called "home row modifiers".
The advantage is not needing to move the hand, and not needing to use the weaker pinky finger. Although, it can take some getting used to.
It's true that Esc is nowhere near as easy to reach, so if I used vim I'm sure I'd like to switch them (alt/meta is also easy to reach for me, so I never felt the need to use Esc for Meta in Emacs; and having two Alt keys anyway makes it better).
[0] https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/... (using just this picture of the layout so this doesn't come off as some advertisement)
To be fair, on some keyboards, including the one I use, it's easy to reach both the right and left shift keys, so it's easy to alternate shift keys as needed to avoid using other fingers or moving your hand from the home row.
It's probably fairly obvious what I think about the taught-at-school touch typing method. It's a decent middle-of-the-road option that's intended to be easy to teach and to work for most people in most situations; that's all.
Why is the constant screaming at me? Why is the fact that it's a constant important enough to be encoded in the styling of the letters, but not important enough to be encoded in the name. Why isn't the IDE or the compiler keeping track of the constantness of the variable and reminding me to not do the wrong thing? If they can and are, why am I not trusting them? And if they can't, why am I writing in a language that doesn't even have JavaScript levels of a type system?
FWIW, "Caps Lock" is modal.
e.g. the Wikipedia page lists "Caps Lock" as a common example of mode errors. https://en.wikipedia.org/wiki/Mode_(user_interface)#Mode_err...
(No vim = not worrying about insert/normal mode; no capslock = no worrying about if tapping 'a' gives 'A' or 'a').