计算机所能直接识别的语言,无非就是0和1.但是要然人来记忆0和1,那人还不得疯了。人们使用的语言与计算机识别的语言有差别,因此中间需要一个Adapter来关联。语言之间的联系好比下图:
对于每个程序语言来说,如何使得高级语言被机器识别。
举个例子,假如你要阅读一篇梵文的文章。你如何才能知道这篇文章中说了些什么。
对于这种情况,你无非就两种选择。
1、找人帮你翻译成中文
2、找人帮你在文章中写上注释
同样的,要想让机器识别高级语言,也就只有这两种办法。
1、把高级语言翻译成机器语言,然后再然机器去识别
2、在机器识别的时候,不懂的有注释。有一个解释器,进行翻译。也就是文章中的注释。
把高级语言翻译成机器语言。这个过程称为编译。
在机器识别的过程中,程序一点点给你翻译。这个过程称为解释。
下面是我对程序语言的的理解。
编译方式与解释方式的效率比较:
编译,执行的过程,就好比看古文的翻译。
解释,执行的过程,就好比看带注释的古文。
对于上述的两种看法,肯定是直接看翻译看得又快又舒服啦。因此编译方式肯定比解释有更高的效率。
总结
程序设计语言就是为了写计算机程序而人为设计的符号语言。
对于程序来说,无非就是给机器语言 与高级语言搭建一个桥梁。让机器可以识别高级语言。文法,是编译原理的基础,是描述程序设计语言的编译器。所以这个过程肯定需要进行编码,制定标准。专门有一门学科,讲解如何编译。编译原理是一门描述程序设计语言的实现其编译器的方法的学科。也是理解程序语言的先修课程。