Whilst most of China is [quite culturally and ethnically diverse][1], there are significant areas especially on the coast and river plains which are mostly Han Chinese. These provinces are also united by a strong central government for much of their history, and did not spend any significant amount of time divided since the start of the Song Dynasty. Yet, they remained linguistically divided for centuries until the Communist Party declared that everyone should speak Putonghua/Guoyu/Mandarin, and even then local dialects are still very popular in the south. As an example, my family emigrated from China in the 1930s and can only speak a dialect known as Hakka, whilst my colleagues in Guangzhou are more comfortable with Cantonese than Mandarin.

I can understand why different ethnic groups have different dialects, but why is their a difference in the Han Chinese themselves? Presumably the coastal and river cities would be heavily involved in commerce with each other, necessitating a common language? Yet Guangzhou and Beijing speak differently. Why?


  [1]: https://i.sstatic.net/3HmvB.gif