如何看待编译原理对我们影响
1.编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪 50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟 编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决著名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间 诞生不少名著的相关数论。
2.可以通过对编译原理的学习从而关注编译器方面的产生原理和技术问题,学习词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的,可以更加客观的比较不同语言的差异,更不容易被某个特定语言的宣扬者忽悠,学习新的语言是效率也会更高,其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余
3.如果不学习编译原理,在我们日后与计算机语言的接触中会接触到更少的算法和语法方面的知识,进而无法跟上科技和计算机领域的发展。
也就是说无法加深对程序语言的理解,和快速的掌握新的语言工具;而计算机课程学习中包含了很多软件技术,程序设计语言编译程序构造的基本原理和实现方法是软件的核心技术之一,这对于以后从事软件设计是很有帮助的.
4.有能力的话多阅读国外的书籍,也可以多阅读目前各个大学使用的教材机械工业出版社、国防工业出版社出版的《编译原理》。积极浏览各种科技网站上有关编辑原理的知识,熟练掌握他们的思想和学习编译原理的方法,也能学习在科技前沿方面有关编译原理的更多动态。