1. 如何设计一门计算机编程语言呢
第一步:首先要对这种语言的大体操作和理论知识要有一些了解,这个可以看哈相应的教材。第二步:研究代码程序的执行过程第三步:就是最重要的要多练,最好是再点由浅到深的题去做这样只要你坚持两个月相信你会有很大的进步的
2. 计算机中主要的程序设计语言有哪几种
目前通用的编程语言有两种形式:汇编语言和高级语言。高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
解释类、编译类(例如Visual C++、Visual Foxpro、Delphi等)Basic语言 & Visual Basic 简单易学,很容易上手Pascal语言 & Delphi 语言结构严谨,可以很好地培养一个人的编程思想C语言 & Visual C++ 灵活性好,效率高,可以接触到软件开发比较底层的东西C++语言 & C++ Builder 极强的兼容性,支持OWL、VCL和MFC三大类库SQL语言 & Power Builder
3. 计算机程序设计的主要步骤有哪些
首先你要对你要做的程序有个大概的思路,然后框架想出来以后,再一点一点的进行完善,把每个功能的功能、目标写下来,这阶段就是所谓的需求设计。进行完功能上的描述以后,就可以开始设计内部逻辑了,以及一些函数和方法,这个阶段就是所谓的详细设计。根据功能描述和函数、方法的设计把功能补全,函数、方法之间的调用等等代码,这个阶段就是编码阶段。你把功能都做出来以后需要验证,是不是和你当初设计的功能相符,你可以用代码去验证,也可以从应用角度上来验证。这个阶段就是测试阶段。通过测试后的程序就可以发布了,发布后还要继续一段时间的修改、补充。这个阶段就是维护阶段。
如果你要是真想干这个,劝你去看看软件工程。如果是应付差事就算了。
4. 如何编写电脑程序
你要是大师就随便编写,要是想利用软件自动生成我建议你还是放弃吧
1、C语言
如果说FORTRAN和COBOL是第一代高级编译语言,那么C语言就是它们的孙子辈。C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。
C语言支持结构化编程,也就是说C的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用GOTO语句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代码”代码要简单得多。事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。
正由于它的系统编程根源,将C和汇编语言进行结合是相当容易的。函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要连接独立的汇编模块。
优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。
缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。
移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。
用C语言编写的游戏:非常非常多。
资料:C语言的经典着作是《The C Programming Language》,它经过多次修改,已经扩展到最初的三倍大,但它仍然是介绍C的优秀书本。一本极好的教程是《The Waite Group's C Primer Plus》。
2、C++
C++语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GUI和数据库的库实现为对象的集合。
C++总是辩论的主题,尤其是在游戏开发论坛里。有几项C++的功能,比如虚拟函数,为函数呼叫的决策制定增加了一个额外层次,批评家很快指出C++程序将变得比相同功能的C程序来得大和慢。C++的拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且不可能很快得出结论的争论。
我认为,C++的额外开支只是使用更好的语言的小付出。同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的时候。批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必然如此。而高级语言支持者认为这么点小小的性能损失是值得的,因为COBOL和FORTRAN程序更容易编写和维护。
优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。
缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。
移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C++对象实现。
使用C++编写的游戏:非常非常多。大多数的商业游戏是使用C或C++编写的。
资料:最新版的《The C++ Programming Language》非常好。作为教程,有两个阵营,一个假定你知道C,另外一个假定你不知道。到目前为止,最好的C++教程是《Who's Afraid of C++》,如果你已经熟知C,那么试一下《Teach Yourself C++》。
3、我该学习C++或是该从C开始
我不喜欢这种说法,但它是继“我该使用哪门语言”之后最经常被问及的问题。很不幸,不存在标准答案。你可以自学C并使用它来写程序,从而节省一大堆的时间,不过使用这种方法有两个弊端:
你将错过那些面向对象的知识,因为它可能在你的游戏中使得数据建模更有效率的东西。
最大的商业游戏,包括第一人称射击游戏很多并没有使用C++。但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程技术。如果你只想学C,至少要自学OO(面向对象)编程技术。OO是仿真(游戏)的完美方法,如果你不学习OO,你将不得不“辛苦”的工作。
4、汇编语言
显然,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。
确切的说,任何你能在其他语言里做到的事情,汇编都能做,只是不那么简单 — 这是当然,就像说你既可以开车到某个地方,也可以走路去,只是难易之分。话虽不错,但是新技术让东西变得更易于使用。
总的来说,汇编语言不会在游戏中单独应用。游戏使用汇编主要是使用它那些能提高性能的零零碎碎的部分。比如说,毁灭战士整体使用C来编写,有几段绘图程序使用汇编。这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。而从C里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。
特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。
优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。
缺点:难学、语法晦涩、坚持效率,造成大量额外代码 — 不适于心脏虚弱者。
移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。
使用汇编编写的游戏:我不知道有什么商业游戏是完全用汇编开发的。不过有些游戏使用汇编完成多数对时间要求苛刻的部分。
资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。网络上如Intel、AMD、Motorola等有一些关于它们的处理器的资料。对于书籍而言,《Assembly Language: Step-By-Step》是很值得学习的。
5、Pascal语言
Pascal语言是由Nicolas Wirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感到很失望,“空心粉式代码”变成了规范,而当时的语言又不反对它。Pascal被设计来强行使用结构化编程。最初的Pascal被严格设计成教学之用,最终,大量的拥护者促使它闯入了商业编程中。当Borland发布IBM PC上的 Turbo Pascal时,Pascal辉煌一时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写小程序的首选语言。
然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal在1990年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转向了为Windows 编写程序的C++。Turbo Pascal很快被人遗忘。
最后,在1996年,Borland发布了它的“Visual Basic杀手”— Delphi。它是一种快速的带华丽用户界面的 Pascal编译器。由于不懈努力,它很快赢得了一大群爱好者。
基本上,Pascal比C简单。虽然语法类似,它缺乏很多C有的简洁操作符。这既是好事又是坏事。虽然很难写出难以理解的“聪明”代码,它同时也使得一些低级操作,如位操作变得困难起来。
优点:易学、平台相关的运行(Delphi)非常好。
缺点:“世界潮流”面向对象的Pascal继承者(Mola、Oberon)尚未成功。语言标准不被编译器开发者认同。专利权。
移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。
使用Pascal编写的游戏:几个。DirectX的Delphi组件使得游戏场所变大了。
资料:查找跟Delphi有关的资料,请访问:Inprise Delphi page。
6、Visual Basic
哈,BASIC。回到八十年代的石器时代,它是程序初学者的第一个语言。最初的BASIC形式,虽然易于学习,却是可怕的无组织化,它义无反顾的使用了GOTO充斥的“空心粉式代码”。当回忆起BASIC的行号和GOSUB命令,没有几个人能止住眼角的泪水。
快速前进到九十年代早期,虽然不是苹果公司所希望的巨人,HyperCard仍然是一个在Windows下无法比拟的吸引人的小型编程环境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂贵。为了与HyperCard一决高下,微软取得了一个小巧的名为Thunder编程环境的许可权,并把它作为Visual Basci 1.0发布,其用户界面在当时非常具有新意。这门语言虽然还叫做Basic(不再是全部大写),但更加结构化了,行号也被去除。实际上,这门语言与那些内置于TRS-80、Apple II及Atari里的旧的ROM BASIC相比,更像是带Basic风格动词的Pascal。
经过六个版本,Visual Basic变得非常漂亮。用户界面发生了许多变化,但依然保留着“把代码关联到用户界面”的主旨。这使得它在与即时编译结合时变成了一个快速原型的优异环境。
优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件,DirectX 7已准备提供Visual Basic的支持。
缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的面向对象。专利权。
移植性:非常差。因为Visual Basic是微软的产品,你自然就被局限在他们实现它的平台上。也就是说,你能得到的选择是:Windows,Windows或Widnows。当然,有一些工具能将VB程序转变成Java。
使用Visual Basic编写的游戏:一些。有很多使用VB编写的共享游戏,还有一些是商业性的。
资料:微软的VB页面有一些信息。
7、Java
Java是由Sun最初设计用于嵌入程序的可移植性“小C++”。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画 — 它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。
虽然不是C++的正式续篇,Java从C++ 中借用了大量的语法。它丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。不像C++,Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。
优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。
缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。有很多技术(例如“即时”编译器)很大的提高了Java的速度,不过速度永远比不过机器码方案。早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。越高级的技术,造成处理低级的机器功能越困难,Sun为这门语言增加新的“受祝福”功能的速度实在太慢。
移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI及新功能在某些平台上不稳定。
使用Java编写的游戏:网页上有大量小的Applet,但仅有一些是商业性的。有几个商业游戏使用Java作为内部脚本语言。
资料:Sun的官方Java页面有一些好的信息。IBM也有一个非常好的Java页面。JavaLobby是一个关于Java新闻的最好去处。
8、创作工具
上面所提及的编程语言涵盖了大多数的商业游戏。但是也有一个例外,这个大游戏由于它的缺席而变得突出。
“神秘岛”。没错,卖得最好的商业游戏不是使用以上任何一门语言编的,虽然有人说“神秘岛”99%是使用 3D建模工具制作的,其根本的编程逻辑是在HyperCard里完成的。
多数创作工具有点像Visual Basic,只是它们工作在更高的层次上。大多数工具使用一些拖拉式的流程图来模拟流程控制。很多内置解释的程序语言,但是这些语言都无法像上面所说的单独的语言那样健壮。
优点:快速原型 — 如果你的游戏符合工具制作的主旨,你或许能使你的游戏跑得比使用其他语言快。在很多情况下,你可以创造一个不需要任何代码的简单游戏。使用插件程序,如Shockware及IconAuthor播放器,你可以在网页上发布很多创作工具生成的程序。
缺点:专利权,至于将增加什么功能,你将受到工具制造者的支配。你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具无法完成的。某些工具会产生臃肿得可怕的程序。
移植性:因为创作工具是具有专利权的,你的移植性以他们提供的功能息息相关。有些系统,如Director可以在几种平台上创作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上创作和运行。
使用创作工具编写的游戏:“神秘岛”和其他一些同类型的探险游戏。所有的Shockwave游戏都在网络上。
资料:Director、HyperCard、SuperCard、IconAuthor、Authorware。
9、易语言
★全中文支持,无需跨越英语门槛。★全可视化编程,支持所见即所得程序界面设计和程序流程编码。★中文语句快速录入。提供多种内嵌专用输入法,彻底解决中文语句输入速度慢的问题。★代码即文档。自动规范强制代码格式转换,任何人编写的任何程序源代码格式均统一。★参数引导技术,方便程序语句参数录入。★无定义类关键字。所有程序定义部分均采用表格填表方式,用户无需记忆此类关键字及其使用格式。★命令格式统一。所有程序语句调用格式完全一致。★语法格式自动检查。自动检查并提示所输入语句的语法格式是否正确,且可自动添加各类名称。★全程提示与帮助。鼠标停留立即显示相关项目提示。编程时提示语法格式,调试时提示变量当前内容,随时按下F1键可得到与当前主题相关详细帮助等。★名称自动管理。用户修改任一名称定义,其它所有包含该名称的程序代码均自动修正。★集成化开发环境。集界面设计、代码编写、调试分析、编译打包等于一体。★学习资源丰富。详细的帮助文件、数十兆的知识库、数万用户的网上论坛、教材已出版发行……
10、结论
你可能希望得到一个关于“我该使用哪种语言”这个问题的更标准的结论。非常不幸,没有一个对所有应用程序都最佳的解决方案。C适于快而小的程序,但不支持面向对象的编程。C++完全支持面向对象,但是非常复杂。Visual Basic与Delphi易学,但不可移植且有专利权。Java有很多简洁的功能,但是慢。创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序起作用。最好的方法是决定你要写什么样的游戏,并选择对你的游戏支持最好的语言
5. 计算机程序设计语言有哪些
语言的种类千差万别,但是,一般说来,基本成分不外4种。
1、数据成分。用以描述程序中所涉及的数据的语言。
2、运算成分。用以描述程序中所包含的运算的语言。
3、控制成分。用以表达程序中的控制构造的语言。
4、传输成分。用以表达程序中数据的传输的语言。
程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。
(5)电脑程序语言设计方法扩展阅读:
程序设计语言的特性
程序设计语言具有心理工程及技术等特性。
1、心理特性:歧义性、简洁性、局部性、顺序性、传统性。
2、工程特性:可移植性,开发工具的可利用性,软件的可重用性、可维护性。
3、技术特性:支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。
6. 程序设计语言的分类有哪些
1、基础语言也称通用语言,它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户, 为人们所熟悉和接受。,属于这类语言的有FORTRAN、COBOL、BASIC、ALGOL等。
2、结构化语言,20 世纪 70 年代以来,结构化程序设计和软件工程的思想日益为人们所接受和欣赏。在它们的影响下,先后出现了一些很有影响的结构化语言,PASCAL、C、Ada 语言就是它们的突出代表。
3、面向对象语言,以“对象+消息”程序设计范式构成的程序设计语言,称为面向对象语言。比较流行的面向对象语言有Delphi、Visual Basic、Java、C++等。
程序设计语言的应用领域:
1、科学工程计算。需要大量的标准库函数,以便处理复杂的数值计算,可供选用的语言有FORTRAN语言、C语言等。
2、数据处理与数据库应用。SQL为IBM公司开发的数据库查询语言,4GL称为第4代语言。实时处理软件一般对性能的要求很高,可选用的语言有汇编语言、Ada语言等。
3、系统软件,如果编写操作系统、编译系统等系统软件时,可选用汇编语言、C语言、Pascal语言和Ada语言。
4、人工智能,如果要完成知识库系统、专家系统、决策支持系统、推理工程、语言识别、模式识别等人工智能领域内的系统,应选择Prolog、Lisp语言。
7. 计算机程序设计语言的分类有哪些
程序设计语言是人们根据实际问题的需要而设计的。目前可以分为三大类:一是机器语言。它是用计算机的机器指令表达的语言;二是汇编语言。它是用一些能反映指令功能的助记符表达的语言;三是高级语言。它是独立于机器、接近于人们使用习惯的语言。
在计算机科学发展的早期阶段,一般只能用机器指令来编写程序,这就是机器语言。由于机器语言直接用机器指令编写程序,无论是指令还是数据,都须得用二进制数码表示,给程序编制者带来了很多麻烦,需要耗费大量的时间和精力。为了解决这个问题,使程序既能简便地编制,又易于修改和维护,于是出现了程序设计语言。程序设计语言一般分为低级语言和高级语言。低级语言较接近机器语言,它是用由英文字母的助记符代替指令编码,用英文字母和阿拉伯数字组成的十六进制数代替二进制数,从而避免了过去用来表示指令、地址和数据的令人烦恼的二进制数码问题。典型的低级语言是汇编语言。正因为汇编语言是低级语言,所以它对机器依赖性较大。不同的机器有不同的指令系统,所以,不同的机器都有不同的汇编语言。
高级语言则是独立于指令系统而存在的程序设计语言,它比较接近人类的自然语言。用高级语言编写程序,可大大缩短程序编写的周期。高级语言比汇编语言和机器语言简便、直观、易学,且便于修改和推广。
目前,世界上已有许多各种各样的程序设计语言。由于计算机本身只认识它自己的机器指令,所以对每个程序设计语言都要编制编译程序或解释程序。编译程序、解释程序是人和计算机之间的翻译,它负责把程序员用高级语言编写的程序翻译成机器指令。这样,计算机才能认识这程序,这程序才可以上机运行。
由于不同的程序设计语言有不同应用范围,至今还没有一种程序设计语言能把所有应用包含在内。现在广为应用的几种语言中,FORTRAN侧重科学计算,BASIC善于人机对话,PASCAL着重结构设计,COBOL长于报表处理。
人们交流思想、传递信息要使用语言这个工具。我们要让计算机为我们工作,也必须同计算机交流信息,同样有个语言工具问题。学习使用电子计算机,主要的就是学习电子计算机的语言。
8. 电脑编程语言怎么设计出来的
编程语言..是人为制作的....
那么,,怎么制作出来的呢????
那就要从C语言讲起了..C语言是祖宗了..但也不是最早的祖宗...
当年98操作系统,,就是用C语言编写的..
后来微软推出的编程工具,,也是用C++或者C语言编写的..
那么C语言和C++又是谁发明出来的呢????
C语言和C++都被称为高级语言..什么叫高级语言呢?
就是能够被人理解的语言.就叫高级语言了...
那么,,怎么发明出来的呢?
其实,,当初人们和计算机打交道,,当初的计算机,,也就是最早的计算机,,有一个房子那么大..操作他要几十个科学家..
为什么呢?因为计算机只能识别二进制语言..
人们就在二进制的基础上,,慢慢编写,,用了发明了汇编语言这种低级语言,,毕竟汇编比二进制容易理解很多很多..
但由于汇编学习起来很难理解..于是人们 又在他的基础上,进一步解释,简化..最后发明C语言,,到C++(其实C++和C语言是完全不同的语言,,但他们都是计算机语言,不过是表达规则不同罢了),,
之后又在这个基础上发明了什么VB等的语言..
这些都是从低级语言一级一级发展而来的的后辈了..
如果你想编写自己的计算机语言,,那么你可以学习C语言..C语言功能强大,,接近计算机硬件..
如果你觉得不爽,,就学习汇编吧..这个语言比C语言更低级..更接近计算机硬件..用这种语言编写的病毒程序,,甚至能让计算机硬件损坏..
当今变成工具,,繁多,,但最终都是从几个基础语言系发展出来的..
一个是C语系..包括C++,,等
另一种是BASIC语系....
等..
想发明自己的计算机语言学好最基础的BASIC和C语言是个不错的做法...
最好就学汇编吧..
9. 什么是电脑的语言程序设计
在电脑时代的早期,有一个有趣的现象,那就是没有人知道该如何撰写电脑程序,也没有人知道该如何训练他人撰写程序。数学家或其他科学家虽然具备解决这方面问题的能力,但是许多专业人员,好比从音乐到文学方面的专业,也同样具有相当重要的贡献。今天即使在处理许多先进的问题上,如人类学、哲学、艺术及心理学等观念,非技术方面的专业人员亦引领着电脑科技的发展方向。
理由很简单,无论有多少的硬件设备,电脑终究要被人类所使用,人类可能担任操作者或程序设计人员的角色,不论是多媒体展示会的观众,或是受惠于电脑辅助设计教学的学生,在人机界面上,人类的智慧思维,与电子电路、物理及机械方面的知识,具有相同的重要性。
一旦有了程序语言,撰写程序便显得相当重要,我们再次强调,“语言”这种说法是非常恰当的,如同诗人、小说家或老师运用语言来写诗、小说或课本一般,程序设计师利用程序语言来撰写有用的或娱乐性的电脑程序。究竟现在有多少电脑程序存在呢?答案至少有数百万个。有数以百计的主程序包含数以千计的副程序,而且有许多标准程序可供用户修改成符合个别且特殊需求的程序。
在商场上被广为采用的,是数据库管理系统程序,或称DBMS。简单地说,数据库是一种事件的搜集,通常这些事件之间有某种程度的关联,如字典一般,电话簿就是一个数据库;又如银行建立的顾客的数据库,内容详列顾客的姓名、地址、账号,以及投资或储金的偏好,当一种新的存款方式上市,银行便会列出顾客名单,并寄上简介信给可能对此新产品有兴趣的客户。
对银行来说,一种更富挑战性的数据库,是所谓的“同步数据库”,这是一种随时将数据更新的数据库,对有提款机的银行来说,这样的程序是必须的,因为提款机必须立即进入用户的账户,减掉客户想要提取的金额,并更新该账户的记录,如此一来,该账户便无法以连续提领的方式溢领现金,但这对银行对客户服务的方便性,与银行提供该项服务的成本来说,具有相当大的影响。
不过,若我们以空中交通管制为例,这样的数据库可就不足为奇了。在这个例子中,飞机需确认其飞行于各大城市间的位置及其数据库,是否与实际状况同步,这是人命关天的事。空中交通管制人员便察觉到,拥有高速、同步更新的数据库有助于监控工作随时保持高度警戒。
数据库仅是众多有用的电脑程序中的一个,其他被广为采用的尚包括:文字处理、数值分析、绘图、图表或其他数值显示方式、教育或机械、建筑设计,而最令人兴奋的新程序种类,则是提供给程序设计的人员本身所使用的,这种新领域称为电脑辅助软件工程。
市场分析专家在近期的《电子工程师学会月刊》指出,电脑辅助软件工程在90年代中期,将有50亿美元的市场。简单地说,电脑辅助软件工程促进了软件撰写过程的自动化。尽管电脑语言的发展,在易于阅读与撰写方面已有长足的进步,但软件的开发仍是相当耗时与昂贵的工作,并且一旦软件开发完成,还必须经常更新与维护。换句话说,当一家公司购买一个庞大而昂贵的软件之后,还必须买进该项程序专家的时间,来确保软件的正常运作。
人们希望电脑辅助软件工程能够增进撰写软件的效率,使软件工程师有更多的时间去开发其他程序,或探索他们开发程序的新方法。通常软件工程师最常遇到的困难是,虽然他们对电脑技术所知甚多,但对其正在撰写的程序的应用方面,却没有特别深入的了解,因此,借由与程序使用者间的相处,对软件工程师是否能提供适当的软件给消费者,必定多有助益。
电脑辅助软件工程的重要关键,是一种称为物件导向程序设计的电脑语言模式,若没有相当的程序设计相关知识,很难去解释物件导向程序设计的意义,不过将其比喻成储藏着许多不同种类工具的五金行,倒是一个可行的方式。当一个木匠开始一项工作时,他们可能需要锤子、锯子、电动工具及其他零件材料;同样的,电脑程序设计师使用物件导向程序设计,便是利用各种物件——即程序中的工具,将他们组成一个所需的程序。