编程语言的发展史

从机器语言到高级语言,编程语言经历了从直接硬件操作到抽象概念表达的转变。本文介绍了编程语言的三代发展,包括最原始的机器语言,便于记忆的汇编语言,以及接近自然语言的高级语言,如FORTRAN、C++、Python等。

在这里插入图片描述

什么是编程语言?

人与人交流是依靠说话来进行,说出来的话,比如说中国话、英国话等,就是语言。
中国人与中国人交流用中文,英国人与英国人交流用英文。而编程语言,就是人与机器的交流方式。
自从1946年世界上第一台电子计算机问世,人类和机器的交流方式和语言就成为了软件工程师和计算机从业者的主要研究方向,更有效更简便的编程语言成为了软件工程师的新宠儿,伴随着计算机的飞速发展,计算机的硬件升级速度也越来越快,对编程语言的要求也日益严格。在过去的几十年,编程语言有了长足的发展。大量的编程语言为了满足不同领域的编程要求和软件功能,经历了被修改,被取代,被发展等过程,最终发展成了现在编程语言的多样化。尽管人们多次试图寻找一个能够适应所有编程环境的通用语言,但是却没有一次成功。程序设计语言正在与现代科技日益飞跃,人类的智慧在日益彰显。

第一代:机器语言

在这里插入图片描述
最原始的语言。由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。由于机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,所以当时只有极少部分的科学家使用。

第二代:汇编语言

在这里插入图片描述
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能。对现有程序的bug修复以及运营维护都变得更加简单方便。当计算机的硬件不认识字母符号,这时候就需要一个专门的程序把这些字符变成计算机能够识别的二进制数。因为汇编语言只是将机器语言做了简单编译,所以并没有根本上解决机器语言的特定性,所以汇编语言和机器自身的编程环境息息相关,推广和移植很难,但是还是保持了机器语言优秀的执行效率,因为他的可阅读性和简便性,汇编语言到现在依然是常用的编程语言之一。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

第三代:高级语言

在这里插入图片描述
在编程语言经历了机器语言,汇编语言等更新之后,人们发现了限制程序推广的关键因素——程序的可移植性。需要设计一个能够不依赖于计算机硬件,能够在不同机器上运行的程序。这样可以免去很多编程的重复过程,提高效率,同时这种语言又要接近于数学语言或人的自然语言。在计算机还很稀缺的50年代,诞生了第一个高级编程语言。当时计算机的造价不菲,但是每天的计算量有有限,如何有效的利用计算机有限的计算能力成为了当时人们面对的问题。同时,因为资源的稀缺,计算机的运行效率也成为了那个年代工程师追寻的目标。为了更高效的使用计算机,人们设计出了高级编程语言,来满足人们对于高效简的编程语言的追求。用高级编程语言编写的程序需要经过翻译,翻译成机器所能识别的二进制数才能由计算机去执行。虽然,高级编程语言编写的程序需要一些时间去翻译代码,从而降低了计算机的执行效率,但是实践证明,高级编程语言为工程师带来的便利远远大于降低的执行效率。 经过各软件工程师和专家的不懈努力,1954年,第一个完全意义的高级编程语言FORTRAN问世了,他完全脱离了特定机器的局限性,是第一个通用性的编程语言。从第一个编程语言问世到现今,共有几百种高级编程语言出现,很多语言成为了编程语言发展道路上的里程碑,影响很大。 比如:BASIC、JAVA、C、C++、python等。 高级编程语言也从早期的控制信号变成了现在的有结构有格式的程序编写工具,C++等语言的出现更是开启了面向对象编程语言的新章。同时伴随着软件编写效率的提高,软件开发也逐渐变成了有规模、有产业的商业项目。

参考资料:

王爽.汇编语言(第二版)

沈大智.汇编语言和高级编程语言区别与联系

### 编程语言的历史与发展 编程语言的发展是一个漫长而复杂的过程,它伴随着计算机技术的进步不断演变。以下是关于编程语言发展历程的一些重要节点: #### 初期阶段(20世纪40年) 在这一时期,程序员主要使用 **机器语言** 进行编码工作。这是一种由二进制数构成的语言,虽然可以直接被计算机识别并执行,但由于其抽象程度低、编写困难且容易出错,因此并不适合大规模应用[^2]。 #### 中级阶段(20世纪50年至60年) 随着科技的进步和技术需求的增长,出现了更加友好的工具来简化开发流程。此间诞生了诸如 **汇编语言** ,它是对机器指令的一种符号化表示形式,相较于纯数字串更容易理解和记忆。尽管如此,在实际操作过程中依然存在诸多不便之处,比如缺乏跨平台兼容性和较高的学习门槛等问题。为了克服这些问题,研究者们开始探索创建一种新型的通用型高级语言方案[^1]。 #### 高级语言兴起及其特点 进入中级后期乃至后续发展阶段后,“高级语言”的概念逐渐成型并得到广泛应用。这类语言具备以下几个显著特征: - 更贴近人类思维模式或者数学表达方式; - 提供丰富的内置函数库支持快速构建应用程序框架结构; - 支持多种数据类型的定义与处理机制; 具体而言,根据实现原理的不同可以将它们分为两大类别即解释型和编译型两种类型[^3]。前者允许源文件无需经过预转换即可直接加载到内存当中被执行从而减少了部署时间成本但也牺牲了一定程度上的运行速度优势;后者则需先通过专门软件将其翻译成目标机码后再投入使用因而往往能获得更好的性能表现. 另外值得注意的是随着时间推移各种新兴理念也被融入到了传统基础之上形成了许多独具特色的分支体系例如面向对象范式便是其中一个典型表案例之一[C 语言](https://en.wikipedia.org/wiki/C_(programming_language))虽未完全遵循该原则但在某些方面仍有所体现不过当面对愈加庞大的工程项目时由于先天不足的缘故确实暴露出了一些局限性如难以管理复杂的继承关系链路等状况[^4]. 最后纵观整个行业现状我们可以发现如今主流趋势正朝着多元化方向迈进几乎每种风格都能找到对应的最佳实践解决方案而且相互之间还能保持良好互通互认的关系网状连接状态这无疑极大地促进了整体生态系统的繁荣昌盛局面形成[^5]. ```python def example_function(): """A simple function to demonstrate code inclusion.""" print("This is an example of Python syntax.") example_function() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值