编程语言的分类
一、机器语言
因为电脑只认识0、1。所以当人用0、1写出来让机器做事情。这就是机器语言。
- 优点:执行效率高(写出来0、1计算机就能做出来)
- 缺点:开发效率低(把一大串0、1写出来能记得住?
编写程序花费的时间往往是实际运行的几百上千倍,并且编出的都是0.1这样的指令,直观性差,还容易出错,除了计算机生产厂家和专业人员外,绝大多数人已经不学习了。
二、汇编语言
汇编语言类似于机器语言,但是汇编语言只是把一串二进制数字写成一个英文单词。因此不用直接记住二进制数字,而是记住一个个英文单词就行,但是同样是一个巨大的工程,虽然汇编语言用英文单词代替二进制数,但是本质还是直接操作硬件,有以下优缺点
- 优点(相比较机器语言):开发效率高
- 缺点(执行效率低):(因为和硬件交互有一个英文单词翻译的过程)
三、高级语言
高级语言用人直接能理解的语法和语法风格编写程序。人们再也还不用考虑复杂的硬件操作。有以下优缺点。(虽然是缺点但是对人类的直观影响不大)
- 优点:开发效率高(学了python就会发现显而易见)
- 缺点;执行效率低(不直接和硬件交互)
3.1编译型
专门的编译器,将高级语言源代码一次性的编译成可被平台硬件执行的机器码,并且包装成可执行程序的格式。并且只要编译一次,以后再不用编译。(做出的应用程序一旦需要修改,必须先修改源代码,再重新编译生成目标文件才能执行,只有目标文件没有源代码,修改很不方便。)如C、C++等
- 优点(相比于解释型):执行效率高(最后翻译省去很多过程)
- 缺点(相比于解释型):开发效率低,等统一写完才能检查
3.2解释型
专门的翻译器对源代码进行逐行翻译并且立即执行。应用程序不能脱离其解释器,(想运行,先得安装解释器,就像2和外国人说话,老外必须在场),这种比较灵活,可以动态的修改调整,修改应用程序。(Python、java、PhP等语言)
- 缺点:执行效率低(写一行翻译一行)
- 优点:开发效率高(写一行翻译一行错了马上知道)