# 编程语言是什么? ## 概念 ![1658742760712](https://wcflove.gitee.io/images/1658742760712.png) 人和人交流沟通所使用的的语言叫做自然语言,例如汉语,英语。 ![1658742859583](https://wcflove.gitee.io/images/1658742859583.png) 所谓的编程语言,其实就是人和计算机交流的语言。 与自然语言不同, 编程语言有极其严格的语法和准确没有歧义的语义。通过编程语言编写程序交由计算机去执行与通过自然语言编写文章给其他人阅读本质其实一样。 学习编程语言和学习自然语言的方法也类似。 ![1658743179282](https://wcflove.gitee.io/images/1658743179282.png) 学习自然语言会先学习语法,字,词,句,阅读文章,最后模仿写文章。 ![1658747684502](https://wcflove.gitee.io/images/1658747684502.png) 编程语言也是先学习语法,关键字,语句,然后阅读别人编写的代码,最后模仿编写自己的代码。 自然语言一般都会有成千上万的字和词,要掌握一门自然语言需要数年时间。而编程语言通常只有几十个关键字,几个流程控制语句,所以从量上来说,编程语言比自然语言要容易学得多,要掌握一门编程语言通常只需要数月时间。 ## 分类 编程语言一般分为机器语言,汇编语言和高级语言,或者说是编程语言经历的三个阶段。 ### 1. 机器语言 ![1658828006687](https://wcflove.gitee.io/images/1658828006687.png) 能够直接被计算机识别的指令称为机器语言。 机器指令就是一串二进制数,`010110101`。它的优点是能够直接操作计算机的最底层的动作。缺点是人类难以记忆和阅读,学习成本高,需要熟知计算机的物理原理,目前只有各大芯片厂商的技术人员使用机器语言进行编程外,绝大部分程序员使用的是高级语言。 ### 2. 汇编语言 ![1658828096994](https://wcflove.gitee.io/images/1658828096994.png) 汇编语言本质上就是机器语言,只不过为了阅读和书写,给不同的指令加上了简短的助记符。例如使用`ADD`表示加,`SUB`表示减。但它的学习成本依然很高,只有少数对计算机硬件熟悉的程序员在使用。 ### 3. 高级语言 ![1658828151561](https://wcflove.gitee.io/images/1658828151561.png) 因为机器语言,汇编语言都是直接操作计算机底层的运算器的微小步骤,要实现我们看起来的简单功能例如在屏幕打印一行文字,需要大量代码。因此机器语言和汇编语言也称为低级语言。通过低级语言编写程序非常繁复,所以为了更好的利用计算机,计算机科学家发明了高级语言。 高级语言并不是特指一种语言,在计算机技术的发展历程中出现了很多高级语言,其中大名鼎鼎的C,JAVA,PYTHON都是高级语言。 高级语言是对低级语言的封装,高级语言编写的代码是给人类阅读的,计算机不能直接识别,需要通过翻译成机器码然后交给计算机执行。 ~~~