`

编程语言的分类

 
阅读更多

我们可以像下面这样定义它们之间的不同:

 

命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

 大多数程序员考虑编程时,他们都要设想用于编写应用程序的 命令式样式和技术。最受欢迎的通用编程语言(包括 Python 和其它面向对象的语言)在样式上绝大多数都是命令式的。另一方面,也有许多编程语言是 声明性样式,包括函数语言和逻辑语言,还包括通用语言和专用语言。 
 
让我们列出几个属于各个种类的语言。许多读者已经使用过这些工具中的许多工具,但不见得考虑过它们之间的种类差别。Python、C、C++、Java、Perl、Ruby、Smalltalk、Fortran、Basic 和 xBase 都是简单的命令式编程语言。其中,一些是面向对象的,但那只是组织代码和数据的问题,而非基本编程样式的问题。使用这些语言,您命令程序执行指令序列:把某些数据 放入(put)变量中;从变量中 获取(fetch)数据; 循环(loop)一个指令块 直到(until)满足了某些条件; 如果(if)某个命题为 true,那么就进行某些操作。所有这些语言的一个妙处在于:便于用日常生活中熟悉的比喻来考虑它们。日常生活都是由做事、选择、再做另一件事所组成的,期间或许会使用一些工具。可以简单地将运行程序的计算机想象成厨师、瓦匠或汽车司机。 
诸如 Prolog、Mercury、SQL、XSLT 这样的语言、EBNF 语法和各种格式的真正配置文件,都 声明某事是这种情况,或者应用了某些约束。函数语言(比如 Haskell、ML、Dylan、Ocaml 和 Scheme)与此相似,但是它们更加强调陈述编程对象(递归、列表,等等)之间的内部(函数)关系。我们的日常生活(至少在叙事质量方面)没有提供对这些语言的编程构造的直接模拟。然而,对于那些可以用这些语言进行描述的问题来说,声明性描述 远远比命令式解决方案来得简明且不易出错。例如,请研究下面这个线性方程组: 
 
清单 1. 线性方程式系统样本
10x + 5y - 7z + 1 = 0
17x + 5y - 10z + 3 = 0
5x - 4y + 3z - 6 = 0
这是个相当漂亮的说明对象(x、y 和 z)之间几个关系的简单表达式。在现实生活中您可能会用不同的方式求出这些答案,但是实际上用笔和纸“求解 x”很烦,而且容易出错。从调试角度来讲,用 Python 编写求解步骤或许会更糟糕。
Prolog 是与逻辑或数学关系密切的语言。使用这种语言,您只要编写您知道是正确的语句,然后让应用程序为您得出结果。语句不是按照特定的顺序构成的(和线性方程式一样,没有顺序),而且程序员或用户并不知道得出的结果都采用了哪些步骤。
 
几种典型的函数式语言
◆Erlang:这是一种以A.K Erlang的名字命名的通用并行编程语言。它有函数式语言的元素,以及一个Actor 并发模型,从而简化并行开发工作。编辑推荐对Erlang感兴趣的读者阅读一下51CTO以前的一次访谈:因并发而生 因云计算而热:Erlang专家访谈实录。
◆Haskell:这是一门已经有超过20年历史的开源编程语言,它的设计宗旨就是成为一门纯粹的函数式语言。
◆OCaml:面向对象的Caml(Objective Caml)是Caml语言的一个开源版本,Caml语言可以算是ML语言的一个方言版了,ML语言1970年就已经开发出来了,也是作为一种通用函数式语言存在的。它被认为是后来出现的F#等多种函数式语言的基础。
◆Lisp:表处理语言(List Processing Language)是一种函数式语言,最初是于1958年拟定的。由它派生出了许多分支。
◆Scala:Scala 语言的设计目标是在Java虚拟机上实现函数式和面向对象这两类编程语言的集成。它是一种强类型的编程语言。Scala编程语言近年来的流行度在不断提升,编辑推荐读者参阅51CTO的Scala编程语言专题。
◆Clojure:Clojure是Lisp语言的一个现代分支,它运行在Java虚拟机上,是为并发程序开发设计的。它是一种动态类型编程语言。
◆F#:这是一种运行在.Net CLR平台上的新语言。它是OCaml的一个分支,它兼具了函数式和命令式面向对象语言的特点。同时它也是一种强类型的编程语言。F#在未来的.NET平台上有重要的作用,将在Visual Studio 2010中被正式包含。
 
  • 大小: 61.9 KB
分享到:
评论

相关推荐

    单片机编程语言_学习哪种编程语言好?

    #### 二、单片机编程语言分类 单片机的编程语言大致分为三类:机器语言、汇编语言和高级语言。 ##### 2.1 机器语言 机器语言是一种由二进制代码构成的语言,直接被计算机硬件识别和执行。尽管它能够高效地利用硬件...

    编程语言原理(第10版

    根据提供的标题“编程语言原理(第10版)”及描述“编程语言原理(第10版 编程语言原理)”,我们可以推断出这本书主要讲述了编程语言的基础理论与实践应用,是学习和理解编程语言设计与实现的重要参考资料。...

    zemax编程语言.pdf

    为了适应这种情况,Zemax提供了一种专有的编程语言——Zemax编程语言(ZPL),让设计师们能够更深入地开发和利用Zemax软件。 Zemax编程语言(ZPL)是一种专门为光学设计软件Zemax设计的脚本语言。它允许用户编写...

    计算机编程语言的分类.pdf

    了解不同的编程语言分类是非常有必要的,可以帮助我们更好地理解和选择合适的编程语言。 机器语言是计算机编程语言的最低级形式,它是直接在硬件中解释的语言。机器语言由一些非常低级的机器指令组成,例如add、sub...

    工业机器人操作与编程-机器人的编程语言.pptx

    编程语言分类 4.编程语言的发展 5.编程语言的现状 6.编程语言——RAPID 1/14 工业机器人操作与编程-机器人的编程语言全文共15页,当前为第2页。 主要内容 了解机器人编程的三个层次内容,掌握示教编程语言的含义 ...

    单片机编程语言中学习哪种编程语言好?

    在探讨单片机编程语言的选择时,我们首先需要了解单片机编程语言的分类,以及它们各自的特点和适用场景。单片机编程语言主要可以分为三大类:机器语言、汇编语言和高级语言。 机器语言是最底层的编程语言,它由一...

    机器人编程语言的类型

    本文将详细介绍机器人编程语言的发展历程以及按作业描述水平的不同分类。 #### 二、发展历程 早期的机器人主要依靠固定的程序或示教方式来控制,这种方式适用于功能单一、动作简单的机器人。然而,随着机器人作业...

    ST语言规则编程手册全面讲解ST语言

    ST语言,全称为Structured Text,是IEC 61131-3标准下的编程语言之一,常用于工业控制领域的PLC(可编程逻辑控制器)编程。ST语言以其丰富的表达能力和接近高级编程语言的语法特性,深受工程师们的青睐。本手册全面...

    软件开发与编程语言

    ### 软件开发与编程语言 在当今数字化时代,软件开发与编程语言的重要性日益凸显。无论是企业级应用还是个人项目,都需要通过编程语言来构建软件解决方案。因此,理解和掌握编程语言及其应用变得至关重要。 #### ...

    编程语言的学习与分类

    编程语言概述 “我该学习什么语言?” 进来看看便知道了。

    十几种编程语言的技术文档集合

    首先,让我们来看看可能包含的编程语言种类: 1. **Java**:Java是一种广泛使用的面向对象的编程语言,特别适合于网络应用和企业级开发。它的文档可能涵盖了基础语法、类库、异常处理、多线程、IO流等内容。 2. **...

    编程语言发展史:新兴编程语言的趋势和发展

    新兴编程语言的出现不仅丰富了编程语言的种类,也为编程带来了更多的可能性和选择。 新兴编程语言的特点包括多样性、简单易学、面向对象、并发性和模块化等。这些特点使得新兴编程语言能够更好地支持高性能计算和...

    阿里云大学编程语言学习内容集锦

    1. 编程语言的分类: 根据描述,编程语言可分为强类型与弱类型语言,静态类型与动态类型语言。强类型语言对变量的数据类型有严格要求,在编译时会进行类型检查。而弱类型语言则对类型检查相对宽松,变量的数据类型...

    PLC的编程语言.pdf

    PLC编程语言的种类有很多,如梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成...

    所有编程语言的API查找工具-推荐一款能查询所有编程语言的API.zip

    在实际使用中,开发者可以通过关键词搜索特定的函数、类或者方法,也可以按照语言分类浏览API,这样可以帮助开发者更快地定位到所需的信息。同时,一个优秀的API查找工具通常会提供清晰的示例代码和详细的解释,帮助...

    2、编程语言与Python介绍.pdf

    - 二 编程语言分类 - - 2.1 机器语言 - 2.2 汇编语言 - 2.3 高级语言 - - 2.3.1 编译型 (如C语言) - 2.3.2 解释型 (如Python) - 2.4 总结 - 三 python介绍 - - 3.1 Python解释器的发展史 - 3.2 Python...

    03-课件:计算机与编程语言.pdf

    1. 编程语言分类:分为低级语言(如汇编语言)和高级语言(如C、Java、Python)。高级语言更接近自然语言,便于人类阅读和编写。 2. 编程语言的结构:包括变量(如int u = 32; int v = 26;),循环(如while循环),...

    tolmach:node.js的代码的编程语言分类器

    基于模块的编程语言器。 安装 $ npm install tolmach 例子 var tolmach = require ( 'tolmach' ) ; tolmach . detect ( 'for item in items:' ) ; // => "python" tolmach . detect ( '#include <stdio>' ) ; // =>...

Global site tag (gtag.js) - Google Analytics