避免对工具的痴迷
工具作为拓展人类智力与能力的利器,其自身所具备的功能、性能、可扩展性的重要意义毋庸置疑。一个人也应当持续不断地通过刻意练习来提升使用工具的能力,达到熟能生巧、能够自然流畅地表达设计思想与技术理念的效果(参考《工具使用论》)。但与此同时,亦不要对某种技术或者软件工具怀有太多的感情与痴迷,更不要卷入诸如网上Vimer与Emacser之间的论战与纷争。这主要是出于下面的考虑。
一个工具的流行程度会随着时代的变迁与技术的演进而不断变化,甚至完全被淘汰。举例来说,曾经红极一时的Perl语言如今逐渐淡出人们的视野,而昔日因性能太慢而被大家鄙视吐槽的Python反倒成了当下大红大紫的名星。因此,优秀的科技工作者应该关注隐身于工具与技术背后那些真正稳定甚至是永恒的要素:设计思想(包括数据与算法的抽象、软件的组织架构等)以及需要解决的具体问题(“解决问题”、“改善生活”是人类得以延续和发展的持续动力)。然后,在此基础上更进一步,通过数学【理论】与泛型编程【实践】的高度抽象来解决一大类问题而非单个案例。相反地,不能仅仅因为已经在一个技术上投入了大量学习与实践的时间并拥有了相当多经验与技能的积累,便始终持有一份情怀与坚持不放。这样一来,身上背负的“历史”包袱只会越来越重,最终则被时代无情地抛弃。总之,大多数的技术需要深厚的积累方能形成强大的生产力与推动力,但却不能固守。开发者仅将它们当作称手的工具解决当下的问题,不需要的时候扔掉即可,与时俱进。
换个角度来看,最终用户关心的则是由工具创造出的产品而绝非工具本身。除了开发者自己对于工具有着一份执念与情怀外,用户是丝毫不会关心工具本身有多么强大和先进的。开发者能够与用户建立起的唯一接口就是产品能够达到的性能、实现的效益和形成的体验。因此,理性的开发者应当更多地关注用户的需求与体验,通过整合现有的知识与工具勾画出完整的“用户故事”,精益求精地实现与之相应的解决方案。这也是《论语》所说的“吾日三省吾身,为人谋而不忠乎?”。
《论语·学而篇第一 1.4》 曾子曰:「吾日三省吾身,为人谋而不忠乎?与朋友交而不信乎?传不习乎?」
Backlinks: 《摆脱工具对人的限制》