标签:运行时 需要 一个 编程 消失 提醒 提升 展开 不同
你好。
今天我突然想到人们日常聊天的时候包含了一些有趣的地方,例如:“今天是星期一对吧?”, 这个问句在不同的时间会得到不同的答案,所以“时间”是这句话所需要的语境。
(时间:星期二)
- 今天是星期一对吧?
- 不是,今天星期二了。
(时间:星期一)
- 今天是星期一对吧?
- 是啊。
同一个问句在不同的语境里会得到不同答案。同一个陈述句在不同的场景里会有不同的含义。例如:
(场景:陌生人的钱包掉地上了,提醒他)
- 谢谢,你是个好人。
(场景:向暗恋对象表白)
- 谢谢,你是个好人。
在和人交谈的时候,对方已经知道的东西,基本上没有必要再复述一遍,例如:
- 电影xxx你看了吗?
- 看了,我最喜欢在酒吧里的那个片段。
- 我也是。
在谈论电影的时候,因为对方已经看过,所以只要一小句信息,就可以索引到一段完整的片段。
“如果你已经知道,那我就不必复述,只需要提供索引” 这个索引可以是显式的,也可以是隐藏在语境里的。
但是索引所链接到的数据有可能会消失,或者被修改。在一些古文里,文字非常简略,在当时可能没有歧义,随着时间推移,逐渐产生了歧义,以至于无法得到原本的意思,例如:
“人不为己,天诛地灭”,其中的“为”字有人说是“修为”,有人说是“为了”。从如何长久地保留原意这一点来看,简略不如繁复。
压缩语句,伴随的是自由度的减少,例如:
- 衣服,裤子,鞋子都要红色的。
- 衣服红色,裤子红色,鞋子红色。
所以,日常交谈中,人们的话语是经过了对信息的压缩的,去掉了不必要的自由度。日常谈话的目的是传递信息,所以对信息进行压缩是合理的。
但是,在信息作为文字记录的时候,尤其是需要被经常修改的文字的时候,压缩带来的自由度减少是更加严重的问题。例如:
服装颜色选择表:
衣服,裤子,鞋子:____.
服装颜色选择表:
衣服:____,裤子:____,鞋子:____.
所以我得出了下面这个信息压缩度坐标:
自由度 与 压缩度成反比,所需要的自由度 和 信息修改频率 成正比
以我过往的编程经验,代码的设计和编写时间是短暂的,调试和修改的时间是漫长的,所以,需要更多的自由度而非压缩度。
因此,我会尽可能不使用对代码压缩的手段,例如在编译时展开代码(macro, record)。并且尽可能地提升代码的可修改和可调试性,在运行时附带更多的信息,由此带来的代码繁复和性能损耗是可以接受的。
标签:运行时 需要 一个 编程 消失 提醒 提升 展开 不同
原文地址:https://www.cnblogs.com/LJZN/p/9309208.html