Standard English in the United States has been established by the Modern Langauge Association (MLA). There are two broad types of Non-Stardard English: dialectical differences and slang. Dialects which vary from the standard norm, to name two: Southern Dialiect and the Midwestern Dialect. Each of these would have different names for different objects, such as: buggy (southern) and cart (midwestern). Non-English would include dialectical differences as well as slang. Slang changes so rapidly depending on different social norms that it is difficult to label and utilize those words. For example, it was appropriate to say "keep on truckin'" in the seventies, and it is not appropriate now. Those dialiectical differences and slang are considered Non-Standard and are not accepted in formal writing for those reasons. This is an extremely abbreviated answer, but I hope it helps!