2. 什么是编程语言¶
前面讲到Python是一门编程语言,那编程语言是什么呢?
1. 概念¶
人和人交流沟通所使用的语言叫做自然语言,例如汉语,英语等。
所谓的编程语言,其实就是人和计算机交流的语言。编程语言有极严格的语法,和准确没有歧义的语义,通过这些语法和语义编写出特定的程序交有计算机执行,完成设定好的任务。
学习编程语言和学习自然语言类似,自然语言都是先学习语法,字,词,然后阅读文章,最后模仿写文章,编程语言也是先学习语法,关键字,流程控制语句,然后阅读别人编写的代码,最后模仿编写自己的代码。
自然语言一般都会有成百上千的字和词,而编程语言通常只有几十个关键字,几个流程控制语句,所以编程语言比自然语言容易学得多。
2. 分类¶
编程语言一般分为机器语言,汇编语言和高级语言。
1. 机器语言¶
能够直接被计算机识别的指令称为机器语言。机器指令就是一串二进制数,010110101。它的优点是能够直接操作计算机的最底层的动作。缺点是人类难以记忆和阅读,学习成本高,需要熟知计算机的物理原理,目前只有各大芯片厂商的技术人员使用机器语言进行编程外,绝大部分程序员使用的是高级语言。
2. 汇编语言¶
汇编语言本质上就是机器语言,只不过为了阅读和书写,给不同的指令加上了简短的助记符。例如使用ADD表示加,SUB表示减。但它的学习成本依然很高,只有少数对计算机硬件熟悉的程序员在使用。
3. 高级语言¶
因为机器语言,汇编语言都是直接操作计算机底层的运算器的微小步骤,要实现我们看起来的简单功能例如在屏幕打印一行文字,需要大量代码。因此机器语言和汇编语言也称为低级语言。通过低级语言编写程序非常繁复,计算机科学家发明了高级语言。
高级语言并不是特指一种语言,在计算机技术的发展历程中出现了很多高级语言,其中大名鼎鼎的C,JAVA,PYTHON都是高级语言。
高级语言是对低级语言的封装,高级语言编写的代码是给人类阅读的,计算机不能直接识别,需要通过翻译成机器码然后交给计算机执行。
根据不同的翻译机制又分为编译型编程语言和解释型编程语言
1. 编译型编程语言¶
如果把高级语言编写的代码比作一篇英文文章,计算机比作一个不懂英文的人。那么这个人可以找一名懂英文的翻译将这篇文章翻译成中文后,他可以随时随地的阅读这篇翻译后的文章。
编译型编程语言就是通过编译器(英文翻译)将代码(高级语言编写的程序)编译(翻译)成可执行文件(翻译后的文章)。可执行文件可以在任何支持的平台上,脱离编译环境运行。
因为可执行程序就是机器码,所以它的执行效率高。但修改起来非常不方便,只要源代码修改后都需要重新编译后生成新的可执行程序。C语言,C++就是典型的编译型编程语言。