前几天跟同学其去了一趟电脑图书市场。打算弄几本“砖头”来啃啃。却发现自己慢慢的慢慢的落入了这样一种境地。
以前――确切的说是刚刚转入软件学院――逛计算机图书市场,总是觉得有很多书可以看,鉴于手中的Money,不得不舍鱼而取熊掌。《xx技术内幕》《深入浅出xxx》《xx编程思想》《xx本质论》《xx Primer》都是非常值得一读的图书。但是现在两年过去了,或许是浮躁了,或许真的是学到了一点东西。渐渐的,觉得编程类的图书已经不太能够吸引我的兴趣了。虽然当时因为囊中羞涩而没有买《C++ Programming Language》,但是现在已经没有兴趣再去买它了。其它的,例如《C#技术内幕》《ADO.net Internal》等等,已经都不太有兴趣去看了。理由呢,其一:.net的原理已经摸了个大概,ado.net的数据访问模式也基本了解了,真的要用的时候,可以快速的查找资料而获得答案。或许同学跟我也有一样的感触。有个同学说“《深入浅出MFC》这种书是给比较初级的程序员看的……”
那么除了编程类书籍。还能看些什么呢?软工类书籍:《单元测试》《CMM详解》《人月神话》等等,不错,这方面我还欠缺一些,但是我一直觉得软件工程工程,当然是要在工程实践中去体会,在校的学生,呵呵,还是不要幻想毕业就当“Architect”了。
另外的呢,计算机科学类:《人工智能》《模式识别》《神经元网络》《机器学习》《高级图形学》《分布式系统》《网格计算》……这些图书,好多都要求有比较深入的数学与物理学功底。翻开这些书,看到大串的公式,算法,形式语言就会发怵。又想起了数学在自己的心理留下的永远的痛……
因此,这就落入了一个比较尴尬的境地:一方面,比较“简单”的,工程类的书自己已经不太想看了。另一方面,计算机科学类的书,有些却因为缺乏基础知识而不敢问津。
这就不能不反思一下以前(在软件学院的时候)的学习方式。以前的学习,一直是偏重于工程而尽量简化理论学习的。当然,这对于本科毕业求职就业来说,无疑是极大的优势。这在我们00级同学的就业情况和平时与其他学院的同学的一些交流中就可以看的一清二楚。但是,如果想往“高”一点的层次发展。仅靠这些是足够的么?
我觉得计算机软件领域就是两个方向:第一,软件科学技术,就整天搞研究,理论,算法,科研,发表论文……VB, VC, .NET j2ee什么的连懂都不要懂。第二,软件工程,要对软件业界的发展方向,最新技术,解决方案都要有了解。要能动手coding,逐步积累经验,然后能够架构系统,能够管理软件项目开发,熟悉软件过程管理控制。
软件工程方向是我以前一直所关注的,但是,在学校里发展到一定阶段,就无法在深入下去了,毕竟工程需要的不是理论而是实践。软件科学呢,以前一直被我忽视,现在想入手,但是却发现了“瓶颈”……
问题发现了,对策呢,Come on come on……