Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why is the 0 next to 9, not next to 1? (ux.stackexchange.com)
63 points by amadeuspagel on April 25, 2021 | hide | past | favorite | 34 comments


I appreciate seeing the history of keyboard evolution, and I can see those points as being valid. However, it cannot be overlooked that the simple fact is people start counting with the number “1”, so it’s perfectly reasonable that that’s why the first digit is “1” (and why zero-indexed arrays cause so many off by one errors). And the 0 at the end is the logical place for 0 as a stand-in for “10”, since in normal counting you wouldn’t need a 0 until you go past 9, onward to 10.

I appreciate that things like Benford’s law exist, but I don’t really buy into the idea that people put that much thought into it, when the more obvious answer is simply: “the first number is 1”.

QWERTY wasn’t designed because of some deep academic analysis of typing patterns — it was just to spread out frequently used letters so the mechanical arms didn’t get jammed.

It’s nice to think that all the standards we have today are a result of some deep thought, A/B testing, and a full committee review and approval of the design, but in reality it’s most often just what happened to work “well enough” at the time (evolution instead of intelligent design).


> QWERTY wasn’t designed because of some deep academic analysis of typing patterns — it was just to spread out frequently used letters so the mechanical arms didn’t get jammed.

This is the popular understanding. I've seen arguments against this claim. (e.g. "er" are frequent in english, and adjacent in qwerty). https://www.smithsonianmag.com/arts-culture/fact-of-fiction-...


This strangely overlooks the emergence of the French standard AZERTY keyboard (and other variations).


> when the more obvious answer is simply: “the first number is 1”.

This doesn't really hold if you see that 0 was to the right of 9 when the first number was 2, not 1.


> since in normal counting you wouldn’t need a 0 until you go past 9, onward to 10.

You absolutely could need a 0 before you got to 10. 1.01, etc. Unless you're saying decimals aren't "normal".


Counting is usually done with natural numbers: https://en.wikipedia.org/wiki/Counting.


The Wikipedia link does not back-up your claim in the slightest. On the contrary, it states:

> The traditional way of counting consists of continually increasing a (mental or spoken) counter by a unit for every element of the set


Wikipedia is known for many things but not for its wisdom. Counting is counting things. For example sheeps. You don't have 0 sheeps. Either you have 1 or 2 or 3 or you don't have any. If there are software engineers, things change because they treat 0 as an element of the list and 0 is the first in the list 1 the 2nd, etc.


> Wikipedia is known for many things but not for its wisdom.

I was not the one who posted a Wikipedia link. I was only responding to the fact that the Wikipedia link did not support the prior poster's claim.

> Counting is counting things. For example sheeps. You don't have 0 sheeps. Either you have 1 or 2 or 3 or you don't have any.

Not having any sheep is literally having 0 sheep.


> Not having any sheep is literally having 0 sheep.

Only if you ignore the difference between having and not having.


How is this ignoring the difference? The statements 'I do not have any sheep' and 'I have 0 sheep' are synonymous; neither statement ignores the other.


Those statements are synonymous in SW. Try to explain this concept to a shepperd :)


People typically start counting with 1 which is why this is the first year of the second decade this century, and 2001 was the first year of the current millennium, etc. USA buildings start with 1 (or first) floor being on the ground.

Age in most countries starts with 0 but not all.

Still, I think one-based is best considered “normal”


It is downright bizarre to me at how people are continuing to claim that 'normal counting' does not require a 0 until you go past 9.

If users here genuinely believe that, then I trust if I sell you a product for £1.01, you will give me £2?

0s are fundamentally used in normal counting.


But people don't generally count in decimals, they'd count out one pound and one penny.

So you'd count out 1 pound and 1p, 1 pound and 2p... 1 pound and 9p, 1 pound and 10p - so you don't need the zero until 10.


But you're just proving my point: you get to 1 pound and 10p before you get to 2 pounds. So you get to a zero, 1.10, before you reach 2. That's the point of decimals that I am not understanding why people are ignoring.


Then you are counting pennies not pounds, so you're still starting at 1.

In other words, you start mentally counting from your smallest unit of precision in use.

This is a fun thought exercise, but what a pointlessly pedantic tangent this thread took…


Absolutely, but then, the thread itself is a bit pointless, and pedantry is a pastime on HN :)

I agree, in practical terms you're counting two things - pennies and pounds. You need a zero for the pennies counter before you need a two for the pounds counter for sure.

But you don't count 'I have one hundredth of a pound, I have one fiftieth of a pound, I have three hundredths of a pound, I have a twenty-fifth of a pound' and so on.


The better question is why is 0 next to O. How many programming bugs have resulted in 0 and O being so close together on the keyboard.


Many times I notice that I have written a hex number as 'ox1234' instead of '0x1234'.

I wonder if that is a subconscious thing as I tend to call '0' as 'oh' rather than 'zero'. (I grew up calling the '0' in phone numbers as 'oh', along with the rest of my cultural peers.)


> Many times I notice that I have written a hex number as 'ox1234' instead of '0x1234'.

On old fonts 0 was ∅ (well not this letter but with a line like in this example) so it was easy to spot it. But we are living on a planet that's revolving and evolving ...


Probably 0. :)

How often do you see a variable named "O"?


"To tell them apart", a former coworker used the variables named:

     style1
     stylei
     stylel
Ironically, they were still there for some time after I'd left.


I'm reminded of the brilliant How To Write Unmaintainable Code.

https://github.com/Droogans/unmaintainable-code


It is a real optimist who thinks that the obviously wrong thing to do in code has never been done, or even that it's not the most commonly done thing.


I think you meant "probably O"


Ugh yeah as an IT person that kind of mistake always bugs me. At my last job someone had labelled all the lockers with "0rder management". It bugged me so much every time I looked at it.

For me this is immediately obvious.

I don't think the closeness of the two keys have much to do with this error though.


The original design didn’t have a 1, the l was enough for both. Perhaps the 0 was added as an afterthought as well, after all you could just use the O.


This reminds me of the issue of clocks starting at 12 instead of 0.


How is that an issue? There is no 0 AM or PM. There is 12 AM and PM, however.


That’s a (not so big) « issue » since it’s a written convention which comes from clocks layout. Even while using the same physical layout, lots of countries count time from 00:00 to 23:59 (without notion of AM/PM).

In France we always use 24h format when writing and usually when speaking. But some people uses the same conventions as US, only when speaking by saying « 3 heures de l’après midi » which stands for « 3 hours in the afternoon ». It tends to disappear however for « 15 heures ». Exceptions are we likely never say 00:00 or 12:00 but « Minuit » and « midi ».


Some people are thrown off when the time goes 10AM, 11AM, 12PM, 1PM. The "12" is used more like a 0. So 0 hours and 30 minutes post meridian is 12:30PM.


The 0 key I use the most on my keyboard is next to 1 and 2, and farthest from the 9 key. I wonder if that has grown naturally to me because of tohster's explanation in his reply:

Benford's law shows that the lower digits are much more frequently used than higher digits [..] If the 0 key were next to the 1 key, many numbers would be faster to type with just one hand

It's for this reason that dedicated numerical keypads place the 0, 1, 2 and 3 keys in close proximity: users can rest their fingers on these most-frequently-used digits and enter data more quickly.


Ah yes. The Zero based vs One based indexing systems debate. Again. This time on keyboards.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: