有谁懂,可以给出建议与大家分享一下。我是初学者,并不是很懂,给一点建议。
可以看看编译原理这本书啊
我也很喜欢编译原理。我觉得学习这门课程有以下几个特点:
1。算法特别集中:各种五花八门的算法在这里充分体现,没有一定的算法基础和数学基础,难学!
2。要求很高的编程技巧和经验:想要完整的编写一个语言的编译器,没有相当的编程技巧和经验是不现实的。
所以大部分教材只讲原理不讲实现。
3。涉及比较广泛:至少你对计算机硬件指令,操作系统这些低层东西要熟,现在的编程语言日新月异,新技术
不断推出,涉及的范围非常广。
4。教材少,资料少:基本都是国内各种不同版本的<<编译原理>>,都是些“入门级“教材,统统讲那些基本的
文法,词法,语法,LR,SLR等等那些,对真正重要的比如程序优化,连接等等基本不提或一笔带过,而且基本上
都是以较老较弱的语言(比如PL/0,Tiny)这些作为例子,对新技术提的很少。
我也是看了几本国内的“入门”教材后找不到合适的教材,也没有写出来什么有用的东西出来,因为对很多细节实现实在的迷惑不解。
一本教材就能毁了一门课,看看我们手中的编译原理教材,虽说是"入门极"的,但有几个老师讲的明白,又有几个能够自己坚持把它读懂,所以大部分人认为这门课不重要,现实中也没什么用处。哎!悲哀!
现在很多人把大部分精力花在对新技术的学习:什么j2ee,.net技术。很少有人关注计算机基本的那些东西。
新技术太多,老师总是告诫我们“要构筑在前人的基础上”,但我觉得这些新技术要“死记硬背“的太多,要“自己思考”的太少,比如Java,本身语言是简单,就像书中介绍:“只要有c++基础的可以很快过渡“,确实如此!但是它相关的技术和支持库浩瀚如海:spring,struts,jsp,java swing,hibernate,rmi,jdbc......这些名词听着头就大,虽然开发文档跟的上,但我相信大部分人基本上是背下来的,没有多少人会关心技术细节(因为也没必要)。这些对找工作肯定有大用,这也符合软件工程的金字塔结构(人数最多的是位于塔底的程序员,中层是管理人员和高级程序员那些,顶层是少数掌握核心技术的) ,但是总是感觉自己处于底层而不爽,还是花点精力去研究一下根本的东西为好。
想学编译原理,就目前的情况看:我们得自己努力了。
[此贴子已经被作者于2006-11-21 10:02:54编辑过]