计算机的语言

来源:互联网 发布:美国最新航母数据 编辑:程序博客网 时间:2024/06/05 08:25

刚上学那会,学到编程语言的时候,很不理解,编程就编程吧,这东西为什么还叫语言呢?语言不是中文、英文、法文之类的吗,计算机又不会说话,怎么会用的到语言去交流,不过当时也没有好意思问老师,就是觉得这个问题太low了。

后来慢慢有些理解了。语言其实就是用来交流的工具。例如你碰到只会英文的英国人,只能用英文交流,你不会英文,可能要去学习英文;碰到只会法文的法国人,只 能用法文交流,你不会法文,可能要去学习法文。同理你碰到了计算机,就只能用计算机的语言进行交流,你不知道计算机的语言,就要去学习。

在学习之前, 你可能还有一个问题就是计算机又不会说话,怎么交流,学什么?我们通常意义上的语言交流就是指面对面的谈话,不过再想想书写也是交流的一种方式。和对话一样,书写的前提同样也是大家要用双方都能明白的语言形式。早期的计算机没有麦克风和音响之类的配件,是不能直接对话交流的。只能打字用键盘书写输入,然后 计算机通过显示器显示出来供你查看,这就完成了双方的一次交流。

那不错,你可以通过书写(确切来说叫键盘输入)来和计算机交流了, 在你高兴之余,又发现了一个问题。计算机知道也了解计算机的语言,就像英国人已经知道英文的你好就是Hello, 你对着他说Hello,他就能理解了。但是什么东西才是计算机的语言,你输入Hello, 计算机能不能理解。你现在需要的就是开始学习并且掌握计算机的语言了,只有这样你们才能相互交流。

很不幸,早期的计算机只认识0和1组成的串,例如01100001表示字母a。看到这里你马上就崩溃了,只要一个小小的字母a就这么多0和1,如果我让计算机帮我计算加减乘除、排序之类,那岂不是写一大堆的0和1,还不如我自己手算、手写来的快。这计算机简直没法交流呀。我再也不要学习这种计算机语言,也不想和它交流了。

不只是你,很多工程师和科学家也意识到这一点。那怎么办呢。他们想到现实生活中的翻译人员。来想像一下,假如你碰到一个原始部落的土著人,他对着你叽里呱一通讲,你听着就像鸟叫,你又不想学他们语言,怎么办?如果这是候有一个翻译,他既懂你的语言又懂土著人的语言,那么你就能和土著人愉快的交流了。

同样计算机里引入了编译器这个相当于翻译的角色,你只要输入你能理解的语言形式,编译器会翻译成0和1给计算机的。这样的话,你可能又提起了兴趣,原来不需要理会那么多0和1, 我只要了解简单的计算机语言形式,输入好扔给翻译就可以了,后面的事翻译会去处理。


再往后发展,用计算机的人越来越多,要求也越来越多。科学家和工程师们发现发现单一的翻译不够用的呀。比如那个土著人的例子, 如果来一个英国人要和他交流,英国人需要一个既懂英文又懂土著人语言的翻译; 如果来一个法国人要和他交流,法国人需要一个既懂法文又懂土著人语言的翻译。于是在计算机领域也出现了各种各样的编译器来适应不同的人群。 相应的,人们可以根据自己的喜好去选择,也就出现了多种多样的计算机语言如C, Java, C++等等。

 

0 0