程序设计语言分类
程序设计语言分类
(参考自龙书《编译原理》机械工业出版社)
一、通过语言的代来分类
代语言名称举例第一代语言机器语言010101010第二代语言汇编语言MASM、NASM、TASM、FASM第三代语言高级程序设计语言Fortran、Cobol、Pascal、Lisp、C、C++、C#、Java等第四代语言为特定应用设计的语言用于生产报告的NOMAD,用于数据库查询的SQL和用于文本排版的Postscript第五代语言基于逻辑和约束的语言Prolog和OPS5二、强制式语言和声明式语言
语言种类定义举例强制式/命令式/指令式言(imperativelanguage)程序中指明如何完成一个计算任务的语言(所有强制式语言中都有用于表示程序状态和语句的表示方法)。需要用算法来明确的指出每一步该怎么做。它通常被看做是形式逻辑的理论,把计算看做推导。C,C++,C#和Java、FORTRAN、Pascal等。声明式语言(declarativelanguage)程序中指明要进行哪些计算的语言。描述目标性质,让计算机明白目标,而非流程。声明式编程不用告诉计算机问题领域,从而避免随之而来的副作用。ML、Haskell这样的函数式语言和Prolog这样的约束逻辑语言三、面向对象语言(object-orientedlanguage)和非面向对象语言
语言种类编程思想特点举例面向对象语言面向对象分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了Simula67,Smalltalk,C++,C#,Java和Ruby等非面向对象语言面向过程把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。C,FORTRAN,(引用自龙书《编译原理》机械工业出版社)四、冯·诺依曼语言(vonNeumannlanguage)、和脚本语言(scriptinglanguage)
1.冯.诺伊曼语言是指以冯.诺伊曼计算机体系结构为计算模型的程序设计语言。今天的很多语言(比如Fortan和C)都是冯.诺伊曼语言。
2.脚本语言(scriptinglanguage)是具有高层次运算符的解析型语言,它通常被用于把多个计算过程“粘合”在一起。这些计算过程被称为脚本。Awk、JavaScript、Perl、PHP、Python、Ruby和Tcl是常见的脚本语言。使用脚本语言编写的程序通常要比其他语言(比如C)写的等价的程序短很多。脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。 它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。