神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:软件蚕食世界。每天都有无数的新软件出现。在这波软件浪潮当中,总有长江后浪推前浪,前浪死在沙滩上。但是,在它们当中,Excel却是个另类。这个软件诞生已有几十年的历史,但是生命力却越来越顽强,每天仍有7.5亿人在使用。尽管不断被模仿,但却不见被超越。是什么让Excel有这么大的魔力?我们又可以从Excel身上学到些什么?Packy McCormick进行了自己的思考。原文发表在其个人博客上,标题是:Excel Never Dies。篇幅关系,我们分四部分刊出。此为第三部分。
Excel 永不死,它带给我们这些启示(一)
Excel 永不死,它带给我们这些启示(二)
划重点:
Excel的灵活性和强大是一把双刃剑
Excel缺少数据溯源
很难对Excel进行版本控制和变更比较
凡事都有利有弊,Excel也不例外。
Excel的灵活性和强大是一把双刃剑。跟众多针对特定领域的SaaS应用不同,Excel可以让你做想做的几乎任何事情。Excel不算很固执己见的软件,也不会为了防止用户去做些可能会给他们带来麻烦的事情而施加约束。实际上,Excel甚至都不知道你做的是什么领域的事情。如果你搞错了类似FIFO库存跟踪这样的模型,甚至都不会有人认为罪魁祸首是Excel——这是你的错。如果你使用专用的FIFO库存跟踪软件,那它很可能会设置护栏,以防止以灵活性为代价做出不合理的操作。
Excel缺少数据溯源(data provenance)。在科学研究当中,溯源是指所收集的任何数据的来源,以及对原始数据进行的所有更改或转换的历史记录。溯源对于研究的可重复性至关重要,否则的话科学家就无法拿到同样的原始数据并得到同样的结果。溯源不只是学院科学家的问题——这是从事数据分析的任何人都要具备的基本素质。不幸的是,虽然Excel允许你进行各种复杂的数据转换,但却缺少这些计算序列的任何历史记录。把数据复制和粘贴到充当数据库的标签页的能力,意味着被粘贴数据之前的所有操作步骤都将丢失。如果粘贴的数据完全是无用数据该怎么办?如果某张sheet的数据一度是有用的,但有人把数据搞乱了该怎么办?用代码来进行的转换是记录在案的,所以对数据的每一次修改都可以重新生成,但对电子表格中的变更就没有记录。
很难对Excel进行版本控制和变更比较。虽说代码在很多方面令人生畏,但可以把它另存为文本这一事实,使得版本控制以及对比从一个版本到另一个版本发生的变更变得非常容易。大多数的专业程序员都会采用某种形式的版本控制,而且会利用用Github之类的工具来分享自己的代码,一边征询其他开发人员的反馈。另一方面,Excel工作簿的可读性不是很好,至少不像文本那么好。工作簿可能有多张表,每个上面都有公式要引用其他表的数据,很难凭直觉去了解发生了什么,次序如何。所以,尽管微软的云Office套件现在支持某种形式的版本控制,但要想对Excel文件进的更改进行推断要比找出代码变困难得多。
尽管大家对2D网格的结构有着很强烈的心理模型惯性,但这未必总是正确的模型,也不是唯一有惯性的模型。在计算机出现之前,人类已经习惯于将信息按照分层的树状结构进行组织。实际上,认知科学家知道大脑天生就习惯用层次表示法来处理信息已经有很长一段时间了。在2D网格中实现分层的树状结构在理论上不是不可能,但是这种做法会非常的不自然,并且很快就会变成一团糟。
通过提出笔记和研究的最佳组织方式是关联图谱,Roam Research吸引了众多的追随者。它借鉴了Zettelkasten的灵感,这种信息组织方法的历史可以追溯到1500年代。所以说,有可靠的论据认为,Excel的无所不在导致我们把信息填充到一种在很多情况下都不是理想的格式里面。
直到最近,Excel还存在一个额外限制:其他编程语言差不多都可以做的一种计算Excel还做不了。
今年2月9日,微软首席执行官萨蒂亚·纳德拉(Satya Nadella)在Twitter上发表了一项重要声明:称Excel现已图灵完备。实际上,这意味着Excel可以计算你也许会用Python,Javascript或任何其他图灵完备语言处理的任何内容。在灵活性和功能上的这一步变化的根本在于引入了LAMBDA——用户可以用Excel的公式语言定义可重用函数。这些LAMBDA定义的函数可以调用其他LAMBDA定义的函数,从而可以进行递归,从而将Excel变成“真正的”编程语言。
虽然LAMBDA函数可以说是这十年来Excel最大的一次发布,但它们也让Excel的灵活性和强大这把双刃剑变得更加锋利。有经验的程序员通常都会避免一件事,那就是仅仅因为你可以用某种语言实现某个东西,并不意味着你应该这样做。有了LAMBDA之后,可以预期会有更多的复杂程序在Excel里面实现,而且其中的部分程序也许会变成可维护性方面的炸弹。LAMBDA的确让Excel变得更加强大了,却却没有突破我们在前面讨论过的版本控制,可重复性,溯源以及可读性方面存在的限制。
幸运的是,LAMBDA不只是赋予了Excel用户更强大的能力;它还会为创业者提供更多的想法,去开发出基于Excel用户想出来的创意用法的稳定的,单用途的软件。因为这几十年来Excel用户一直在为B2B软件设置路线图。
译者:boxi