词汇的理解:Reactive & Responsive
这两个词体现了比中文更细的粒度。
#技术含义
他们都译作“响应式的”,都在技术文章中经常出现,但是 Reactive 常出现在 Reactive Programming 词组里,表示一种把万物抽象成流的异步编程范式,在很多端和编程语言里都有体现,是个范围很广的概念;Responsive 常出现在 Responsive Web Design 词组里,特指一种网页的设计和实现方式,这种方式可以让同一个网页在不同尺寸的屏幕上自动改变布局、选择最合适的内容展现方式,相比 Reactive Programming 含义要狭窄一些。 从出现频率的变化看,Reactive Programming 最近出现在视野里的频率明显变高了,特别是前端领域。而 Responsive Web Design 似乎已经式微,现在大家好像更倾向于为移动端单独实现一套网页,而不是一套代码四处运行。下面给出的 04 年至今的 Google Trends 图也能说明: 上图是针对词组的,如果单独针对计算机分类下的 Reactive 与 Responsive,也有类似的结果: 这两张图的相似,也许是因为在计算机分类下,他们的搜索本来就大部分来自上面的两个词组。
如果去掉分类的限制,去看大家在拿两个词搜什么,会发现一个特殊的不同: 尽管去掉了分类,但是 Responsive 还是被局限在了 Web 范围内,几乎所有的热门关联搜索词都与 Responsive Web Design 有关。但 Reactive 就跨越了生物、化学等多个领域,这说明 Responsive 可能是个技术特定的词,就像在中文下,你搜索“句柄”、“鲁棒性”,也很难找到技术以外的内容一样。Reactive 则显示出了更广阔的含义。
#技术之外
Reactive 对 Responsive,就像情感对应理智。 形容内向高敏的原文是:Emotionally Reactive,为什么不是 Emotionally Responsive 呢? 内向高敏是生理特征,杏仁核决定了一个人是不是对外部刺激更敏感,它就像膝跳反射一样,是本能的一部分,虽然可以被脑子的高级区域抑制,但是无法消除。Reactive 所指的响应,就是这种接近本能的、无理性的响应。 确实有 Emotionally Responsive 这种搭配,比如教育领域的 Emotionally Responsive Practice,但它指的 Responsive,是教师在积累了足够的知识和技能的情况下,做出对小孩子成长最有益的反馈和回应。这种 Responsive,是理智成熟的。 在职场中,如果一个同事被形容成 Reactive,那是在暗示他说话不过脑子,容易冲动,是比较消极的评价,它的对立面是 Responsive,说明这个人考虑问题周全,能顾及大局,做出计划,照顾到各个方面,和 Responsive 的同事共事,是比较享受和舒服的。 再回头想象一下它们的技术含义,Reactive Programming 随着数据源头变动,下游订阅无差别响应的方式,是不是很像一种出自本能的反应?Responsive Web Design 为不同的场合选择最好的形式,是不是很像一种理性思考之后的抉择和妥协?技术之内还是之外,就这样联系在了一起。