梦想视角|现代软件编程语言的发展、分类及现状
软件编程语言的发展 , 是随着硬件技术的不断进步而逐步发展起来的 。 从最初的机器语言 , 发展到助记符式的汇编语言 , 再到今天还在不断完善中的高级语言 , 其使用是越来越广泛 , 所起的作用也是越来越重要 。
文章图片
软件编程语言的第一阶段 , 即机器语言 , 严格来说 , 不算真正意义上的编程语言 。 机器语言对硬件的依赖程度太大 , 基本上被绑定到某种类型的机器设备上了 , 比如最早可用于机器语言设计的被称之为现代电子计算机的前身的分析机 。 从某种程度上说 , 早期的所谓机器语言 , 也就是根据设备的制作目的 , 将解决某一问题的逻辑顺序 , 在设备上依次实现 , 得出预想的结果而已 。 和结构化编程的一段代码类似 , 可以说一个设备就是一段结构化程序的物理实现 。
后期随着相关理论及硬件技术的发展 , 编程语言的相关概念被逐渐提出并实现 , 推进了机器语言的演化 。 比如世界上首位程序员——阿达·洛芙莱斯在计算机软件领域做出的许多开创性的贡献:如变量、递归、程序算法的提出等(详见软件世界的缘起及现代编程语言的诞生 , 程序员群体有一位老祖母) 。
文章图片
而随着晶体管、电子管等硬件技术的发展 , 摩根定律、布尔代数等数学理论的完善 , 最终在计算机发展中出现了寄存器、二进制算法等概念和理论 , 推进了机器代码的标准化 , 即基于“0/1”或者说“是/否”基础的现代机器语言 。
寄存器从硬件实现上来说 , 可以理解为一个电容器 , 其储电和放电的状态就可以分别表示“0”或者“1” , 据此可以完美的实现机器语言的相关功能 。 寄存器最起码具备四种功能 , 即清除、存储、接收、输出 。 而机器语言通过“0/1”进行编写 , 通过寄存器进行存储及相关运算 , 从而实现了编程过程 。
文章图片
可以看的出来 , 机器语言的编码过程可以说是非常的不人道 。 不宜辨识、不宜理解 , 不容易纠错 , 算是其最大的特点了吧 。 于是 , 软件编程语言水到渠成的发展到了第二阶段 , 即汇编语言 。 汇编语言的出现 , 就是为了解决机器语言的缺点 , 增加机器语言的可识别性 。 说白了 , 就是用一些容易理解和记忆的字母 , 单词来代替一个特定的指令 , 比如:用“ADD”代表数字逻辑上的加减 。
从编程语言的发展可以看的出来 , 机器是不能直接识别汇编语言 , 从而按照其逻辑进行运算的 。 因此顺理成章的出现了现代软件编程系统至关重要的概念——编译器 。 简单讲 , 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序 。
文章图片
一个现代编译器的主要工作流程是:源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→目标代码(objectcode)→连接器(Linker)→可执行程序(executables) 。 源代码可以理解为汇编语言或更高级的语言 , 而编译器的处理结果——可执行程序就是机器可以识别的机器语言 。
由于汇编语言还是过于阳春白雪 , 既然有了编译器这样一件神器 , 软件编程语言的春天终于来到了 。 真正的高级编程语言开始出现 , 并且呈现了快速井喷的发展趋势 。 编程语言这一概念也终于落到了实处 。
最早的高级语言大约诞生于1945年 , 是德国工程师康拉德·楚泽为他的Z-4计算机设计的PlanCalcul , 比第一台电子计算机还早几个月;在电子计算机上实现的第一个高级语言是美国尤尼法克公司于1952年研制成功的ShortCode;而真正得到推广使用 , 至今仍在流行的第一个高级语言是美国的计算机科学家巴科斯设计 , 并于1956年首先在IBM公司的计算机上实现的FORTRAN语言 。
- Buycar买车网|超级梦想害死人
- 三农快讯交流平台|数字农业正成为现代农业新里程碑
- 「基因」现代基因研究发现,人类曾与五种不同的古人类混血
- 手机圈小胖|京东2020新品发布会剧透曝光“2020梦想之机”你们觉得是哪款?
- 傅娱乐|公园自由抽陀螺,身价上亿还感叹生活不易?,章泽天晒老公视角图
- 易车|T概念车曝光 采用“参数动力学”几何设计特征,现代Vision
- 台海网|助力企业成长 2020厦门火炬创业成长营开营,“孵化”梦想
- 凤权天下|把飞的的梦想再往前迈一步?吉利飞车原型即将出炉
- 张江发布|科技让梦想“走”进现实,国产康复机器人从张江出发
- 手机与数码|T19真无线蓝牙,消费者视角体验:199元的嘿喽Haylou