刘思宇 贾惠 胡璟玥
华北理工大学人工智能学院
摘要:随着现代社会的不断发展,智能时代已然开启,计算机语言也在不断更新迭代。高级语言不断完善,因其简便易行备受当代开发人员的热捧,直接面向机器的汇编语言却在逐渐淡出编程开发人员的视线。本文以计算机语言的起源为切入点,对计算机语言的发展历程以及发展趋势进行整合分析。
关键词:计算机语言、高级语言、汇编语言、起源、发展趋势
一、计算机语言的起源以及发展历程
计算机语言是用于人与计算机之间通讯的语言。人通过一种特殊的方式把指令传达给机器,使计算机完成一系列操作,这种特殊的方式就是通过计算机语言实现的。
1946年2月14日,世界上第一台计算机ENAC诞生,使用的是最原始的穿孔卡片。这种卡片上使用的语言就是最初期的计算机语言--机器语言。机器语言依赖于大量的人力资源,需要程序员进行多次精准的打孔,才能输入一个字符。这样,一个简单程序的编写就会消耗大量的时间和人力资源,容错率还很低,对初期的计算机编程造成了很大的困难。
计算机语言发展到第二代,出现了汇编语言。为了使编程语言变得不再冗长复杂、晦涩难懂,人们做出了一些改进:用一些简洁的英文字母、符号串来代替一个机器指令代码,而且与指令代码一一对应,基本保留了机器语言的灵活性,比如用“POP”代表直接地址弹栈、用“PUSH”代表直接地址压栈、“DA”代表累加器十进制调整、“ANL”代表其他与累加器的与远算等等。这些简洁的英文字母和符号串就是助记符。汇编语言用助记符代替了操作码,因此,汇编语言也称作符号语言。助记符的出现大大降低了对程序员技术程度的要求,使得人们对程序的理解更加轻松透彻,纠错和维护也变得方便了。比起机器语言,汇编语言大大进步了。尽管还是复杂,用起来容易出错,但是在计算机语言发展史上是机器语言向更高级语言进化的桥梁。
汇编语言和机器语言一样 ,同样很依赖于机器硬件,需要编程者将每一步具体的操作用命令的形式写出来。汇编语言程序的雏形是在电子离散时序自动计算机EDSAC上研制成功的。这种系统是用户程序中的指令由单字母指令码、十进制地址和终结字母组成。第一个汇编语言程序是符号优化汇编程序(SOAP)系统,它是20年代中期为IBM650计算机研制的。IBM704计算机的符号汇编程序(SAP)是汇编程序发展中的一个重要里程碑。
汇编语言程序的移植性不好。例如,在WindowsXP中的应用程序移植到WindowsX86中,即使做轻微的改动,也依然是无法运行的,需要重新使用针对WindowsX86的汇编语言再次进行编译,才可以达到想要的效果。同时,汇编语言的代码量会大大增加。汇编语言和现在的高级语言不同之处在于,高级语言的一句话往往是对一个过程甚至多个过程的描述,而汇编语言的每一句指令都仅仅能对实际操作过程中的一个细微的动作进行编辑。因此汇编语言程序一般冗长、复杂、容错性能低。相对于高级语言来说,汇编语言的效率十分高,针对计算机特定硬件而编制的汇编语言程序,能够准确发挥计算机硬件的功能和特长,程序精炼而质量高。想要实现一个同样的功能,例如使单片机的信号显现成图像形式,如果使用高级语言Python进行编程,虽然代码量大大减少了,但是和使用汇编语言进行编程相比较,使用汇编语言进行编程的编译时间大大缩短了,至少会提升七到八倍。
计算机语言发展到第三代时,就进入了“面向人类”的高级语言。高级语言是一种接近于人们使用习惯的程序设计语言,因此,也成为了现在大多数编程者的选择。高级语言和汇编语言相比,它不仅仅将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,这样就大大简化了程序中的指令。高级语言还省略很多细节,这样对编程者的专业技术水平要求也大大降低了。
高级语言和机器语言还有汇编语言不同,不是直接面向机器的语言,高级语言编码的程序计算机不能够直接识别,必须要经过一定的转换才能够被执行。高级语言发展于20世纪50年代中叶到70年代,也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。直到现在,流行的高级语言已经开始固化在计算机内存里了。高级语言依然在不断发展,种类较多,例如:JAVA、VB、VC、FoxPro、Delphi等等。
二、计算机语言的发展趋势分析
计算机语言中的高级语言会成为不久的将来的编程界的主流。大多数编程人员由于其简单易行,容错高,更偏向于选择高级语言编程。但是也会造成使用高级语言编程者的工作滞留以及供求失调。
但是汇编语言也不会完全淡出历史舞台,针对计算机基质的开发和维护依然会需要用到汇编语言。但是由于汇编语言晦涩难懂、繁琐复杂,使用汇编语言编程对编程人员的专业技能水平要求会大大增加,使用者也会相对减少。
新兴的计算机编程人员也会更偏向于学习应用高级语言。社会智能化趋势逐渐明显,各大高校大学生对计算机专业的选择大大增多,出现盲目跟风的社会现状,将导致各大公司对高级语言编程人员的需求和高校对编程学习者的供应量将严重失调。会造成编程学习者的大量滞留以及失业、无业。
编程时代的前景令人担忧,盲目的跟风学习、浅显的高校教育导致编程者数量增加而质量却在逐渐下降,这个问题也亟待解决。
而面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的主要发展潮流必将会是以面向对象程序设计为主。让编程不再是某些人的专业知识技能,普通人也可以从过简单的电脑操作实现复杂的程序编辑工作。
参考文献:[1]甘勇,尚展垒,叶志伟,韩静. 大学计算机基础[M].人民邮电出版社:, 201706.237.
[2]于德海,王亮,胡冠宇,陈明,王金甫. 计算机网络实用教程[M].人民邮电出版社:, 201409.283.