程序设计语言简介
1.程序设计语言分类
1. 机器语言(machine language)
一种二进制语言,直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言,例如执行数字2和3的加法,16位计算机上的指令为:11010010 00111011(对,就是这样枯燥的0与1的数据流录入),其最大的优点就是可以直接对芯片进行指令操作,其最大的问题也来源于此,不同计算机结构的机器指令不同,换一套硬件设备机器语言几乎都会卡壳,并且指令难以记忆。
2.汇编语言(assembly language)
直接使用机器语言编写程序十分不便,并且二进制代码编写的程序可读性极差,难以修改,因此,汇编语言使用助记符与机器语言中的指令进行一一对应,例如执行数字2和3的加法,汇编语言指令为add 2,3 result,结果存放在result中。值得一提,机器语言和汇编语言都是直接操作计算机硬件。
3.高级语言(High-level programming language)
高级语言与低级语言的区别时,高级语言是更加接近于自然语言的一种计算机程序设计语言,例如执行数字2和3的加法,result=2+3,这个代码只与编程语言相关,与计算机的结构无关,同一种编程语言在不同计算机上的表达方式是一致的。
高级语言按程序的执行方式可分为编译型和解释型
3.1 编译型(C,C++...)
编译型语言是指使用专门的编译器,针对特定的操作系统将某种高级语言源代码一次性转换成可被该操作系统硬件执行的机器码(该过程叫编译,Compile),并包装成该操作系统所能识别的可执行程序的格式(编译和执行可以分开)。该可执行的程序可以脱离开发环境在该操作系统上运行(因为编译型语言是一次性完成编译所以可以脱离开发环境运行,因为被编译成为特定平台的机器码所以跨平台不便,至少需要相关平台的编译器重新编译,但是效率高)
3.2 解释型(Python...)
指使用专门的编译器将某种高级语言逐行解释成特定平台(操作系统)的机器码并立即执行,可以认为,每次执行解释型语言的程序都需要进行一次编译,因此效率较低且不能脱离解释器(Interpreter),但是跨平台容易,只需要提供每个平台的解释器即可
2.编程语言时代
1.机器语言时代
(20世纪50年代~20世纪70年代)对应机器语言和汇编语言
2.高级语言时代
(20世纪70年代~现在)对应高级语言,高级语言时代,随着C++,Java,Python等工业级语言的诞生和发展,使计算机行业得到极大的发展,推动了互联网和人工智能的发展
3.自然语言时代
用人类语言驱动计算机,面向思维或者模糊语义(人类语言具有不严密和模糊的特点)的编程方式,软件生产是思考问题本身的存在性和合理性,而不定义问题的解决方式和解决步骤。无数的科学家在为此努力,这看似模糊的美好未来,定会随着AI技术的不断进步而实现。
参考文献
[1]: 杨冠宝,高海慧. 码出高效Java开发手册 [M].北京:电子工业出版社 2018
[2]: 李刚. 疯狂Java讲义 [M].北京:电子工业出版社 2018
网友评论