好了,这是标题党

我真正想写的是 信息熵 这个概念。什么是最好的编程语言,够程序员们吵上一辈子,java在很多人心里有这样的的刻板印象:

庞大、复杂、啰嗦、框架重、开发效率低、性能差……

如何优雅且不容辩驳解释java的优势呢?可以从信息熵的角度来解释,换个角度把“啰嗦”这个缺点变成“利于协作”这样的优点。

信息熵:信息的基本作用就是消除人们对事物的不确定性。信息熵是系统有序化程度的一个度量。

——引自百度百科的信息熵条目

定义看起来简单,但是用来赞美java还不直接,还是用语言的例子来解释:

中文就是一种信息熵很高的语言,有时候言简意赅,有时候容易误解,一词多义的现象非常常见。

甲:这是一点意思

乙:这是什么意思?

甲:就是意思意思

乙:这样就没意思了

上面的对话到底是什么意思?不在中国语境下,很难理解。语言中通常增加很多冗余信息,用来降低歧义和误解,达到准确沟通的目的。针对java而言,它的“啰嗦”带来了一个非常大的好处:提供确定性

  • 项目人员众多,水平参差不齐,重框架提供了质量控制
  • 啰嗦的语法,方便相互理解对方的code
  • ……

总结起来就是方便协作,质量稳定,工时稳定,对输入资源要求不高

“啰嗦”就不能优雅吗?

啰嗦也可以优雅,白居易的诗老妪能解,童子解吟,如此平易近人,可以用信息熵低来解释,也就是在诗歌中增加了很多冗余信息,比如著名的《琵琶行》,也有用词的重复,但却是名句。

……,大弦嘈嘈如急雨,小弦切切如私语。嘈嘈切切错杂弹,大珠小珠落玉盘。间关莺语花底滑,幽咽泉流冰下难。冰泉冷涩弦凝绝,凝绝不通声暂歇。别有幽愁暗恨生,此时无声胜有声。……

重点是对细节的描述,将不同阅读者带入相似的场景,获得相似的体验。同样的,看高手的代码是不是也有这个感觉?

为什么一个产品经理要评价java?

同样的逻辑,还可以用来解释下面一些问题:

  • 如何优雅解释PRD又长又臭还要写
  • 为什么会议结论要反复确认
  • 为什么同一个事情,要多次沟通
  • ……

标签: none

评论已关闭