第五代语言 5GL 90年代
习惯上把用于人工智能程序表达的语言称之为五代机语言或五代语言。实际上LISP早基1957年就设计出来了。它是对抽象的符号进行表处理而不是象ALGOL和FORT RAN那样算出数值,所以一开始就用于数学定理证明之类的智能程序。70年代出现的PROLOG更是为智能推理而设的,它们都是小语言,而早期教师解释执行的。它们只用一种程序设计模型在人工智能方向试探。它们的特点都是在上层按某种模式去开发程序,下层实现则千篇一律的笨办法(例如,PROLOG用的是递归树查找的匹配方式)。于是,有人研究LISP机、PROLOG机,下层直接是推理单元而不必用冯·诺曼机去模拟推理、找出匹配。但世界并不是逻辑的,也不是函数的,在非它所长的智能应用中LISP机、PROLOG 机笨拙无比。所以五代机及其语言目前只能说有了萌芽。真正五代机通用语言是什么,目前还很难预言。
还有一种说法是把除正文语言而外的其他媒体语言称为5GL。从断代是革命而不是改良的角度多媒体语言确实应该称做第五代。但目前仅仅是把正文与其他媒体可等价的部分用其他媒体表达,从而简化程序设计(它还是基于正文的),如前所述,各媒体有其自身不可等价性(如声调、声音速度、强度带来的语义反忌), 程序设计? 目前尚不可知。 小结
本章按年代给出了程序设计语言发展的各阶段,程序设计语言研究最主要是高级程序设计语言。它的出现,奠基研究、完善、向对象式发展,90年代只给出 个可能的发展方向,并发式、多媒体(5GL)、4GL完善、规格说明式、数据库程序设计语言、多范型式。
可以按多种准则为程序设计语言分类。一个语言可以在多个类别,本书按对机器依赖程度、应用领域、实现计算方式、使用方式、编程范型和断代划化, 个角度分类。所指语言一般至少在某个领域是比较通用的。特别是专门的语言不是本书研究范围。
历史上较有影响的语言是:
FORTRAN,COBOL,ALGOL-60,PL/1,LISP,ALGOL-68,BASIC,PASCAL,SIMULA,C,ADA,SMALLTALK,PROLOG,ML,C++,SQL。