Year: 2010

语录的困境

先讲两个和语录有关的小故事:

1918年,俄国爆发了震惊全球的“十月革命”,让无数人欢呼“一个新世界的到来”。然而根据1992年新解密的苏联档案显示,在苏联成立之初的大饥荒时期,1921年全国判处贪污贿赂罪69641起,1922年判处贪污贿赂罪32587起(当然有相当部分是贪污挪用美国救济总署支援的物资),相比后世认为“贪污受贿的真正转折点”赫鲁晓夫时期,这个数字其实更为惊人:在1957年,犯贪污腐败罪的也只有1800人。如何解释这个问题?布尔什维克认为部分原因在于党的干部文化程度太低。列宁说:“真正有政治素养的人是不会贪污受贿的”,掷地有声的话语给出了铿锵有力的解释。

前不久,我去一位长辈家拜访,他的女儿学习非常好,高考考上全国闻名的X大学之后,今年又要出国深造,值得恭喜。谈到这个话题,他说:“感觉去了X大,毕业出国就是顺理成章的事情,跟其它学校截然不一样”。我说“似乎是这样,用毛主席的话说,上X大是出国的必要准备,出国是上X大的必然结果”,于是大家相视而笑。在这里,语录又一次发挥了神奇的作用。

说起来,在我们生活的环境里,各种各样的语录似乎扮演着特别重要的角色。这里我说的“语录”,不仅限于常见的标语横幅,还包括各种名人名言,尤其是革命领袖(近来也包括上古圣人)的语录,似乎其中包含了无穷深奥的道理,用处也无穷广泛(甚至可以用来开些似是而非的玩笑,比如上述第二个例子)。
偏巧,这类语录和我也有点渊源:中学政治课见到了“物质决定意识”、“生产力决定生产关系”的规律之后,我就困扰于一个问题:既然革命导师说生产力决定生产关系,也认定资本主义生产关系是“符合”某种水平的生产力的,为什么生产力水平低于这种程度的时候,要采取其它生产关系?难道同样的生产力,能够“决定”出两种不同的生产关系?为此,这些年我陆陆续续地读过了列位革命导师的著作,终于明白了这问题要怎么解释。同时获得的另一大收获就是:回头看生活中随处存在的“语录”,凭空多了种奇妙的感觉,也深刻觉得,太过倚重语录,赋予这些语录太多的意义,恐怕并非好事。至少就我所见,这种做法存在三大弊病:

第一,倚重语录,等于把字词从语境中割裂出来,这样可能产生全然不同的意义。这方面最极端的例子就是黑格尔的名言:存在的就是合理的。这句话,常常被人用来辩护(而不是解释)。然而我们需知道,黑格尔所说的“存在”并非普通生活中的“发生”,黑格尔所说的“合理”也并非辩护者所暗示的“正当”。“语录”式引用背后的逻辑是:黑格尔是大哲学家->他的论断是有哲理的->他说的”存在的就是合理的”是有道理的->存在的就是合理的->发生了的就是正当的。在这根链条上,黑格尔的身份、学说,“存在”与“合理”的哲学意义都不见了,只空余孤零零的几个词和几道巨大的逻辑鸿沟。也正因为倚重语录可能割裂语境,胡适先生当年才会告诫青年学子:做学问,思考问题,不加思索地把名人名言当成论据,是一种很不好的习惯。

第二,倚重语录,可能遮蔽对现实的认识。最突出的例子是这类论调:“中国乃是文明古国,礼仪之邦。(因为)孔子说过如何如何”。我们对历史稍有了解就会知道,中国文化虽然与“儒”有脱不开的联系,但“独尊儒术”的“儒”,乃是董仲舒解释定调的“儒”,而且即便“独尊儒术”,其实也是“阳儒阴法”,里外两张皮的。再者说,孔子的话,即便真的被广大人命所接受、背诵,充其量也只是生活的希冀或规矩,是否生活的常态和真相尚待考证,怎么能当成论据呢?拿孔子的语录来“证明”中国历史如何如何,搞混了实然和应然的区别,实在是非常大的错误(依我看,上面第一个例子中列宁的语录,其实也有这种问题)。

第三,倚重语录,可能得到看似正确但非常滑稽的结果。语录本身,可能并非逻辑自恰的整体:十月革命之后,斯大林告诉大家,“剥削阶级作为一个阶级已经不存在了”,但到了大清洗时期,他又提出要“反击剥削阶级分子的进攻”。前后明显矛盾,但无论争论的过程如何,结果却很可能是“斯大林的判断很英明”。类似的例子,在我国也发生过:文革中,斗争的两派各自援引领袖语录攻击对方,最后的结果却是:这是xx思想的胜利。这种依靠语录,无视矛盾而直取结果的做法,尤其荒谬。

有人可能会说:外国许多书籍,每一章的开头也引用其它人说过的话,岂不是有同样的问题?不过,就我所见,外国作者虽然有在章节开头引用名人名言的习惯,但多半不会把它们当成倚重的论据,更多的是作为“导入的台阶”或者“辅料”,只起修饰和陪衬的作用——所以总而言之,对负责任的作者来说,语录还是少用、慎用的好。

正则问题,这边请

老话说“业精于勤,而荒于嬉”,这是非常对的。许多朋友认为我写正则表达式很有经验,其实不然,我虽然翻译《精通正则表达式》,其实自己写正则表达式的机会并不多,充其量是帮朋友写写一些“够用就好”的表达式,在“精于勤”的朋友面前,是不值一提的。

相反,2010年1月11日晚我在上海龙阳路地铁站附近见到的两位朋友rexcnhacktnt,都是“精于勤”的榜样:因为工作的原因,他们几乎每天都需要用到正则表达式,所以他们几乎是“全方位地”精通正则表达式:对语法的精确把握,对未知情况的处理,对匹配效率的要求……或许平时我们不需要注意这么多的方面,但多了解一点经验以供借鉴,总不是坏事。
举例来说吧:撰写高效率的正则表达式,需要注意哪些方面?更极端一点:正则表达式怎样匹配“0…1…”但‘0’和‘1’出现次数相同的字符串?这样的问题,对正则表达式没有相当研究和经验的人,是无法回答的。而答案和讨论,也让我这种半瓶醋看得眼花缭乱,大呼过瘾。
目前,国内已经有大量专业的开发论坛和社区,但是正则表达式这种“关键时候要命”的匕首式应用,总没有专门的场合讨论,这不能不说是一大遗憾。有鉴于此,rex同学开设了专门的正则表达式论坛 http://www.regex.me,大家有任何关于正则表达式的疑惑,都可以提问讨论,对《精通正则表达式》有什么意见,也可以自由发问,我会尽力解答。

正则表达式论坛

《技术领导之路》勘误列表发布

我曾写过《稀释》,也一直认为,世上许多事情的道理,就是“不讲道理”:你做了十万分的努力,对方可能“只能”感觉到十分;若觉得这不够公平,而只做九万九千九百九十九分努力,对方就很可能连一分都感觉不到。

所以,我在第一时间发布了《技术领导之路》的勘误。惭愧之余,也希望各位读者,如果发现更多错误,一定来信指正。

《技术领导之路》(中英文对照版)勘误:
https://www.lifesailor.me/batl_errata

另:《精通正则表达式》(第三版)勘误列表也已单独列出,烦请大家移步
https://www.lifesailor.me/mre_errata