格雷欣法则在编程语言和为人处世中的威力
发布于 4 年前 作者 LongHorn-C 3586 次浏览 来自 分享

一门开发语言的生命力,取决于它的各项优点,然后程序员根据这些优点选择它。但它的生命力另一个容易被忽视的来源,是它选择程序员的能力。所以,程序语言取决于两个方向:程序员怎样选择语言,语言怎样选择程序员。

一门优秀的语言,如果各项指标都太好,那么每个人都会倾向于选择它。然后,这个生态系统里充斥了许多低水平的人,低水平的烂代码。优秀的程序员和代码被淹没了。很快整个生态系统和语言本身会走向消失。

原来的Delphi,可能就是一例。Delphi并不是被微软干掉了,而是被用它的太多低水平程序员淹没掉的。Delphi太易用,以至于失去选择程序员的门槛。

对每个人都太好,是滥好。滥好的人所交的烂人会反过来吃掉滥好的人。

门槛和金字塔结构,本身是很令人讨厌的东西。与政治正确的方向,比如“分享”“平等”等概念,似乎很对立。但在现实的不完美的世界,门槛和金字塔是必要的恶。如果没有没有它们,政治正确者会杀死自己,表面上是被烂人杀掉,实际上是自杀。因为他拆掉了保护自己的门栓。

C语言的生命力,当然来自于它指挥命令电脑内部各个部件的能力,就是它的底层能力,还有据说令人生畏的指针。但C语言的优点,对某些人说是缺点,比如指针。它的缺点,会反过来成为优点,比如它缺少命名空间,不支持面向对象。这种缺点强迫程序员,把有限的名字(类型名,函数名)用在最高效的实现上。而不是给每个水平的实现一个共存的机会。结果就是C的生态系统里,低水平的代码生存空间极小。这成为C语言的生命力来源,或者说是它的保护罩。

当然啦,光有有门槛和金字塔,却没有实质的亮点,是一点用处都没有的。假装高大上加上门槛金字塔,只能糊弄没有鉴别力的人,排斥优质参与者,这种事物是彻底的垃圾和病毒。

劣币很可怜,但它有一个令人惊讶令人生畏的能力,就是驱逐良币。劣币和良币,到底谁厉害?取决于主体,就是观察者选择者评价者的眼光和选择。优秀的东西,成本更低,效用更高。但比优秀的东西更厉害的东西,是假劣,因为造假可以包装糊弄让人以为效用高,造假当然可以大幅降低成本。

所以,如果你不排斥劣币,你若不厌恶劣币(要么出于政治正确,要么由于所掌握的信息不充分),而是给它与良币一样的空间,那么劣币会淘汰良币。三聚奶粉和莆田系,会统治所在的领域,杀死领域内的真实优秀者。

你选择朋友,如果各种人都交,各种人都给他一个占据你生命空间的机会,那么不会出现好朋友和坏朋友对半分的状况,而是你身边最后全部都是坏朋友。

好吧,我不是在说程序语言。而是说,一个人怎样选择所交往的朋友和合作者,又是在说组织、企业。

9 回复

感觉能说很多反例,建议楼主放到v2ex给大家辨辨

@klausgao v2ex是什么?反例当然是重要的东西。但有些例子被认为是反例,是因为没有很好地定义约束条件。

格雷欣法则,和达尔文的优胜劣汰原则,字面上看是对立的。达尔文的学说说,优秀的淘汰低劣的,是大自然的规律,甚至是在人类社会也大部分成立。

格雷欣法则,就是劣币驱逐良币法则,是指劣币在一定条件下会驱逐良币,甚至说在这种条件下一定会驱逐成功。对这个约束条件的研究就是格雷欣法则的重点。

一般认为,格雷欣法则起作用的条件是:1、做决定的人(往往也是买单者)没有掌握充分透明的信息。2、该做决定的人,没有权力(或被剥夺权力,剥夺信息是剥夺权力的一种)去做决定。

历史上,人们把良币压在床底下,是因为政府强迫劣币具有与足金币一样的流通性,人们的选择权被剥夺后,在市面上劣币就会以低成本占据统治地位。三聚奶粉和医疗领域,是因为信息不透明(也与中国的媒体管制有关联)。

在标题所说的“为人处世”上,格雷欣法则起作用的主要机制是,人们没有善善恶恶的价值观和鉴别力。或者有价值观,但不够强烈,或者没有足够的意志力去执行。

感觉 js 药丸。。。

@alsotang 是不是说JS太吸引人…JS还是很复杂的,我感觉好多行为比C更难理解

这是一个很现实的问题,当然这也的例子也层出不穷。比如说 v2ex,现在人越来越多,内容也越来越低,导致可能一个版面都没有什么有质量的内容。 现在的 cnode 也是,node 很火,社区也很火,但是真的社区质量很高么?比如看看 cnode,里面的内容,是不是越来有一种 QQ空间的 既视感?MinGEJS 既视感? 社区需要一个准入的门槛,这也才能持续性的输出高质量内容,可能 cnode 的管理者需要想想这个问题。

确实是如此,深有体会

@lcjnil 是啊,所以之前有人问我为什么社区只可以github登陆,这就是在限制门槛。当然这也只能挡住一部分人

回到顶部