汇编语言的艺术-观念正误(二)
2007-04-25 09:30:28 来源:WEB开发网四、美国市场的程式语言应用
我手头唯一的资料,是美国 COMPUTER 杂志在1983年五月刊载于第65页的文章,讨论当时的 362种软件发展工具,存贮在一个「相关性资料库」中,并且对该资料库中工具的利用情况,一一分析。
文中列举了34种程式语言,以及其他各种应用工具,兹将程式语言部份,抄录如后。
┌─────────┬──┬─────────┬──┐
│ 程 式 语 言 │数量│ 程 式 语 言 │数量│
├─────────┼──┼─────────┼──┤
│FORTRAN │ 110│COBOL │ 41│
│JOVIAL │ 15│Structured FORTRAN│ 10│
│Assembly │ 8│Basic │ 5│
│CICS │ 4│Object Code Input │ 4│
│PL/1 │ 3│IFTRAN │ 3│
│SRTRAN │ 3│PASCAL │ 3│
│Structured COBOL │ 3│ADA │ 3│
│Compass │ 2│RATFOR │ 2│
│LISP │ 2│C │ 2│
│DMATRAN │ 2│Memory Dump │ 2│
│BAL │ 1│SMAL/80 │ 1│
│PCL │ 1│SCOBOL │ 1│
│APL │ 1│HAL/S │ 1│
│CHILL │ 1│ALGOL │ 1│
│SNOBOL │ 1│JCVS │ 1│
│CSL │ 1│MODULA │ 1│
│MEFIA │ 1│CMS-2 │ 1│
└─────────┴──┴─────────┴──┘
经过了七年的市场选择,C已是目前最主要的系统工具,PASCAL则取代了 COBOL成为商业软件的发展工具。BASIC 仍为学生及业余玩家的伴侣;只有组合语言,大约仍停留在原有的水准上。除了少数的系统程式,如IBM BIOS ( Basic Input Output Services 基本中断服务程式) 以及 DOS (Disk Operating System 磁盘作业系统) 等外,使用者不多。
这种现象导致了国人极大的偏见,咸认为美国观念、技术遥遥领先,他们对软件发展工具的选择,必然有独到的眼光。学校教学,系统公司应用,莫不亦步亦趋、拾人牙慧。
美国是以商业为导向,利用逐年更新设备的手段,以加速产品的改进。所以,他们重视硬体的效率,以及程式写作的成本,但对程式语言本身的特性,并未受到应有的重视。
不容讳言,目前我们在软体上,处于相当落后的地位。如果在这个关键的时刻,我们还看不清事实的真相,妄想东施效颦,其后果未卜可知。
我认为,只有采用组合语言,大力开发各种应用程式,将最低档微电脑的性能提升到极致。这样,我们才能发挥人多势众的优点,提升高科技水准。
五、各种语言的性能比较
为了具体瞭解各种常用电脑语言间性能之优劣,我们选用了五种为测试对象,下表即为测试所得之各种统计数据。表中以一为基数,效率高者,其数值相对增加。
在附录一、二中,我们将各种测试的原程式、所采用的技巧、以及考虑的细节,分别列举,并一一说明。主要的目标是为了认识程式写作的技术,和追求效率的手段。
我们测试的指标有二,一是针对各种程式语言本身的适用范围;一是程式语言之间的差异。根据对时、空效率的分析,我们发现,程式语言之间,有着极大的差异。就是使用同一语言,程式写作的技巧,也显着地有所不同。至于程式语言的适用范畴,则因取材有限,未能得出可靠的结论。
我们选了两个题目,一是点阵图形处理,将一个 24X24点阵字形,左右、上下各放大一倍,以得到 48X48的字形。这种点阵处理,有很多高阶语言难以胜任,所以只好在常用的语言中,选了五种。另一是排序,一般语言都能处理,只是效率相去甚远。
┌─┬────┬────┬────┬────┬────┬────┐
│ │语言类别│执行速度│占用空间│制作时间│通用机种│应用限制│
├─┼────┼────┼────┼────┼────┼────┤
│ │assembly│ 1.0 │ 1.0 │ 2.1 │限于机种│ 无限 │
│图├────┼────┼────┼────┼────┼────┤
│ │turbo c │ 7.2 │ 3.2 │ 1.4 │ 不限 │ 无限 │
│形├────┼────┼────┼────┼────┼────┤
│ │pascal │ 6.8 │ 8.1 │ 1.4 │ 不限 │工商应用│
│处├────┼────┼────┼────┼────┼────┤
│ │fortran │ 8.0 │ 6.9 │ 1.0 │ 不限 │科学计算│
│理├────┼────┼────┼────┼────┼────┤
│ │basic │ 720.0 │ 8.1 │ 1.0 │ 不限 │ 有限 │
├─┼────┼────┼────┼────┼────┼────┤
│ │assembly│ 1.0 │ 1.0 │ 10.0 │限于机种│ 无限 │
│排├────┼────┼────┼────┼────┼────┤
│ │c │ 3.0 │ 3.0 │ 1.5 │ 不限 │ 无限 │
│序├────┼────┼────┼────┼────┼────┤
│ │pascal │ 6.0 │ 6.0 │ 2.0 │ 不限 │一般应用│
│处├────┼────┼────┼────┼────┼────┤
│ │fortran │ 8.0 │ 7.5 │ 3.0 │ 不限 │科学计算│
更多精彩
赞助商链接