在上一篇文章中我们不厌其烦的解释了程序运行的基本原理。
接下来我们要说下编程语言本身。
在上一篇教程中,我们说明了程序是如何运行了。而编程语言是我们用来生成程序的工具。我们有介绍过,直接写0101代码的方式,叫做机器语言。
机器语言的优点是直接粗暴,但是劣势更明显。那就是:代码基本上不是人看的。如果没有文档,没有说明,你直接去看那一堆010101,绝对是一脸懵逼。一致性也非常差,对于不同的硬件,即使是完成相同的功能,也要写完全不同的代码。
在软件业,懒是行业进步的阶梯。
为了避免繁重重复的劳动,也为了增加可读性,可维护性,我们发明了助记符去抽象一些简单且常用的操作,比如移动、加法等等,比如
MOV AS, CS
ADD CS, 91H
我们把这种方式叫做汇编语言。
但是这种方式还是不够人性化,基本上还是处于人看不懂的状态,因为是直接面向机器的指令。
为了解决这些问题,我们进一步发明了高级语言。典型的代表就是C语言,也包括我们学的python
顺带说一句,如果你只想学两门语言的话,我推荐先学C原因,然后学python。
编程语言可以分成两类:解释型语言和编译型语言(当然现在有那种结合两种类型的混合型的语言)。
编译型的语言,比如C,Go等,其工作原理就是通过源代码生成0101的机器代码,然后直接运行。
而解释型的语言,以python、JavaScript为代表,他们源代码的运行不是直接生成二进制程序,而是依赖于一个解释器,解释器会逐行解释代码并执行。
以上是对编程语言有一个粗略的介绍,如果想详细了解,可以搜索相关关键字:机器语言、汇编语言、高级语言、编译、链接、解释器、虚拟机、GC。
那么,为了让python代码跑起来,我们需要啥呢?对,需要一个解释器,因为python是一个典型的解释型语言。另外不得不说一句,python最近才火起来,从程序员火遍到了各行各业,似乎是一门新潮的技术,但是其实上python已经有相当长的历史。
python由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。也就是说,python其实已经有近30年的历史了。
需要注意的是,python有两个大的版本,一个是python2,另一个是python3。python3和python2并不完全兼容(虽然在很多写法上差别不大),但是并做不到无缝切换。也就是说,使用python2环境写出的代码,在python3中大概率是无法直接运行的。
官方对于 Python 2的支持将会在2020年1月1日结束,在这之后即使是出现安全问题,旧版本的语言也不会得到任何改进。人们现在必须立即转移到 3.0 以上版本了。
所以,建议新学习python的人,都使用python3,而不是python2.
在下一章,我们将会学习如何待见python的开发环境。