What Makes a Language a Language and Not a Dialect? (No, It’s Not an Army)

“The law says that ‘Chinese and English’ are Hong Kong’s official languages. Whereas some people say that Cantonese is a dialect of Chinese, others insist that it is a language in its own right. Who is right – and how do dialects differ from languages in general?”