全球使用人数最多的编程语言,运行在带字母列头的网格里。按任何合理的用户统计标准,用Excel公式写代码的人都比Python、JavaScript和SQL加起来还多。这不是关于Excel用户规模的趣闻,而是在问"程序员"这个词的边界到底画在哪里。
开发者社区三十年来一直悄悄不把表格作者算作程序员。微软在2020年让这种区分更难辩护了,但门槛依然存在。值得问问为什么。
规模差距
Excel全球用户估算从10亿到15亿不等,取决于统计口径。微软最新数据显示Microsoft 365活跃用户超3.2亿,而更广泛的Excel装机量(未授权副本、学校部署、网页版会话)远超这一数字。相比之下,自认开发者的人群规模很小。Stack Overflow年度调查覆盖数万名受访者,估算全球职业开发者约2800万人。
数量级上,用公式写代码的人比用集成开发环境写代码的人大约多一个数量级。这种差距在不同行业表现不同。金融服务行业几十年来以Excel为基础设施——银行交易员、股票研究员、审计团队、整个中台部门。他们的工作是写程序。他们不这么叫。开发者文化社区也不这么叫,这种默契对双方都方便。
在微软研究院工作二十多年的Simon Peyton Jones是现代函数式编程语言理论的核心贡献者之一,他把Excel描述为全球使用最广泛的函数式编程语言。他也称之为"令人沮丧地弱"的语言。两者可以同时成立。
LAMBDA改变了什么
2020年12月,微软研究院宣布推出LAMBDA,这是Excel的一个新函数,让用户能用纯公式语言定义自己的函数,无需VBA、无需宏、无需逃逸到其他运行时环境。该项目团队由微软Calc Intelligence组的Andy Gordon和Simon Peyton Jones领导,明确将这项工作定位为让Excel实现图灵完备。
值得停下来解释"图灵完备"的含义——这是整篇文章的前提。1936年的一篇论文中,Alan Turing定义了一种假想机器:一条纸带、一个读写符号的磁头、一小套规则——并论证这台极简设备能够执行任何可机械执行的计算。一种语言或系统如果能模拟这台机器,就是图灵完备的。基于一个深刻但已确立的结果(丘奇-图灵论题),图灵机能够计算的,就是原则上可计算的一切。因此:图灵完备的语言能够表达任何其他编程语言所能表达的计算。任何能在Python中计算的东西,原则上都能在Excel公式中计算。
热门跟贴