什么是编程语言
什么是编程语言?这听起来像是一个哲学问题。简单来说,编程语言,就是我们希望计算机帮我们做一些事情,怎么告诉他呢?这里就是要把我们的想法落实成计算机能懂的语言,这就是编程语言。
重要的是,在告诉计算机要做什么之前,你必须自己清楚你要做的是什么。换言之,你必须非常明白,你要做什么以及怎么做。
举例来说,你想删除一些电脑中的大文件,来腾出更多的磁盘空间。这是一个非常模糊的需求。
你需要细化,然后才能编成程序,最后计算机才能懂。比如说,我要遍历C盘下的每个文件夹以及其子文件夹中的文件,如果文件大小大于了1024Mb,那就删除它。
这让就好多了。
编译和解释型代码
计算机拿到我们的代码后做了什么呢?
其实计算机是看不懂我们写的代码的。我们的编程语言是给人类看的,方便人类学习、使用。但是计算机只能看懂机器码。
如果计算机想要按照我们编写的程序完成任务,我们就要把程序编程计算机能懂的机器码。在这个过程中,有两种方式,编译和解释。
编译和翻译都像是我们现实中的翻译官。在两个语言互相不通的人之间起到一个沟通桥梁的左右。
编译和解释的区别在于翻译官的工作方式不同。
- 编译
什么是编译?编译就像是一个人用中文写好了合同,翻译官按照中文直接全文翻译成英文后,保存下来。这样每次老外来看的时候,直接看英文版的合同就行了。 - 解释
什么是解释?解释就是中国人和外国人在打电话,给老外安排任务,翻译官需要一句一句翻译给外国人听。中国人一句话说了多次,翻译官也要翻译多次。
不管是何种方式,只要计算机能够明白了我们的编程语言,就能帮我们干活了。
ASCII 和 UNICODE
虽然计算机能够完成计算,但是计算机不懂我们人类的世界。在计算机的世界里,一切都是数字。我们人类世界中的符合、字母都是需要用数字来表示的。这些数字我们称为字符集。
我们大家熟知的ASCII编码方式占一个字节,可以表示的数字范围从0 到 255, 共可以表示 256 个字符。
比如说字符 E 用数字 69 表示, 加号 + 用数字 43 表示。
ASCII 码的问题在于,可以表示的符号太少了。中文和日语的符合个数远不止256个。
为了解决这个问题,后来发展出了 UNICODE 编码方式。