我有时会突然意识过来,
写程序这件事情给我带来了深远的影响。

利益相关:
以下皆为本人自身想法,
与广大的可爱的程序员们不一定有关。

苏·格拉底曾经说过:
“一个人要先不断地剖析自己,
再不断地剖析自己,
最后不断地剖析自己,
他才是个伟大的人。”

苏·格拉底:
我不是,
我没有,
别瞎说啊。(否认三连)

苏格拉底:
别乱在外国人名中间打点。

在此,我就记录一下平常生活中的小事,
这样说不定可以窥斑见豹。

0

跟计算机打交道久了,
非常清楚程序都是按照流程来的。
所有所谓的 Bug 都是某个地方的计算机逻辑,
没有跟人类逻辑匹配上所导致的。
所以现在修 Bug 的时候,
虽然也会像以前一样高呼着“这不科学”,
但其实我心里知道,
这很科学,
而且外国古人不是说嘛:
Where there's a bug, there's a fix.

人类也是一样的。

我们做的所有决定,
所有结果,
都是由一个决策树生成的,
这棵树或深或浅。

我今天心情好,
突然坐到奶茶店里喝了一杯奶茶。
在旁边分手的小情侣,
用苹果电脑办公的小哥,
几个叽叽喳喳的大妈,
都像是钱钟书说的一样。
不过都是电台换台,
东一句西一句听得零碎,
但他们都是有自己完整的故事的。

所以看事情,
知道了来龙去脉以后,
我总忍不住感慨一句:
这很科学

1

乌托邦世界里,
大家都很科学。
然而实际生活中,
总会有取舍。

比如 Vim vs Emacs,
PC vs 主机,
青轴 vs 红轴
等等话题,
现世中的我们总要做出选择。
而事实告诉我,
因为某一时刻,
我们的用户习惯、
用户量、
团队氛围、
外部环境总是固定的,
所以虽然没有最优解,
但我们一定可以选择更优解

比如阿里编码规范里写到的超过三个表禁止 join
我非常理解这里的道理,
但是我自己做项目的时候恕做不到。
或者说按网上一部分的说法,
*好的男朋友要清楚包括口红色号在内的很多信息*,
那我更愿意尊重独立个体,
毕竟想了解*dota新版本具体改动内容*的人也是少数…

最开始的 Vim vs Emacs 这个经典话题来举例子,
在两边都用过以后,
的确知道为什么说*一个是编辑器之神,一个是神用的编辑器*了。
但具体到每个人的每个编辑环境,
总会选择一种搭配方式,
让他陷入最舒服的境地中。

01

万物科学最优解 这两点叠加起来,
有一个结论就是永远要保持开放性的心态。
假如我们秉持着
世界上,15岁之前出现的都是已有的平凡事物,15到30岁出现的都是改变世界的发明,30岁以后出现的都是什么垃圾玩意啊。
这样的心态,
那我们就会早早地陷入 local optima.

举个栗子。
业务代码写多了,
我就容易陷入套路代码的惰性里。
前阵子和产品经理讨论一个需求的实现,
说到一个点,
我很自然地说:“这实现不了。”
但产品经理又好奇地/疑惑地/质疑地多问了一句:
“为什么呢?”
那一刻我心中一愣,
对啊,为什么呢?
于是后续展开了更深刻的讨论。

总的来说,
十分敬重学习能力
我也十分喜欢/敬仰那些学习能力很强的人。

在面试时跟候选人聊天的时候,
我很喜欢问一个问题,是:
能不能讲一下,你做过的项目里,你最喜欢的一个?
有些同学会突然激动起来,
抓着你讲一个完整的故事。
比如最开始是某某原因,
然后本来是想怎么样的,
后来又因为什么样的原因,
学到了什么什么。
在这样的交流里,
不仅我能学到不少东西,
我也能看到他身上的成就和成长。

11

所以我很愿意当一个好奇宝宝

就好像萌新三连说的那样:

啥百度啊?
百度啥啊?
咋百度啊?

最后再附带 combo 技:

大佬你到底会不会啊?

combo

有的时候很多问题,
虽然我心里已经有一个大概率确定的答案,
但我也一样会问出来:

所谓*活到老,学到老*嘛(关谷语气)

100

对了,还有一点。
我称其为对高信息量有好感

这点平常可能不会太在意,
但是简历/面试里面会很明显:
同样是讲三句话,
有些人就讲了很多有用信息,
有些人就像啥都没讲一样。

在《狼人杀》里面这点也会很明显,
很多高玩会频繁用“发金水”“警徽流”“丢水包”等新手听不太懂的词,
这会增加他的发言信息量,
让发言听起来更靠谱。
而很多说:“啊,今天死的是XXX,所以大概女巫XXX,希望XXX”的人,
都被“这货发言信息量真少”给放逐了。

这也是很多亚文化(meme)
好玩的地方。
同样的话语组成部分,
用独特的方式表达出来,
就会传达出微妙差异而信息量丰富的感觉。

假如我写代码的时候,
能写出表达精简,
边界完备,
“信息量很高”的代码。
那不需要队友在Code Review时喊666,
我自己已经一蹦三尺高,
开心地像见了新垣结衣一样了。

-1

其实边写还能边想到很多,
不过这本书边上的空白太小了写不下
我想去玩游戏了…

所以简单综述一下:

  • 信奉万物皆科学
  • 相信一定存在最优解
  • 喜欢学习能力强的人
  • 好奇心旺盛
  • 对高信息量有好感

这大概就是,
我作为程序员的逻辑的一小部分吧。