编程语言的发展是随着硬件一起发展的,最初没有当前成熟的101键盘前,技术人员是无法用字母输入命令和语句的,显然也不存在任何高级语言的。
机械计算机我就不谈了,太遥远,第一台电子计算机是ENIAC是1946年制造的,开始用的是连接线,后来用的是打孔机,以纸带作为输入,一根纸带边上是齿孔用于步进电机带动纸带,类似现在的针式打印机的纸张,当然纸带比针式打印机纸张窄,编程人员事先写好二进制指令的编码和数据,逐一在纸带上打孔,比如一个指令和数据是8位,如果是1,则打一个孔,如果是0则不打孔,打完一个字节让步进电机进一格,打后面一个数据。所有程序代码和数据打完,将纸带装到计算机的读入设备中并逐一读入并运行,当时还没有存储器,所以执行完如果需要再运算一遍,要复位重新装纸带。当然如果程序要改写就得重新打一卷纸带。
这就是电子计算机最原始的编程(机械计算机则还要麻烦),后来有了存储器,还是用纸带输入程序,然后可以重复运算,因为输入的指令和数据都存入存储器了,不需要再跑一遍(真正意义的跑)。此时程序员编写的程序都是机器语言,形式就是二进制码
类似这样
01010100
11001101
01101010
...
后来人们觉得这样很麻烦,考虑到一种CPU的指令都是固定,如果有一种简单容易能帮助记忆符号来代替一串二进制就方便多了,因此设计出了汇编语言,因此汇编指令称为助记符,比如MOV,ADD,JMP等等。这时候就需要一种新的输入设备代替打孔机,而且能直接连接在计算机上,之后随着晶体管的发展,单片机出现,一个按钮代表一个指令,同时结合数码键(0-9,A-F)输入16进制数据,让设备转成二进制数据,这应该算最早的编译器了,属于硬件编译器。
再之后,人们发现计算机不仅可以处理数据,还可以处理文本,因此有了ASC码,ASC码也发展了好几代,既然可以处理文本,随着计算机设备的发展,把打字机键盘复制过来,扩展单片机的按钮,这样计算机键盘的雏形出现了,取消了专用汇编指令键,而改用程序来翻译输入的文本,比如单个汇编指令MOV改用键盘输入这三个字母的文本,由翻译程序翻译成二级制码,这应该是最早的源代码了,而这个翻译程序最先当然还是用单片机开发的,而这个翻译程序就是最早的汇编指令编译器了。
有了汇编指令编译器,人们可以直接通过键盘输入汇编指令,由编译器编译成二级制码执行程序,有了汇编编译器,人们不仅直接用于各种科研运算,而且开发了更高级的语言了,那么后来各种语言蓬勃发展起来了,在C语言前还有A,B,以及其他高级语言陆续出现,比如1954年的Fortran。
所以你可以看到,技术都是迭代发展的,你只要学习到足够的知识,可以用任何语言开发你的编译器,当然这可是件不简单的任务,同时,所开发的编译器受你所用的语言限制。
编程语言类型
编程语言发展简历
编程语言百科