汇编语言之前的编程语言(不用高级语言也不用汇编可以写程序)

现在大家开发软件都非常方便,有很多高级语言可以选择,如C 、Java等,但在计算机刚发明出来时,编程可就没有这么方便了。

在1946年世界第一台计算机诞生时,程序就是一堆杂乱无章的电线,程序员需要摆弄电线来编程。现在的程序员自嘲说自己是码农,但在当时,程序员干的确实是体力活。

汇编语言之前的编程语言(不用高级语言也不用汇编可以写程序)(1)

这么反人类的操作,当然的程序员也受不了,非常累,出错率也极高。于是哈佛大学的艾肯发明了打孔纸带编程,将预先需要编程的程序,按照计算机指令,在纸带上提前打孔,送入计算机执行,执行结果经另一条纸带打孔显示出来。打孔编程是真正按照计算机的原指令来编程的,按照计算机的二进制规则,提前在纸带表上特定的位置打孔,有孔的位置相当于1,没有孔相当于0。

汇编语言之前的编程语言(不用高级语言也不用汇编可以写程序)(2)

打孔纸带实现了最初级的编程,但指令的编写和输入输出都极为麻烦,而且二进制的打孔纸带可读性极差,往往会耗费数周甚至数月的时间完成纸带代码,再用数周的时间分析执行结果。

随着计算机的发展,打孔纸带编程已经慢慢落后,基于指令助记符的汇编语言慢慢发展。计算机指令原生是二进制形式,指令和操作数混在一起,需要对着指令手册才能识别。汇编语言使用人类能读懂的字符代替二进制指令码,如mov ax 1234H,很容易就能想到把十六进制数1234H给ax寄存器,再经过系统的学习,就可以完全扔掉二进制的指令码了。

汇编语言之前的编程语言(不用高级语言也不用汇编可以写程序)(3)

汇编解决了指令的易读问题,但还是太基础,即使能读懂大部分指令的意思。但汇编语言还是直接基于指令的语言,包含着大量计算机底层的晦涩难懂的内容,如寄存器、内存地址、中断等,上手学习难度也比较大。

与此同时,另一种更接近人类语言的高级计算机语言也在发展。如现在流行的C 语言,可以使用变量、语句、函数、判断、循环、类等人类语言的概念来开发软件,只需经过简单的学习,就可以上手开发软件。

汇编语言之前的编程语言(不用高级语言也不用汇编可以写程序)(4)

当然,计算机并不能直接识别类似C 的高级语言,高级语言需要先编译成汇编语言,再把汇编转成计算机机器码执行。如今,汇编大部分时间都被用作高级语言的中间语言,或开发驱动和底层应用的利器。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页