走向高级程序设计语言的重大一步发生在20世纪50年代的后五年。其间,用于科学计算的Fortran语言,用于商业数据处理的Cobol 语言和用于符号计算的Lisp语言被开发出来。
时至今日有几千种程序设计语言。可以通过不同的方式对这些语言进行分类:
方式之一是通过语言的代来分类。第一代语言是机器语言,第二代语言是汇编语言,而第三代语言是高级程序设计语言。第四代语言是为特定应用设计的语言,比如用于生成报告的NOMAD,用于数据库查询的SQL和用于文本排版的Postscript。术语第五代语言指的是基于逻辑和约束的语言,比如Prolog和0PS5。
另一种语言分类方式把程序中指明如何完成一个计算任务的语言的称为强制式(imperative)语言,而把程序中指明要进行哪些计算的语言称为声明式(declarative)语言。诸如C、C++、C#和Java等语言都是强制式语言。所有强制式语言中都有用于表示程序状态和语句的表示方法,这些语句可以改变程序状态。像ML、Haskell这样的函数式语言和Prolog这样的约束逻辑语言通常被认为是声明式语言。
冯·诺伊曼语言(von Neumann language)是指以冯·诺伊曼计算机体系结构为计算模型的程序设计语言。
面向对象语言(object-oriented language)指的是支持面向对象编程的语言,
脚本语言(scripting language)是具有高层次运算符的解释型语言。