选择编程语言先决条件

原创 2005年02月28日 09:43:00

实现系统的语言对你来说是有重大意义的,因为从创建工作开始到结束你都要沉浸其中。
研究表明,程序语言选择可以通过几方面影响生产率和编码质量。
当程序员使用自己所熟悉的语言时,其工作效率要比使用陌生的语言高得多。TRW 公司的
数据表明,两个水平和经验相当的程序员如果一个用一种他已用了三年的语言编程,而另一个
则用一种他所陌生的语言编程,那么前者的效率要比后者高 30%。IBM 的调查表明,一个在某
种语言上经验丰富的程序员,其效率要比在这种语言上没什么经验的程序员高三倍(Walston
和 Felix 1977)。
使用高级语言编程,其效率和质量要比使用低级语言高得多。Pascal 和 Ada 语言的效率、
可靠性、简单性和可懂性是低级语言,如汇编和机器语言的 5 倍(Brooks 1987)。由于不必每
次都为机器正确地执行了指令而欢呼,你当然可以节省许多时间。同时,高级语言的表达能力
比低级语言要高,这样,它的每一行代码就可以表达更多的内容。表 3-2 给出了在代码量相同
的情况下,高级语言所表达的原指令与低级语言的比值(以汇编语言为代表)。


IBM公司的数据从另一个方面指出了语言特性是如何影响效率的,用解释语言工作的程序
员往往比用编译语言工作的程序员的效率更高(Jones 1986)。许多种语言都有解释和编译两种
形式(如多种版本的 c 语言),你可以用高效率的解释形式,然后再把它们转换成更容易执行的
编译形式。
一些语言比其它语言更擅长解释编程思想。你可以把自然语言(如英语)和程序语言(如
Pascal 和汇编语言)进行对比。在自然语言中,语言学家 Sapir 和 Whorf 提出的假想指出,在一
种语言的表达能力和其所能思考的问题之间存在着联系,你思考某一问题的能力取决于你所懂
得的关于这一问题的词汇。如果你不懂那些词汇,那你也就不能表达那些思想,你甚至根本无
法形成那些思想。
程序员也可能同样受到他所懂得的程序语言限制。在某种程序语言方面你所懂得的词汇,
当然会决定你如何表达你的编程想法,还很可能决定你将表达什么样的思想。
程序语言影响程序员的思想方法。一个典型的故事是这样说的:“我们正用 Pascal 语言开发
一个新的系统,而我们的程序员们却并不熟悉 Pascal 语言,他们都是搞 Fortran 语言出身的。结
果他们写出的是用 Pascal 编译的代码,但是他们真正使用的却是变形的 Fotran 语言。他们用
Fortran 的不好的特性(goto 语句和全局数据)歪曲了 Pascal 语言,而同时又把 Pascal 丰富的控
制和数据结构弃之不用”。这种现象在整个软件业都有报道(Hanson 1984,Yourdon 1986)。
3.5.1 语言描述
某些语言的发展史同其通用功能一样令人感兴趣。以下是关于一些在本书中所举的例程中所
出现的语言的描述。
Ada 语言
是一种在 Pascal 语言基础上发展的通用高级语言,它是在国防部的要求和资助下发展起来
的,特别适用于实时和嵌入式系统。Ada 强调数据抽象和信息隐蔽,迫使你区分模块的公共和
局部部分。
把这种语言命名为“Ada”是为了纪念数学家 Ada lovelace,她被公认为世界上的第一个程
序员,从 1986 年起,北约组织和国防部的所有关键任务嵌入式系统都采用 Ada 语言。
汇编语言
汇编语言,是一种低级语言,每一条语句都与一条机器指令相对应。由于语句使用特定的
机器指令,所以汇编语言是针对特定处理器的,比如 Intel 80x86 或者 Motorala 680x0。汇编是
第二代计算机语言,除非是执行速度或代码空间的需要,绝大多数程序员都避免使用它。
Basic 语言
Basic 是由 Dartmouth 学院的 John Kemeny 和 Thormas Kurtz 开发的一种高级语言。由字首
组成的 BASIC 的意思是初学者的全功能符号指令代码(Beginner’ s All-Purpos Symbolic Instruction Code),Basic 主要用于教学生们编程。由于 IBM-PC 机包含了它而使其在微机中风
行一时,Basic 原来是一种解释性语言,现在则解释性和编译性两种形式都有。
C 语言
C 是一种中级通用语言,本来是和 UNIX 操作系统相关的。C 有某些高级语言的特点,例
如,结构化数据、结构化控制流、对于机器的独立性、丰富的操作指令等。它也被称作“可移
植的汇编语言”,因为它广泛地使用了指针和地址,具有某些低级组成部分,如位操作,而且是
弱类型的。
C 是在七十年代由贝尔实验室 Dennis Ritchie 开发的。C 本来是为 DEC PDP-11 设计的,
它的操作系统、C 编译器和 UNIX 应用程序都是用 C 编写的。1988 年,ANSI 公布了 C 的编码
标准,这成了微机和工作站编程的通用标准。
C++语言
C++,是一种面向对象的语言,与 C 相似,由贝尔实验室的 Bjarne Stroustrup 于 1980 年开
发,除了与 C 兼容之外,C++提供了多态性和函数重载功能,同时,它还提供了比 C 更坚固的
类型检查功能。
Fortran 语言
Fortran 是一种高级语言,引入变量和高级循环的概念。Fortran 代表 Formula Translation,
即公式翻译的意思。 Fortran 最初是在五十年代由 Jim Bckus 开发,并且做过几次重大修订.包
括 1977 所发表的 Fotran-77,其中增加了块结构化的 IF-THEN-ELSE 语句和字符串操作。
Fortran-90 增加由用户定义的数据类型、指针、模块和丰富的数组操作。在写本书的时候(1992
年末)。Fortran 标准是如此引发争议,以致绝大多数语言商都没能最终完成它。本书中所引用
的是 Fortran-77 标准。Fortran 语言主要在科学和工程计算中使用。
Pascal 语言
Pascal 是为了教学目的而开发的高级语言。其主要特征是严格的类型、结构化控制创建和
结构化数据类型。它是在六十年代末由 Niklaus Wirth 开发,到了 1984 年,由于 Borland 国际
公司引入了微机使用的低成本编译程序,Pascal 就流行起来了。
3.5.2 语言选择快速参考表
表 3-3 给出了关于不同语言适用范围的简略参考。它也可以帮你选择应该进一步了解的语
言。但是,不要试图用它来代替对你某一特定计划进行语言选择时的详细评估。以下的排序是
很粗略的,因此阅读时应仔细辨别,因为很可能会有许多例外。

如何选择你的第一门编程语言

选择哪门语言作为学习的第一门语言,是刚进软件开发领域的人常问的问题,本文将提供一些参考意见。...
  • sinat_32582203
  • sinat_32582203
  • 2016年08月18日 18:48
  • 1010

谈谈编程语言的选择

常常有新人问我,我该学哪一门编程语言呢?编程语言太多了,我都不知道该选择哪一门编程语言来深入学习了!是的,我也曾被这个问题所困恼,当初学习软件编程时也经历了C/Java/C#这样的路线,后来我也接触并...
  • guwei4037
  • guwei4037
  • 2016年03月09日 10:53
  • 4625

初学者该如何选择编程语言呢?

互联网大热,随之对技术、程序员的需求也是很大,因此,很多大学生或想转行从事计算机编程工作,但市场上编程语言众多,我们该选择哪种语言呢?今天我们大圣众包小编根据网络资源从多个角度分析该选择哪个语言! ...
  • dashenghuahua
  • dashenghuahua
  • 2016年11月15日 17:03
  • 397

当你选择编程语言时你在选择什么

我的微信订阅号“程序视界”有个“有问有答”栏目,上次发了“问答 | 我适合做软件开发吗”,这次我们来回答这个问题:我应该学哪种语言?...
  • foruok
  • foruok
  • 2016年01月25日 07:31
  • 6642

Oracle 11G 数据库 安装 先决条件失败 解决办法

前端时间装oracle11G,从官网上下载的数据库。提示先决条件全部失败,尝试了百度上的所有方法,后还是不能解决,随后换了12C数据库,结果一样失败。 经过不懈的坚持,终于在网上找到了有用的解决办法。...
  • skyfred
  • skyfred
  • 2016年10月18日 17:01
  • 2213

Cordova学习(1)安装构建先决条件

首先,确保已经安装: 1、node.js,自带npm包,也可安装cnpm(淘宝镜像, npm install -g cnpm --registry=https://registry.npm.ta...
  • qq_39074967
  • qq_39074967
  • 2018年01月10日 08:58
  • 22

VS2008学习3.切换编程语言

三种方法 1. 用命令:先关掉VS,打开一个VS命令行窗口Visual Studio 2008 Command Prompt. 输入命令"devenv /resetsettings vc.vsset...
  • rwerty
  • rwerty
  • 2016年05月30日 13:44
  • 229

Oracle数据库安装先决条件检查失败解决方案

在64位win7专业版系统上安装oracle 11g ,执行先决条件检查时,所有检查条件均显示失败         上述检查失败信息中,预期值:N/A  实际值:N/A ,并未出现具体的值  查看...
  • maq2ian0gqi1ang2
  • maq2ian0gqi1ang2
  • 2016年10月01日 20:28
  • 10770

你该选择哪种编程语言来开发App呢?

全球范围内App开发者数量有增无减,你选择哪种编程语言来开发App呢?你得研究过跨平台app设计,你得知道一些app开发的常见缺陷。这取决于你的受众和你所选择的平台,然后选择一门合适的语言。 你会选...
  • c1782746138
  • c1782746138
  • 2014年07月01日 16:43
  • 1372

进行人工智能机器人研发,应该选择哪种编程语言?

在本文中,我们将介绍机器人研发中使用的十大最流行的编程语言。我们将讨论他们的缺点和优点,以及使用或者不使用它们的理由。世界上有超过1500种编程语言你可以学习。下面列出的是目前机器人中十种最流行的编程...
  • R1uNW1W
  • R1uNW1W
  • 2017年12月08日 00:00
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:选择编程语言先决条件
举报原因:
原因补充:

(最多只允许输入30个字)