今天上了《编译原理》的第一堂课,方老师给人的印象还是挺好的,课堂氛围严肃中穿插着小声。
《编译原理》挺重要的,也是挺难的。学了它,才算是真正的计算机专业的人。
在一个地方看到一句话,说《编译原理》就像武侠小说中的“九阴真经”,没有看过它,也可在武林中占有一席之地,但是看过后,方能领会武功的真谛,攀上顶峰。
《编译原理》需要扎实的数学功底,同时也需要较强的数据结构知识支撑。
为什么要学?
1.编译原理蕴含着计算机学科中解决问题的思路、抽象问题和解决问题的方法;
2.有利于加深对程序语言的理解,可以帮助你更加快速的掌握新的语言工具;(可以针对编译器对代码进行优化,使其编译效率大大提升)
3.课程中包含了很多软件技术,这对于以后从事软件设计是很有帮助的。
编译原理的难点
1.错误认识:很多人认为编译原理只能应用在写程序语言的编译器上,觉得用处不大,学习兴趣不高,而且可能觉得写编译器就必须完全手工来写。(除了写编译器,还可以干什么呢?)
2.自动机理论:像NFA,DFA之类,比较抽象,要费些脑子,特别如果学离散数学时没有学自动机理论的话,更是要多花点时间。
3.集合论的推演:主要是一些闭包运算之类,数学基础不好的话,学起来也会感到吃力。
4.LR文法:主要又引入了自动机
对策:
端正认识、
反复看书、
力所能及的编写一些编译程序