The History of Computer Language

计算机语言的历史

从Charles Babbage在1822年发明了差分机起,计算机就需要一种教它们执行一种明确的工作的方法。这个方法就是程序设计语言。计算机语言首先由组成一个特定程序的一些列步骤组成;后者又转换为一系列步骤,输入计算机然后执行;后来这些语言需要高级特色例如逻辑上的分支和目标对象。近五十年的计算机语言的发展分两个阶段,第一主要语言和第二主要语言,它们一直使用到今天。

早期,Charles Babbage的差分机只能通过改变执行计算器的齿轮来执行任务。因此,计算机语言最早的形式就是物理上的移动。最后,当美国政府在1942年组建了ENIAC时,物理上的移动被电子信号所取代。紧接着的是许多关于Babbage的机器的相同规则,因此,只能是程序化地为每一个新的程序或者是计算预先布置转换装置,然后组装整个系统。这个过程事实上是很单调的。

1945年,John Von Neumann在普林斯顿高等研究所工作。他发表了两条重要的理论,这两条理论直接影响了计算机程序设计语言的发展道路。第一条就是大家熟知的"共享程序技术"。这项技术规定,实在的计算机硬件应当是简单的并且不需要为每个程序进行人工布线。换句话说,复杂的指令应该被用来控制简单的硬件,这样就允许计算机能够更快地重新编程。

第二个理论对于程序设计语言也是非常的重要。Von Neumann称它为"条件控制转换"。这个理念首先提升了子程序的概念,就是是一小段代码能够以任意顺序被调用,而不是简单地按时间顺序排列的步骤让计算机去执行。理念的第二部分阐述了计算机程序代码应该能够根据逻辑语句例如IF THEN来展开分支,用FOR语句来实现循环。"条件控制转换"提升了"库"的理念,就是大段大段能够被重复使用的代码。

相关推荐
名字还没想好☜17 小时前
Python sqlite3 实战:事务提交、参数化防注入、WAL 并发与 row_factory 取字典
后端·python·编程语言
柯南46683 天前
【AI开发之Rust】第 10 课:Cargo 工程化 —— 模块、依赖与测试(基础篇收尾)
rust·编程语言
QUOR3 天前
ZorvAI APK 插件框架 · 技术架构与功能介绍
github·apk·编程语言
柯南46684 天前
【AI开发之Rust】第 8 课:泛型、trait 与 trait 对象
rust·编程语言
蛋先生DX4 天前
Java和Go都拍胸脯说"内存我包了",可它们到底是怎么下手的?
java·go·编程语言
名字还没想好☜5 天前
Python 的 __call__ 实战:让实例像函数一样被调用,做带状态计数器、缓存器与可配置策略
开发语言·后端·python·缓存·编程语言
名字还没想好☜8 天前
Python 用 tempfile 安全创建临时文件:NamedTemporaryFile、TemporaryDirectory 与别自己拼 /tmp 的坑
开发语言·后端·python·安全·编程语言