程序猿日记S01E01

简介: **"人类世界是个对许多事情无动于衷或冷嘲热讽的地方,布道势必付出重大成本,克服很多不利条件,才足以服人。"** ### 扎哈维的不利条件原理 动物世界有太多雌性专爱一些看似很愚蠢的雄性炫耀,包括利用鲜艳的羽毛、宽大的角、夸大的求偶仪式炫耀等等。 例如,雄孔雀必须耗费许多精力保养漂亮的尾羽,尽管尾羽有碍它的飞行能力,使它更易被掠食者捕获。雌孔雀自己的单调羽色证明她深信保护色大

"人类世界是个对许多事情无动于衷或冷嘲热讽的地方,布道势必付出重大成本,克服很多不利条件,才足以服人。"

扎哈维的不利条件原理

动物世界有太多雌性专爱一些看似很愚蠢的雄性炫耀,包括利用鲜艳的羽毛、宽大的角、夸大的求偶仪式炫耀等等。

例如,雄孔雀必须耗费许多精力保养漂亮的尾羽,尽管尾羽有碍它的飞行能力,使它更易被掠食者捕获。雌孔雀自己的单调羽色证明她深信保护色大有优点,但是她几乎每次选对象都挑中尾巴更大、羽色更鲜艳的一个。

雌性之所以会选择某种夸张的特征,完全是因为这个特征确实能证明该雄性是一个理想配偶。按这个论点,孔雀的巨大尾巴的益处何在?爱尔兰大鹿为什么进化出幅宽3.6米的大角?弗塞特为什么要乘着热气球活活受罪?

扎哈维已有了理论上的答案,后来又在观察阿拉伯鹛的时候获得证实。某日他在思索一个问题:鹛见了隼为什么不悄悄地躲入树丛,反而不断对着隼大叫?“于是我明白了,它们是在对掠食者说话。”

鹛向隼暴露自己的位置,乃是将不利条件加诸于自己,也是以类似广告的方式宣布:你用奇袭不会成功。这件事使扎哈维相信,浮夸炫耀的不利条件:鹛的大叫、雄孔雀的尾巴、鹿的角,其实都是有用途的。能讨雌性欢心的那些炫耀,其实也能使掠食者和雄性对手知难而退。

爱做危险的炫耀行为的本能,以及欣赏这种危险行为的倾向,也因此在物种之内持续增多。

Creative

扎哈维的理论基于对动物繁殖的本能来描述动物为什么会在生理上保持一些看似愚蠢却是正确的特征。

从互联网公司爆炸式创业来看,一桩事可能因为它有危险却能带来更大的机遇。社会的进步需要这种精神,也依赖于自由的环境,这个是另外一个因素。

从公司内部来看,相似团队间的差异性,体现了不同的创新能力。很难说谁能够决定这种差异性,是一个团队的所有人行为的结果。从leader到叶节点成员,都付出了成本,为了创新需要付出更大的成本,克服更多的不利条件。道是团队的目标和方向,正确的道会持续产生影响力,为更多的人采用。这也是我们愿意去创新的一种本能的驱动力,低俗一点说就是动物的炫耀本能,高尚一点是说是对社会进步的一种责任感。

对于我现在的认知来说,推动个人和社会进步一点点的变化都叫创新。

行为

好的软件作品,源自于开发者的个人需要。

需求和业务那么多,你让我搞创新?看似一个悖论,实则不然。优秀的程序猿知道如何去使用工具提升效率,如何把代码设计得复用性和扩展性更好,如何贡献给其他人使用,如何考虑使用者的体验。不同的程序猿对业务场景的认知能力,抽象能力有差异。大部分时候,前瞻性的设计被误认为是“过度设计”。事实上体现了两方面的问题,评审团的认知能力过低和缺乏理论指导。遇到这种情况,好的设计会被扼杀在设计阶段或者在发展阶段被带歪。

开源社区遵循同侪评价的原则,设计好不好由和你差不多认知和经验的人来评判。如果让某个领域的大神来评判,就像牛顿的段子一样,在他的眼里只有两种人,SB和更SB,这就尴尬了。如果让认知能力差的人来评价,往往就会被认为过度设计。

基于理论作设计和实践,比凭经验对设计和编码评判更准确、客观。编码设计中经常用到的SOLID原则,DAG、SAP分包原则;指导系统形态的康威法则。这些都可以作为评判设计好坏的理论,和具体业务产品无关。解决具体业务场景问题的时候,设计者从脑海中挑选决策树,选出能够解决当前问题,同时确保一定阶段的扩展性,能够承载这个阶段业务的发展和变化。用预测的数据和业务变化点来论证这个决策到底是不是“牛刀”或者是不是一次性代码。两者相比,一次性代码设计更应该被杜绝,这种设计缺乏思考的深度,复用性和扩展性都没考虑,无法应对业务变化,不适合互联网move fast and break things的理念。要战胜竞品公司,快速实现产品的feature是一个核心竞争力。就像硅谷创业之父Paul Graham说的“竞争对手一个团队发布的新功能,我们第二天就把相应的功能推出”,他们的秘密武器就是Lisp语言,但是竞争对手一直没发现和在意。相反,Paul Graham会去看当时的其他互联网公司在招聘什么样程序猿,他会重点关注在招聘使用Lisp等黑客青睐的语言的公司,real programmer。

集团内部,很多应用的代码都值得参考,这是阿里的财富,也是我们能够互相学习的资源。但是我们没法像开源社区一样去改喜欢的应用的代码,还没有形成集市模式。信息不对称,产生了很多重复的轮子;设计的前瞻性缺失,让你必须造一些轮子。造轮子的时候,你是否让其他人觉得你进步了,同侪是否欣赏你,克服了多少不利条件,你自己是否进化了?

有感

“人类的智慧就像孔雀的羽毛,只是一个奢侈的展示,旨在吸引伴侣。所有的艺术、文学,莫扎特、威廉、莎士比亚、米开朗基罗,甚至帝国大厦,都只是一个精心的求偶仪式……但是当然,孔雀不能飞翔。它们生活在尘土里,用喙挑出虫子吃掉。“ -- 福特(编剧:乔纳森.诺兰,西部世界S01E07)

福特认为AI的认知能力有屏障,无法飞翔,只能在尘土中吃虫子,都是他制定好的程式。我觉得诺兰应该会让AI突破这个屏障,按照人类文明进化的方式,不断创新超越自我,即使前方有很多危险,要付出重大的代价。

目录
相关文章
|
9月前
|
算法 Java 程序员
给未来的程序猿
先,大家最关心的问题就是:我该学什么语言?这个问题一向没有标准答案。各种技术社区里吵了很多年,并将继续争论下去。对此,我的建议是:学好一门语言。
|
程序员
如何提高思维能力(不止针对程序猿)
如何提高思维能力(不止针对程序猿)
|
编译器 API 开发工具
倍福Ethercat学习日记
倍福Ethercat学习日记
|
存储 SQL 程序员
|
程序员
|
存储 设计模式 Java
|
程序员
小猿日记 - 程序猿的日常日记(1)
每日一记,让你走进程序猿的生活
749 0
扁桃体日记1
以下内容无关生信。是我自己在医院做扁桃体切除手术的过程记录~如果点错了朋友可以点右上角或者按返回键了(。・ω・。)ノ 2018.8.26到医院挂号看医生问医保报销预约住院时间。
1444 0
|
人工智能 大数据
2018年6月8日日记
2018年6月7日10点从厦门站出发,乘坐K1210次列车,经过23个小时,抵达上海南站。 此行的目的是逃离出行尸走肉的大学生活,参加容大教育的“人工智能+大数据”的培训课程。
1014 0
|
程序员 安全 Java
程序猿的一天就是这么糟心!
程序猿,一个经常自黑的群体! 他们身在中国,却整天和英语打交道。 他们是人,电脑却比我们更懂他们。 他们和av男优一样擅长修补漏洞, 区别在于一个靠脑力一个靠体力。
809 0