学术研究和计算机科学的革新

Windley的一篇短文: Academic Research and CS Innovation 。 于我心有戚戚焉 。想当年 Software Practice & Expereience 上雄文无数,但近来好像也没有什么大作,价格还高得吓人。偶们公司的图书馆也没有订它了,连存档都只到1997年。

我总觉得,CS是一门相当务实的学科。它不象数学,追求的是纯粹的抽象;也不象物理,追求的是穷尽这个世界的本质原理。CS本来就为解决问题而生。革新才是CS的生存之本。理论也是在解决问题的过程中渐渐积累而成。当然,不可否认不少CS理论有它自己独立的价值,比如复杂性和可计算性,但这些东西毕竟不是CS的全部。当年的CS理论高手们在实践方面也不落人后。比如Knuth的Tex,Wirth的Pascal,Dijkstra的Algo60,McCarthy的LISP,Iverson的APL, Codd的System R,等等。可以看到,系统革新往往带来理论的高歌猛进。可现在好像搞颠倒了。大学里做CS的人写的东西越来越高深,看的人却越来越少。搞软件工程的人好像不在自己的文章里弄点数学(用Windley的话说,就是在一个专门的小节里塞点希腊符号 ),都不好意思出手。可读完那些文章才发现,原来是个简单问题,只不过形式化这个问题花掉了大半篇幅。这种文章,称为灌水文章也不为过吧。搞软工的居然不想写代码,搞出一个算法,证明它的复杂度和正确性就算完事。可是,如果没有实现和评估这些理论,怎么知道这些算法是不是有改进的余地以及改进的方向是什么呢?一个NP的解决方案并不等于没有实用的价值,一个P的算法,也不等于就是好的算法。而且现在的文章比较奇怪,一来就是大段的定义和定理,最后告诉我们某定理能到处某改进的算法。那些老大们好像忘了,他们不是在研究数学ye ,他们不过用点数学的东西来搞定一个实际的问题。对比一下高老大爷的风格,再抽象的东西到了他笔下也能转化成具体的例子,直观的解释,以及相应可以被解决的问题。我还想不通的是,为什么有那么多软件工程的文章研究怎么表达一个又一个本来很简单的概念?比如说,Tony Hoare的{Φ}[while B do P end]{Ψ}本来简单明了,为什么N多文章都要写成
Φ // (Φ -> Φ I // (Φ I // B -> [P](Φ I) // (Φ I // !B -> Ψ)。一个耳熟能详的编程概念被表达成这样,能有几个程序员看懂?用文字描述一下前置条件,后置条件,价格不变量要死人啊?呵呵,看文章看得郁闷,居然说得离题万里了。还是继续回去读我的文章吧。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值