程序设计语言从程序设计方法来分可分为什么?

程序设计语言从程序设计方法来分可分为什么?,第1张

程序设计语言分为:

1、命令式语言;2、函数式语言,基于数学函数概念的值映射的λ算子可计算模型;3、逻辑式语言,基于一组已知规则的形式逻辑系统;4、面向对象语言

程序设计语言分为:

1、命令式语言。

这种语言的语义基础是模拟“数据存储/数据 *** 作”的图灵机可衡哗计算模型,十分符合现代计算机体系结构的自然实现方式。

其中产生 *** 作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如Fortran、Pascal、C++obol、C、C++、Basic、Ada、Java、C#等,各种脚本语言也被看作是此种类型。

2、函数式语言。

这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如Lisp、Haskell、ML、Scheme、F#等。

3、逻辑式语言。

这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是Prolog。

4、面向对象语言。

现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语空拦圆义就是基本对象 *** 作。主要的纯面向对象语言是Smalltalk。

虽然各种语言属于不同的类型,但它们各自都不同程度地对其他类斗塌型的运算模式有所支持。

计算机程序的构造和解释作者:HaroldAbelson,GeraldJaySussman,JulieSussman

isbn:7111135105

书名:计算机程序的构造和解释(原书第2版)

页数:473

译者:裘宗燕

出版社:机械工业出版社

装帧:平装

出版年:2004-02-01

又名:StructureandInterpretationofComputerPrograms,SecondEdition本书1984年出版(右图分别是第一,第二版封面),成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,本书对于计算机科学的教育计划产生了深刻的影响。

第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。

本书自出版以来,世界各地已有100多所院校采用本书做教材,其中包括美国斯坦福大学、美国普林斯顿大学、英国牛津大学、日本东京大学等。作者简介:

HaroldAbelson是MIT1992年度MacVicarFacultyFellow。GeraldJaySussman是Matsushita电子工程教授。他们都在MIT电子工程和计算机科学系工作.都得到过最重要的计算机科学教育奖:如Abelson得到了IEEE计算机学会的Booth奖。Sussman得到了ACM的Karlstrom奖。

JulieSussman是作家和编辑,同时使用自然语言和计算机语言写作。

每一位严肃的计算机科学家都应该阅读这本书。由于本书清晰、简洁和富于才智,我们强败纳烈推荐本书,它适合所有希望深刻理解计算机科学的人们。

——MitchellWand<dr>

《美国科学家》杂志

网友评价:

1.涵盖面很广。从数据抽象、过程抽象、迭代、高阶函数等编程和控制系统复杂性的思想,到数据结构和算法,到编译器/解释器、编程语言设计。MIT这门课的课程讲义(在MITOCW里可找到)里还增加了面向对象编程的内容。虽然很多内容涉及并不深入,但是这是MITEECS(电子工程与计算机科学系)的第一门专业基础课(6.001),也就是说MIT计算机专业的学生在进入大学之后,在这门课之前没有上过其它编程、软件、计算机方面的课程。从这个角度看,起点是非常高的。其它大学的学生在倒腾C语言的时候,MIT的学生在思考设计语言和系统。

2.用解释语言而不是编译语言来阐述思想,简化了数据类型、运行察大没环境相关的一些细节,另外Scheme/Lisp有着极其简练、但功能极其强大和灵活的语法,这些都使阅读者更多地将精力集中在思想上,而不是语法细节上,颇为适合学习,只是Scheme的执行效率可能较低,表达力可能不够”丰富“,不一定适合于实际开发。

3.MITOCW6.001里有几个project,都很有意思。其中一个是设计一个类似于Google使用的web爬虫!虽然实际上没这么可怕,做了很多简化,集中在树的遍历与索引表的建立和查询上,但是仍然可以从中看出教授的视野和对学生的要求。

4.现在MITEECS已经取消了这门课,6.001的EECS介绍性功能被6.01和6.02两门课程替代,另外新增了6.005(软件),6.006(算法),是不是因为6.001起点太高或有点偏呢?(对于EE方向的学生来说似乎有点偏。)尽管如此,作为一仿枝门在MITEECS教授了20多年的经典课程,仍然有其价值。

5.MITEECS没有专门教授C、C++、Java等编程语言的课,一般都是要求学生用很短的时间自学。比如6.004要用到C,6.005要用到Java,6.006要用的Python,教授会要求学生在课程开始的几个星期内自学掌握这些语言。

6.SICP中译本翻译有些问题。比如表述符号(变量)和值的binding关系时,binding一词应翻译成“绑定”,而不是“约束”。

7.MITScheme相当难用,简直是石器时代的开发工具:)(指编辑和解释器,不是语言)。

8.有人说看这本书主要看第四第五章。这不是一件容易的事情,尤其对于我们这个计算机教育落后的国家。好在还有平易近人的一二三章,基本上可以在网上找全习题答案。

9.有人说scheme是程序设计语言中的皇后,更多的人从来没见过这条恐龙。打工族翻上几页后的第一个感觉是,这本书到底有什么用?如果你对数据结构算法编译原理模块设计足够自信,如果你的日常工作是复制粘贴字符串并且很满意这个结果,再或者如果你是mit的电子工程学士,算啦。

10.最后有一点,全部的习题能不落下尽量做,数量很多,主要是需要很多的时间思考,收获也不是一般的

1、结构化程序设计

在结构化程序设计中,戚腊任何程序段的编写都基于3种结构:分支结构、循环结构和顺序结构。程序具有明显的模块化特征,每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰,模块化强,描述方式贴近人们习惯的推理式思维方式,因此可读性强。

2、面向对象程序设计

面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。

程序设计的分类

1、按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后衫仔虚者反之。

2、按照用户的要求或燃,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。

3、按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12533331.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存