长沙市南雅中学 邓宇昂
计算机语言发展探析
长沙市南雅中学 邓宇昂
计算机语言作为人机交互的重要工具,在计算机发展史上具有举足轻重的地位。然而计算机语言的发展与自然语言的发展一样,经历了几个不同的时期,也有许多计算机语言被时代所抛弃。本文着重探究计算机语言的发展历程,并希望通过对发展历程的回顾,对未来的发展进行预测。
计算机;编程语言;发展趋势;
随着计算机技术及应用范围的扩展,计算机语言自身也在迅速发展。但计算机在实际运用中面临越来越复杂多样的问题,并不是依靠计算机语言在种类和数量上的扩张就可以完全满足的。软件的开发、应用陷入危机状态。开发具有更强符号处理功能的智能机,程序语言的发展产生新飞跃显得特别重要。因此,探讨计算机语言发展的历史,并在其中寻找规律性的东西,对于当前的科技工作者来说,是一项艰苦而有意义的工作。
1.1 计算机语言的作用
计算机程序语言,是用来描述和实现计算过程的有规则的人工语言符号系统。它有相对于自然语言更强的精确性和适应性,用户通过程序设计语言,把科学问题翻译成解法,输入计算机,进行运算,代替部分人力不及的复杂危险的工作,从而节省了人力、物力。从另一方面讲,目前计算机硬件所从事的是一些繁琐单调的算术和逻辑运算,仅限于描述性和断定性的工作,控制功能较简单机械,如果程序语言与计算机硬件及相关软件结合的话,就能进行有效的信息处理,提高处理问题的能力。
1.2 计算机语言发展的初级阶段
第一代计算机程序设计语言也称机器语言。人们从CPU指令系统中,挑选出由0和1序列组成的二进制机器代码,编成指令序列,由计算机去理解和执行。但是,机器语言序列太长,难记,又不直观,难理解,程序生产效率低,任务繁重,限制了计算机的推广使用。为了减轻编程的劳动强度,人们发明第二代计算机程序语言,也称汇编语言。它用助记符号来表示机器指令的操作符和操作数,经过一个汇编程序将指令逐个翻译成相应的机器指令后才能执行。从而使得人们不必花更多精力去记忆和查询机器代码地址,生产效率质量都有显著提高。但是,汇编语言指令不能被计算机直接识别、理解和执行,编程强度仍很大,要熟悉计算机内部具体构造和熟记机器指令,这严重影响计算机的普及与推广。
现代计算机语言建立在第一代计算机语言的基础上,在便捷易学等方面都有了极大的提升,也为计算机的快速发展提供了良好的环境。下面本文将介绍两种主流程序设计语言与一种流行的语言,希望通过对这三种语言的分析得出未来的发展趋势。
2.1 C语言
C语言是一门结构化的程序设计语言,由三种基本结构组成:顺序结构、选择结构、循环结构。C语言是一门“面向过程”的程序设计语言,用C语言编写程序解决问题的过程可以看作是对问题所包含数据进行加工处理的过程。用公式表达即为“程序=数据结构+算法”,即先完成组织并存储要加工处理的数据问题;再用语句对数据进行加工处理。C语言在很多方面继承和发扬了许多高级程序设计语言的特色,它提供了标准库函数,允许用户编写自定义函数,通过函数之间不同层次的调用满足自身的需要,移植性好;它提供了算术、赋值、关系、逻辑等运算,处理能力强;三种基本结构使得程序结构整齐精练;语句简练,书写灵活,运行效率高,既可用来开发大型系统软件,还可开发应用软件,具有强大的生命力。但是,由于指针的引入,在一定意义下影响到操作的安全性,运算符多,优先级复杂,对初学者造成了巨大的困难。
但总的来说,C语言作为广泛使用的一种高级计算机语言,被程序员大量使用,在计算机语言的发展史上也有着举足轻重的地位,可以说没有C语言就没有现代计算机语言。
2.2 J a v a语言
Java是1995年推出的一种典型的面向对象的程序设计语言,主要应用于互联网、个人PC、数据中心、游戏控制台、科学超级计算机。Java是面向网络,通过它所提供的类库,可以处理TCP/IP协议,可以通过URL地址在网络上访问其它对象,能较方便地与其他计算结点协同工作。Java程序语言需要经过编译和解释两个过程后才能被电脑执行,它需要一个虚拟机作为机器与编译程序之间的连接者,这个虚拟机是想象中的机器,它的实现需要通过在现实中的计算机上进行软件模拟,即Java源程序经过编译器编译后变成虚拟机能够理解的字节码,虚拟机对字节码进行解释,虚拟机将字节码发送给解释器,解释器将其翻译成特定机器能够理解的机器码,然后进行运行。
Java的诞生是对传统计算机模式的挑战,对计算机软件产业都产生了深远的影响。目前,各种风格、各种类型的程序设计语言都在发展,其中以面向对象语言的发展最为迅速。但是,面向对象语言不能解决所有问题,它们也应吸收其它风格的语言的长处,成为以面向对象为主、兼顾其他风格的新型语言。
2.3 P y t h o n语言
Python是一种解释型、面向对象、动态语义、语法优美的脚本语言,它支持现有的各种主流操作系统,它的源程序和二进制代码可以免费获得。Python语言本身只提供了一个编程语言所需功能的最小内核,其他许多丰富的功能都由扩展模块实现。由于在设计时就考虑了扩展性,可以很方便地用C或者C++编写Python的扩展模块以添加新的功能,或者把Python解释器自身嵌入到其他程序内部。正因为有以上特点,Python特别适用于混合语言编程开发。程序员可以充分利用脚本语言和系统编程语言两者的优点,达到提高开发效率,增强程序的灵活性和交互性的目的。
Python语言近年来异军突起,因其书写方便、易学、语言简练等特性,受到诸多程序员的喜爱,这可以大大降低程序设计的时间,让程序员从大量的代码中解脱出来。然而Python的不足之处在与不能编写操作系统,但这点局限并非十分重要,因为很少有人需要去写较为基层的操作系统。
2.4 J a v a和C的几点区别
随着技术的不断发展,计算机语言也在不断进步,上述几类主流语言既有联系,又有区别。以经典的C和Java为例,Java的出现是计算机信息交换的重要里程碑,对Internet的应用有很大的促进作用。和C语言相比,各有特点。其中很重要的一点是两种语言的简洁性,倘若一个程序需要用C写1000行代码,用Java语言100行就可以解决,这为程序员节省了大量的时间。这些高级程序之间,还存在很多细微的区别,其功能与应用有待于进一步的探讨。
纵观计算机语言的发展历史,我们可以看出语句的简练是一个非常重要的方向,所以未来计算机语言一定会朝着更加偏向自然语言的方向发展。近年来,语音识别技术的发展也给计算机语言的发展带来了新希望,可以预测,在未来,大量的程序不需要专业的程序员编写,用户只需用语言表达出个人的需求,计算机将自动对自然语言进行识别,再将自然语言编译为计算机是别的机器码,最后完成程序设计工作。
自计算机问世起,人们一直致力于研制更好的程序设计语言,数量在不断激增。随着技术的发展,还会有新风格语言的出现,但机器语言的发展一定是朝着自然语言的方向,因为计算机的作用就是为人类服务,一切发展也应以适应人类习惯为目标。也只有这样,计算机才会更便捷地为我们提供服务,才会为世界的发展提供新动力。
[1]范华,秦茂玲,张俊.透视C程序设计语言[J].计算机技术与发展,2008(6):64-66.
[2]陈斌.浅析Java语言程序设计[J].信息技术,2012(9):9.
[3]罗霄,任勇,山秀明.基于Python的混合语言编程及其实现[J].计算机应用与软件,2004(12):17-18,112.
邓宇昂,男,湖南省长沙市南雅中学。