佛系程序员 第四品

多年之前,我当时的BOSS的BOSS来上海,就坐在我边儿上。那几天憋了半天,憋出了一个我感觉挺重要的问题,看他不太忙的时候就问他:“你觉得我们项目上什么是最重要的,或者说,我们遇到了事儿,应该按什么标准、什么方向判断优先级呢?”那位祖师爷转过头来,盯着我看了两秒,就盯得我心里一阵毛,然后严肃地和我讲:“Hugo,没有任何一个原则,是能应对所有问题的。你明白我的意思么。”。然后聊天结束。

其实须菩提问佛祖也是一个手段问题:“云何应住?云何降服其心?”。佛祖的回答也是很简单,和我BOSS的BOSS说得其实是一个意思:

金刚经 第四品 妙行无住分

“复次,须菩提!菩萨于法,应无所住,行于布施,所谓不住色布施,不住声香味触法布施。须菩提!菩萨应如是布施,不住于相。何以故?若菩萨不住相布施,其福德不可思量。须菩提!于意云何?东方虚空可思量不?”“不也,世尊!”“须菩提!南西北方四维上下虚空可思量不?”“不也,世尊!”“须菩提!菩萨无住相布施,福德亦复如是不可思量。须菩提!菩萨但应如所教住。”

本品划重点,非“应无所住”莫属。本系列写到了这第四品,总算到正题了。这四个字就是我在本系列中想表达的重点。这个字面意思很容易懂,但是真用上就不那么简单了。

我说“真用上就不那么简单了”,有人可能体会不到是什么意思。我试举一例。我面试时常遇到这样一类候选人,你问他LinkedList和ArrayList的区别是什么,他能讲得很清楚。然后在这个问题的铺垫下,再让他写个简单的代码,遇到需要使用一个List的时候,他随手就用了ArrayList,然后和他一起现场Review一下,问,这个场景下,会不会有什么性能问题?提示到这种程度,还是想不到这里应该考虑用LinkedList,非得等我指着代码,一一说破,他才恍然大悟,信誓旦旦地表示刚才只是大意忘了这个点而已。

一个最基本的知识,一个自己能讲得清清楚楚的东西。真到应该用的时候,并不能用得上的。什么原因呢?因为他知道的是“知识”,应用“知识”的过程,是一个组合问题,你要把所有已知的相关知识和当前的问题一一对应过之后,才能全面地回答一个问题。这是一个至少是O(n)复杂度的问题,当解空间太大的时候,没人有这个脑力。一个“知识”,只有内化成“见识”、“智慧”之后,才能以O(1)的速度求解所有问题。那么怎么内化呢?

看过《倚天屠龙记》的人应该对张三丰教张无忌太极时的经过印象颇深:

  张三丰一路剑法使完,竟无一人喝采,各人尽皆诧异:“这等慢吞吞、软绵绵的剑法如何能用来对敌过招?”转念又想:“料来张真人有意放慢了招数,好让他瞧得明白。”

只听张三丰问道:“孩儿,你看清楚了没有?”张无忌道:“看清楚了。”张三丰道: “都记得了没有?”张无忌道:“已忘记了一小半。”张三丰道:“好,那也难为了你。你自己去想想罢。”张无忌低头默想。过了一会,张三丰问道:“现下怎样了?”张无忌道: “已忘记了一大半。”

周颠失声叫道:“糟糕!越来越忘记得多了。张真人,你这路剑法很是深奥,看一遍怎能记得?请你再使一遍给我们教主瞧瞧罢。”

张三丰微笑道:“好,我再使一遍。”提剑出招,演将起来。众人只看了数招,心下大奇,原来第二次所使,和第一次使的竟然没一招相同。周颠叫道:“糟糕,糟糕!这可更加叫人胡涂啦。”张三丰画剑成圈,问道:“孩儿,怎样啦?”张无忌道:“还有三招没忘记。”张三丰点点头,收剑归座。

张无忌在殿上缓缓踱了一个圈子,沉思半晌,又缓缓踱了半个圈子,抬起头来,满脸喜色,叫道:“这我可全忘了,忘得干干净净的了。”张三丰道:“不坏不坏!忘得真快,你这就请八臂神剑指教罢!”说着将手中木剑递了给他。张无忌躬身接过,转身向方东白道: “方前辈请。”周颠抓耳搔头,满心担忧。

傻子都看得出来,张三丰在传授剑道、剑意,而不是在传授剑招。我们推衍一下,这里的“道”是什么呢?学编程、写代码,做人、做事儿有没有“道”呢?

佛祖的道,就是无所住。不住‘色’,不住‘声’、‘香’、‘味’、‘触’、‘法’。有人可能想问:这些色啦、法啦都是什么意思呢?这不重要,因为这里只是举例、比喻,佛祖也没办法把所有你可能要住的东西都枚举出来不是?有人可能又想问:那就是什么原则、法则都不要啦,做个不讲原则的人啦?更不是。我只能诡辩说“不讲原则”也是一个原则。因为更深的意思,我也没办法讲出来了。我只能建议说,不要总想着分析具体什么应该做,什么不应该做。那就是“邪道”了。无论你分析出什么结果,都是有所住。

我几年前就常常感觉有点儿对不住我手下的小弟。因为他们有时来问我一些具体的问题,我没办法给到他们一些正面的、直接的、具体的回答。我的回复大都都是方向性的,原则性的。然后他们自己折腾半天。但是如果事情到我这里,他们又会看到我好像什么都能搞得定,而且还挺快。我起初是有些担心,他们会不会觉得我就是故意不告诉他们。后面大家共事久了,就不会有这种担心了。因为他们会发现,我这人向来是知无不言、言无不尽的。只是有些人终归还是不习惯我的风格,喜欢谈具体的东西,不喜欢谈抽象的。这也无可厚非。而我也其实并不总是对所有人都有足够的耐心。这时候就照章办事儿就好。

佛系程序员 第三品

《金刚经》的前面两品都是铺垫,佛祖开始说正事是第三品。正文如下:

金刚经 第三品 大乘正宗分

佛告须菩提:“诸菩萨摩诃萨应如是降伏其心!所有一切众生之类:若卵生、若胎生、若湿生、若化生;若有色、若无色;若有想、若无想、若非有想非无想,我皆令入无余涅盘而灭度之。如是灭度无量无数无边众生,实无众生得灭度者。何以故?须菩提!若菩萨有我相、人相、众生相、寿者相,即非菩萨。”

当年年少中二的时候,读到第一句“我皆令入无余涅盘而灭度之”,就去闭目参悟武功心法去了,后来什么都没悟出来,这经的后半句也没读下去。直到多年之后,再来读的时候才发现,原来佛祖根本不是这个意思。

我先来翻译一下大意:

佛跟须菩提说:“你们应该和他们讲:如果你说‘我把所有众生都度了’。其实就没人被度,因为你有众生相的话,你就连菩萨都不是。(菩萨都不是,你度个毛啊)”

先小科普一下“灭度”,即“度灭”,就是超脱生死的意思。只是一种得了无上智慧后的一种状态,不是指死。涅槃也不是死的意思。没死也可以涅槃。

佛祖这里说的‘度’、‘菩萨’,其实只是一种比喻。而不是单纯地说‘度’或教育‘菩萨’。而是在阐释一种理念。我想了很久,如何用一个比较现代化的比喻来解释这个理念。但是感觉比喻还是太间接,还是直接讲理念是什么比较直接,用比喻的形式来说话,对听众的“慧根”要求太高,可能听了还是听不懂,而一句话说了,听众没听懂,就是白说。

佛祖的这个理念可以有很多种讲法,比如“内容”和“形式”,“动机”和“手段”,“过程”和“结果”。其实都是同一个理念的不同表达形式。

“度众生”,是形式、是手段,是外在的结果。佛祖想说的是,心大于法。如果你动机不纯,过程不正,内容不善,做什么都是徒劳的,不会得正果。(佛祖在这里没说什么“纯”、“正”、“善”,我纯粹为了工整而硬加的。而且佛祖想说的其实也并不是这些,佛祖想说的就是心态。无我,无人,无众生,无寿者。度只是手段。没有一个合适的心态,度也是白度。)

所以做人做事儿,最重要的是你的本心。明朝大哲王守仁创立的心学也表达了类似的观点:

爱问:“至善只求诸心,恐于天下事理有不能尽。”

先生曰:“心即理也。天下又有心外之事、心外之理乎?”

——《传习录 卷一》

这里的心,指的是“道心”,而非“人心”,和佛教里的“阿耨多罗三藐三菩提心”大体是一个意思。至于两者的区别,王守仁自己的解释是:

“只说‘明明德’,而不谈‘亲民’,便似老、佛。”

意思是认为佛学只是让人开悟、明至理,但是普罗大众完全用不上。所以说王守仁的心学理论上是比佛学更接地气并有实用价值的。但是心学IPO才小几百年,没有佛教根基深厚。王守仁的名气也没释迦牟尼大,所以人们平时聊天放屁、插科打诨都是拿佛祖开涮,提王明阳也没人知道啊。

你看哈,很多宗教、理学的经典其基本理念都很类似,按初中政治、历史课本的话说,都是唯心的,都是错的。说到唯心,我就又想插一嘴。我一直就特别纳闷儿,你看哈,量子力学解释不了女人为什么老问男人诸如“我和你妈同时落水你先救谁”之类的问题,也没人说量子力学是错的,但是有些人总是用唯心主义解释不了这个世界运作的原理为由,认定所有的唯心主义学说都是荒谬的。

这个扯远了。

我们回到第三品的经文上,这个在说什么事儿呢。我先引用知乎上的一个问题,结果正义是不是就可以无视过程的正义性。我回答说不是,我说因为你的过程,可能就是别人的结果。而这段佛经更进一步,过程都不够,而且要考量初衷及动机。所以你看出家人总是一本正经、心无旁骛的,因为他心有邪念都不行。佛祖就看不上他。

这段经文还说了什么呢?我们想想之前的问题是什么?须菩提问的是,如何降服善男善女的心,让他们也像如来佛祖一样有大智慧,得以超脱(涅槃)。

那佛祖回答这些是什么意思?其实有两层额外的意思(佛祖从来不说狠话,所以没有直说):

  1. 须菩提,你这是想去度化众生么?你这想法就不对啊。你在分你、别人、众生。
  2. 众生其实是度不了的。如果能度,佛祖就直接说了。而且,众生是不需要度的。佛祖也从来没有想过去度化谁,甚至也不关心有没有人能度。

说白了就是在批评教育须菩提。

至于说原文里的我相、人相、众生相、寿者相都是啥意思,因为我并不是在讲经,这里就不展开了。