说明式:
函数式: Lisp/Scheme,Ml,Haskell;
数据流: Id,Val;
逻辑式,基于约束的: Prolog,VisiCalc;
命令式:
冯·诺伊曼: Fortran,Pascal,Basic,C,.....;
面向对象: Smalltalk,Eiffel,C++,Java;
程序设计语言分类学:对语言的类属并不清晰,而且具有争议。特别的,一个函数式语言可能又是面向对象的,而且许多作者并不认为函数式语言是说明式语言。
在说明式和命令式语言组里,又各有几个重要的子类。
函数式语言采用一种基于递归表示的函数定义的计算模型。,它的灵感来自λ演算,这是由阿罗索·丘奇在20世纪30年代开发的一种计算模型。在本质上,程序被看作是一种从输入到输出的函数,基于一些更简单的函数,通过一种逐步精化的方式定义。属于这一类别的语言包括Lisp,ML和Haskell.
数据流语言将计算看成在一些基本的功能结点之间流动的信息(单词)流。这些语言提供了一种内在的并行模型:结点由输入单词的到达触发,能够并发操作。Id和Val是数据流语言的代表,而Val的后继语言之一Sisal则通常被看作是函数式语言。
逻辑式或基于限制的语言由命题逻辑得到灵感,它们把计算看作是通过一种目标制导的搜索,设法根据一集逻辑规则找出满足某些特定关系的值。电子表