转《格雷欣法则在编程语言和为人处世中的威力》

原文地址:https://cnodejs.org/topic/5742332418f0200071d16e27

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

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

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

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

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

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

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

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

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

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

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

读了之后感触还是很深的:

其实有很多东西,都类似于这个想法。比如说一个社区的活跃度和质量肯定是难以协调的,就比如说 V2EX,可能曾经是一个高质量的社区,但是现在不是了,充斥着各种撕逼、可以随便 Google 到的问题、广告。大部分的资源都是低质量的,浪费时间的。

再比如 cnode,可能最近 node 实在是太火了,导致一群人涌入社区,现在大部分被加上精华的帖子都没那么精华。我不明白为啥什么《前段资源教程》,《国内2015 node 汇总》都可以被置顶,随随便便收集一些质量参差不齐的链接就很有用么?

更严重的,可能是在公司招人这一块。之前在彩程实习的时候就写过,企业不是做慈善,初创人员是一个创业公司最需要考量的地方。一旦招入了错误的人,那么损失是巨大的。然而现实是,不靠谱的人占了大多数,对于创业公司就很艰难了,找到人很难,找到合适的人更难,所以结果往往都是找了一小堆不太合适的人……劣币驱逐良币的道理也会出现在这里,不合适的人占了多数,气氛如何?决策如何?都会出现问题吧。然而这是现状,是一个非常可怕的现实。

Table of Contents