编辑推荐:
摆客一族的时尚生活
心中的冰点
最后一分钟的力量
计算机硬件是软件运行的基础,而软件则是发挥硬件作用的关键。许多入门者除了学用各种软件外,还可能尝试着自己编编程序,那么建议最好先熟悉以下的基础名词,以便尽快进入角色。
开发术语
流程图:使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图在汇编语言和早期的BASIC语言环境中得到应用,由于其中的转向过于任意,带来了许多副作用,现已趋向消亡。较新的是有利于结构化程序设计的PAD图,对PASCAL或C语言都极适用。
汇编语言:计算机中真正可以处理的只是由“0”、“1”组成的二进制代码,这种指令代码易出错且不易修改,由于依赖于机器,使用极不方便,于是人们发明“指令的助记符”,用几个字母(往往就是其含义的英文单词或缩写)代替某条指令,如加法用ADD表示,这种符号系统的扩大就是汇编语言。使用汇编语言编程,优点是运行效率高,可直接对硬件内部进行控制,缺点是需对硬件有更深入的了解,而且编程效率不高,并且与机器的体系结构仍有一定的依赖关系。
汇编程序:由于机器并不能直接识别和运行用汇编语言编制出的程序,必须先转换成对应的机器代码指令,这项工作不用手工完成,仅需交给称为“汇编程序”的软件处理一下,即可得到可以直接运行的程序文件。基于这种关系,人们将用汇编语言编出来的程序称为“源程序”,称用汇编程序处理后产生的程序为“目的程序”。
高级语言:由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。根据应用范围的不同和历史的发展,高级语言有很多种,如BASIC、FORTRAN、C、PASCAL、LISP、FOXPRO、COBOL。
解释程序:对源程序边解释翻译成机器代码边执行的高级语言程序。由于它的方便性和交互性较好,早期一些高级语言采用这种方式,如BASIC、dBASE。但它的弱点是运行效率低,程序的运行依赖于开发环境,不能直接在操作系统下运行。
编译程序:为了提高运行效率和对源程序的保密,人们推出了可以一次性将源程序转换成可执行代码的程序开发软件。它产生可以在操作系统下直接执行的程序,且运行速度比用解释程序执行快得多,但是它要求全部源程序的语法都必须正确,这样调试时就不太方便。为了融合解释和编译的优点,目前许多开发系统已同时提供这两种功能。
Bug:程序中隐藏的功能缺陷或错误。由于现在的软件复杂程度早已超出了一般人能控制的范围,如Win95、Win98这样的较成熟的操作系统也会不定期地公布其中的Bug。如何减少以至消灭程序中的Bug,一直是程序员所极为重视的课题。
调试:编好程序后,用各种手段进行查错和排错的过程。作为程序的正确性不仅仅表现在正常功能的完成上,更重要的是对意外情况的正确处理。注意,调试的指导思想是尽量证明该程序是有错的,而不是证明它是正确的。所以从心理学的角度考虑,开发人员和调试人员不应该是同一个人。
模块化:按照功能将一个软件切分成许多部分单独开发,然后再组装起来,每一个部分即为模块。其优点是利于控制质量、利于多人合作、利于扩充功能等,是软件工程中一种重要的开发方法。
可移植性:由于计算机的硬件体系结构不同,因而导致在某一类型机器上开发的软件不能在另一类计算机上运行,所以某一种语言开发环境开发出来的程序,如不用修改或只需极少量的修改便能在其它种类的计算机上运行,就是可移植性好。
过程:建立模块化的主要机制,它主要用于完成特定的工作,可以返回某些运算的结果,也可以不返回任何结果。
单入口单出口:为了保证开发程序的质量,要求过程中的数据流控制是必须在固定的程序段入口进入,固定的出口返回,不允许在编程中随意使用数据。
软件生命周期:软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
人工智能:就是通过程序使计算机能进行一些思维推理,使其具备一定的环境适应、自动学习、自动决策等人类高级智能。目前在人机对话、智能机器人、专家系统、语言图像识别、问题求解、公式推导、定理证明等许多领域,人工智能都已有较成熟的系统,随着计算机硬件体系的进步,人工智能必将更深入人们的生活。