程序设计语言通常分为几类