Question: As I understand, Japanese numbers are divided into blocks of four, so while we would think of the number 89123889 as 89,123,889, in Japan they would think of it as 8912,3889 (八千九百十二万三千八百八十九). So English uses thousands and Japanese uses tens of thousands.

Is there any particular reason for this? Not that it matters either way, I'm just wondering at what point either culture chose to delimit numbers by thousands, or tens of thousands.

If you reply with Japanese, please use hiragana and furigana only, except for number kanji.

Answer: 
Numbers in English and most "western" languages are still influenced by [Roman numerals](http://en.wikipedia.org/wiki/Roman_numerals), where 1000 = M = *mille* was the largest number that had its own, non-compound name.

Japanese took its numerals originally [from Chinese](http://en.wikipedia.org/wiki/Chinese_numerals#Large_numbers), where there is a separate character for "ten thousand". It also has characters for larger numbers, but groupings of 5 or more are probably less convenient as they are harder to recognize quickly.

However, neither system historically came into being fully complete and used consistently. Both changed through the times and there were conflicting usages for a long time until everyone converged on a standard.
More than likely it is borrowed from Chinese.

十 百 万 亿[億] 兆 京 

respectively:

10^1, 10^2, 10^4, 10^8, 10^16, 10^32 etc. (goes on until 10^4096 !)

I have seen 亿 and 兆 used in these definitions in modern Chinese and Korean, and certainly 億 in japanese for money e.g. 三億円 meaning 3 x 10^8 yen. 

This system of creating a new word whenever the length doubles seems natural, as it is the minimal set of words you need to represent any arbitrarily large number without repeating yourself. It also provides a more unique way to say a number. For example, in english we could say one million billion == 10^15 == one thousand trillion).

This has changed in modern china... 亿，兆，京 now sometimes mean smaller powers in different contexts for convenience. 兆 can mean a megabyte (10^6), e.g. 四十兆 => 40 Megabytes. Not sure if Japanese has this ambiguity, but 千 (10^3) certainly exists and doesn't fit the 'pure' traditional system.

In any case, I have never seen a split into blocks of 4 when writing a number down. But that is the logic that should be used when reading a number out. 

That is misleading though, since even larger numbers should be read by recursively bisecting at the highest 10^2^n which fits, and this can get a lot more abstract than simple powers of 10^4. To choose an unrealistic example:

1,000,020,000,304,567 =>

10000200 \* 10^8 + 00304567 =>

1000,0200 億 30,4567 =>

(1000 \* 10^4 + 0200) 億 + (30 \* 10^4 + 4567) =>

(1000 万 200) 億 (30 万 4567) =>

(一千 万 二百）億（三十 万 四千五百六十七）

Please note it is different than just separating with length 4 blocks: 10^12 does not have a unique name, but 10^16 does. So it really is unlike the western system. Blocks are only assigned a new name when they reach twice the length of the last named block. Rather than just 3,6,9,12,15, we have 4,8,16,32.

For negative powers of 10, the western style of 10^-3, 10^-6, 10^-9 is used... (equivalent to milli/micro/nano).