��从建立良好结构的程序来看,各个语言之间也有差别。如,老FORTRAN 语言版本中的逻辑IF语句不允许IF语句嵌套,在COBOL语言中不提供局部变量, 也没有构造模块结构的能力。为了补偿语言中的这种缺陷,人们研制了预处理器。程序员使用一个程序设计语言的"结构化"版本编制程序,先在机器上用预处理器把它转换成相应的非结构化语句,再进行编译。
��第四代语言,例如查询语言、图形语言、报表生成器、非常高级的语言等,有的是过程化的语言,有的是非过程化的语言。不论是哪种语言,编制出的程序都容易理解和修改,而且,其产生的指令条数可能要比用COBOL语言或用PL/1语言编制出的少一个数量级,开发速度快许多倍。有些非过程化的第四代语言,用户不需要指出实现的算法,仅需向编译程序或解释程序提出自己的要求,由编译程序或解释程序自己做出实现用户要求的智能假设,例如自动选择报表格式,选择字符类型和图形显示方式等。 总之,从维护角度来看,第四代语言比其它语言更容易维护。
  
图示

图7.9 程序设计语言对可维护性的影响
��