首页 > 代码库 > 对于编译原理的看法

对于编译原理的看法

       今年大二的我刚刚触及到这个知识,一开始觉得这个知识大概就是编译器一类的,想想觉得没有什么作用,软件上都有,但是自从看了网上的资料以及老师的讲解之后,我渐渐改变了我的看法。

       在我看来,(编译原理)是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。是计算机专业的设置的一门重要的学科,尽管很多人都觉得学这个其实对自身没有什么太大的用处,即使我起初也是这样想的,但是这门课在理论、技术、方法上都能够对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。因为开始会比较的枯燥以及无味,所以可能会让很多人都没法去学习。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。

       但是这门课仍然成为了研究生入学考试的必考内容,由此可知其重要性。

       在我看来,这门课是一门真正与代码做斗争的课程,对于一个有至于追求技术的人是不容错过的课程,而且编译原理可以说是一个计算机科学的缩影。你学习它更多的是去追寻程序设计语言的本质,任何东西都有着其作用及用途,但是编译原理的学习中所获,所思的东西足以让你终生获益。当自己去学习到深入时,思考到别人思考不到的东西,做到别人做不到的东西,我觉得这就是成功。

       它所学来的益处我在网上所知道的:1.可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的

                                                    2.可以更加客观的比较不同语言的差异                                                    3.更不容易被某个特定语言的宣扬者忽悠

                                                    4.学习新的语言是效率也会更高

                                                    5.其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余。

       由上述所知,假如自己学习的是c语言,过去还不知道或者有点难以理解的原理,可能学习这个之后,就豁然开朗。它也能让自己以后学习其他语言更加的容易,并且可以坚定自己的立场,能够最大程度上做好一个程序。

       所以我觉得不管是以前怎么认为的你,现在应该尝试去学习学习,学好了它,不仅仅能够透彻的去看待过去的一些c、java等问题,而且能够尝试给自己做一个编译器来给自己提供便利的打代码环境,我觉得不学的确有些可惜。

      至于怎么去学习的问题,我觉得应该要尽可能熟练的去温习温习过去c语言带来的知识,并且能够对数据结构的字符串、树以及图有着比较熟悉的理解,还有如今学习的离散数学的对树和图的相关理论比较了解,明白汇编指令、数据在CPU和存储器之间的交互机制的汇编语言,当然,要把这本书学习好之后,再去学习龙书才能更有效率的去深刻学习它。

       毕竟没学过,所以就知道这么多~~~!

                                         -------来自广州商学院的商软二班的202帅哥天团的BOSS

对于编译原理的看法