关于实践——有感于大学计算机教育

By Zhang Hui

差距在根上,现在看新的语言,看新的系统不断涌现,容易陷入焦虑。其实这些新概念的技术根源,都可以追究到操作系统,编译原理。

所以说,如果说最近一段时间可以用来学习,那么我宁愿重新学一遍基础。当然,不是重复原路,而是做实际的project。

无论是耳闻还是目睹,我都知道,国外讲授os之类的课程,从来不会只念课本。都是有一定的项目实践,而亲身体会,总会让你脱去浮华,深入下去,从而受益良多。

2001年的时候,我关注过一段时间国外在这方面的project,看到几个有意思的用C,C++,Java开发的小型教学用os。minix的初衷也是教学,但是实践起来还是太庞大了。所以当时就有冲动想给以前的老师,系主任写信说出这方面的想法,希望在校的学生也能参与进来,而不是仅仅背一下概念就能考个高分。后来因为种种原因,这个想法没有实现。

现在,因为是一个再学习的机会,看到选课单上那些新名词,那些时髦的东西,不禁暗想,为什么我们不重拾一下基础呢?

对于软件行业的学生,如果能做一个virtual machine的项目,在上面再加上os层,然后是语言和编译原理,哪怕是一个简单的p-code也好。那么他对整个系统把握的程度就足够好了。基础好了,做一切都就游刃有余。

大学里如果有这一个系列的实践,那么你的起点就远远高出同侪!

virtual machine——《程序员》杂志就用两期实现了一个简单的虚拟机,有了这个功底,将来你分析jvm就有了很好的起点,想想看,别人还在争论语言语法的特点,你却已然从实现的角度理解了这个语言本身,你们的层次有多么大的区别!

operating system —— minix用于教学好像还是太大了,实践点不多。国外大学的几个项目是RCOS,该项目有C++版和Java版(Java版我下过,挺好玩,把进程调度,资源使用用动态的图示演示出来,而且有一个简单的语言,可以协议些进程间通信的小程序)。更流行的是NACHOS,任务管理,内存管理等从理论的全局,从框架上都要理解,实践上,自己时间有限的话写一个任务调度或者内存分配就可以了。

程序语言和编译原理——其实上面的两个项目都涵盖了,基本的要求就是要懂得lex和yacc,能够构筑实现基本要求的解释型小语言就行。

无论是borland还是microsoft,商家的东西总是显得很复杂,不是你学习写入的地方。在试图理解复杂问题之前,好习惯是先去真正理解一个简单的系统,学习真正实质性的东西。

《程序员》杂志有一期试图讨论程序员为什么焦虑?依我看焦虑是因为程序员被众商家的纷繁概念迷住了眼睛,而且国内的大学教育的确没有真正把那些核心的东西教给学生。一个人,没有根,风吹草动,怎么能安心呢?

Jvm,Web Service,EJB都是有根的,你不从根上去找问题,去理解,怎么能不难受呢?

所以,我宁愿重拾基础!以实践来真正引导自己的学习

一些相关的链接
Technical Resources and Course Web Site for Operating Systems, Fourth Edition
NACHOS
RCOSjava
rcos

=======================================
版权所有 /copyright 张辉 2003
本文可原封不动的拷贝和自由地再发行,但在拷贝和再发行的拷贝中必须
原封不动地含有这段版权声明。 
http://forestsong.blogone.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值