Brian Kernighan,贝尔实验室的研究员,普林斯顿大学计算机系教授,他最早知名是因为他就是撰写最早的C语言标准"K&C"中的"K"。当然,还有他是经典C语言书籍《C Programming Language》的作者。今天他来到我们学校,为我们带来了一个非常精彩的讲座。
Kernighan长期从事程序语言的研究,他也是Unix操作系统的先驱。今天他讲座的内容却与他原有的留在人们心中的形象非常不同。因为他今天讲座的中心是“动态语言”!是Javascript,是Python,是Ruby。这多少有一些出乎意料。
原以为,动态语言这几年因为Web Programming的兴起,特别是05年Ajax兴起之后,在业界掀起了一阵一阵的对动态语言的狂热,并没有太多影响传统学术界。因为传统学术界仍然把C语言,C++当作制胜的法宝。至多再加上Java。很少有学术界关注现在流行的种种动态语言,更别提现在流行的种种开发框架。
Kernighan的关注也让我感到敬仰。按理说,他是上一个潮流的人。像他那个年代,从Unix和纯正的C语言走过来的人,是很难对现在的诸多动态语言产生兴趣的。因为,在他们看来,这些语言太简单,太不过于完美,性能也低,做不了系统开发。不过,Kernighan着重指出了,语言和工具影响着人们思维的方式。如果不接受这些动态语言以及新的开发框架,我们就没办法去接受新的开发思想和开发理念,进而就不可能有更新的产品。
Kernighan举了很多例子,比如Javascript,应用很有限,但是在浏览器中发挥着强大的功效;再例如当前的一些mashup的应用,如何做到API和多种应用的整合。
应该说,Kernighan的讲座还是很前卫的,居然还包括了一两周前Google才发布的OpenSocial。
下面来谈谈我的看法。
我还是持一贯的主张,其实,桌面应用和Web应用开发模型肯定也必须统一。如果这个鸿沟长期得不到解决,Web应用也仅仅是带着脚镣跳舞。微软、Adobe都在尝试着这方面的努力,比如WPF、Silverlight,比如Adobe Air、Flex。但是,现在还远远在雏形期。一旦桌面和Web应用统一之后,那么我们就可以把桌面强大的优势和Web的“万金油”精神整合起来,从而形成强大的应用。
不管是Ajax,还是mashup,终究不是长久之策。
Kernighan的讲座有一个小小的错误。Javascript不仅仅在浏览器中有应用。事实上,Mozilla Firefox有很大一部分的代码就是Javascript写的!浏览器本身就是Javascript强大的一个证明。再有,很多软件的脚本系统或者是插件系统都利用了Javascript,如Adobe。
不管怎么说,能够听到计算机界响当当人物的讲座,心中还是很高兴。只是遗憾没有能够找他签名。
没有评论:
发表评论