A language typically has a large number of speakers and is often codified in writing. A dialect, on the other hand, is a regional or social variation of a language, which may or may not have a written form.