Premature Optimization

昨天在知乎上看到有人问某领域的基础学习是否可以有所侧重裁剪的问题,第一反应是:学习基础得不能再基础的东西还裁剪什么?由此不由得想到了简化字。从有草书和行书开始,简化字的存在其实也有几百甚至上千年了。建国后的汉字简化过程,其实只不过是正字废除过程而已。丢弃的知识不说,语言本身在某些方面反而被复杂化了,有些本来可以通过单字明了的意思,比如船只的「隻」和只有的「祇」,现在必须通过上下文分辨。

软件开发领域之外无数草率的裁剪,和软件开发的「 premature optimization 」本质上属于同一种行为,拥有共同特征。第一是基于假设的而非真正的 hotspot 。软件开发的 premature optimization 不经过 profiling ,所以经常发现辛苦优化的代码在使用中很少被调用,优化所得的效率提高完全被边缘化。简化字号称能加快汉字认读,其实以汉字认读为主的学习阶段只有两年左右(还是在兼学其它科目的情况下),而现代中国人以学习为主的过程持续九年到三十年以上。简化汉字牺牲文字带来的收益其实得不偿失。

最成功的软件系统是那些最终用途超乎设计者想像的系统,像 UNIX 操作系统及其各种工具,C 语言,Photoshop 等等。Premature optimization 大大降低了这种可能性,让系统能顺利经受预料之外情形的能力低下。至少,在外界情况发生变化时,premature optimization 所允诺的优势的往往烟消云散。今天学简化字成长起来的这一代人,认读正体字毫无困难。这是当年行书和草书的设计者们在长年积累中对认读心理的直观认识的结晶。这说明在认读方面正体简体并无区别。那么正体废除运动的优势似乎就只有书写一路了,偏偏今天的汉字书写又计算机化了。人类永远不知道自己预言未来的能力有多差,而勇于否认这点的莫过于 premature optimization 的施行者。

好在当年汉字拉丁化这个终极优化方案被否定了。这里不是要悲叹正体字在神奇大陆的消失,而是要借此说明 premature optimization 的本质邪恶。优化是我们可以清谈的东西,是可以做理论研究的东西,是可以边边角角尝试的东西,但绝不是指导下一大步的方针。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s


%d 博主赞过: