据我的理解,计算复杂性理论(理论计算机科学)和几大围绕媒体为研究对象的 AI 学科都很成熟了(对信息如自然语言句子的表示有了本质的了解),还有信息/对象检索的理论也够了。
我感觉 CS 的发展,一个是应用到自然语言、教育、知识检索、辅助科研等重要现实问题上,还有一个是计算机如何战略性的解题,就像我们怎么发明 Quicksort, AKS Primality Test 的。
最近看到 Scientific American April 2006 的封面文章,讲的是利用量子的拓扑性质制造量子计算机。还有今天看到新闻说 IBM 在一个 nanotube 里造了一个 Ring Oscillator。
这当然都是源头创新。很可惜都是自然(硬件)科学的。
数学、计算机、互联网和英语一样,只是基本工具。基本工具不要指望持续创新。
你看看现在的生物突破
用到哪个世纪的数学了。。
我不说他的硬件工具
我说他的实验策略
数学和计算埋藏在高级物理工具内,所以数学/计算机研究者的价值不为常人所知。。。
比如 nonabelian
我认为现在的所有简单理论都有了,这些都算是 infrastructure theories,比如如何造一个电网。但电网毕竟只是基础设施,就像 google 一样,做 string matching 这个本职工作很不错,但别指望基础设施能做什么智能决策。
我认为计算机科学以后的有用创新,不会是“发现了一个简单理论”,而是像四色猜想的证明那样,让基于已知基本理论的计算机程序通过自动组合搜索,发现有用的结果。
计算机跟英语、数学等古老学科一样,越来越工具化。就像显微镜一样,主要是用来发现其他东西,自身的发展只是一种 engineering.
计算机科学的问题就是简单概念都有了,学者们却不愿做实际的系统,还要往理论死角里挤
每每看到人们用基本理论造出一些机械的简单结构,并试图因此奠定‘理论地位’,我就觉得悲哀。。
自然科学是一个从宏观向微观发展的过程,人们首先发现用当时手段可以发现的一切自然规律,然后用这些自然规律去 engineer 更好的显微镜,然后更好的显微镜又反过来帮人们进一步发现更微观的自然规律,如此 science 和 tool engineering 相辅相成,才能不断发展。
而计算机科学/数学是一个从基本到高等的发展过程,人们首先发现一些简单易见的基本理论,比如博弈论,基于关键字的信息检索,基于 rule 的 reasoning;但是计算机科学家继承了数学家的一个劣根性,就是轻视 tool engineering,导致理论研究只能在基本层面兜圈子。我认为计算机科学的发展必须 engineer better tools,像 prove four color theorem 那样不断达到更智能的工具,才会有更高级的理论出现。