标签:
在我看来,编译原理就是将高级语言翻译成计算机语言(即计算机所能识别的二进制代码)所遵循的规律,并且让你理解机器是如何理解高级语言的。
学习编译原理有什么好处?
当你真正完成编译原理的学习后,你对你所写的程序、程序语言都会有更深的本质认识,这样的认识也会让你站的高度完全不同,并且知道编译的过程方法理论,可以为以后学习工作打下基础,而且编译原理并不仅仅是用来写编译器的,还可以在许多意想不到的领域进行应用。如果以后走工程方向的,学好编译原理可以基本囊括所有需要的技术,锻炼脑力,同时可以有广泛应用,更本质上说,让你理解你天天用的语言,这是优秀程序员需要具备的专研精神。
不学有什么损失?
不学编译原理,可能永远给各种写编译器的人当奴隶,以为写程序只能按照他们设计的语言哲学来做。学好了编译原理,不一定非要自己写语言,但是至少能把很多其他程序员觉得很酷的东西看得透彻一点,不会被程序语言的设计表象骗到太多。
如何学习编译原理?
a. 学习 C 语言, 不要求熟悉, 但至少要弄明白指针的思想.
b. 学习数据结构, 尤其是对字符串/树/图的相关基本处理手段要非常熟悉.
c. 学习离散数学, 对树和图的相关理论要比较心中有数
d. 学习汇编语言, 不要求熟悉这门语言, 但至少要弄明白汇编指令、数据在CPU和存储器之间的交互机制.
e. 着手学习编译原理, 推荐先找一本国内高校普遍使用的教材(比如我本科学校用的是胡元义的一本编译原理教程, 很一般, 但很适合先入门), 入门后(搞明白编译原理到底是要干嘛, 解决什么样的需求)马上扔掉转龙书, 此法最佳
标签:
原文地址:http://www.cnblogs.com/lianghaohui123/p/5857462.html