通过新的用户定义功能,Microsoft Excel现在已经完成图灵化

2021-01-31 10:48:46

微软称其Excel电子表格为一种编程语言,据报道,一项被称为LAMBDA的努力正在使它甚至更多地成为一种编程语言,这种努力正在获得回报,最近被认为是图灵完整的。

图灵的完善是对成熟编程语言的试金石,标志着模仿图灵机的能力。根据一个定义,这意味着"如果您可以用它实现任何可能的算法,那么该编程语言就是图灵完整的。

"现在,您原则上可以使用Excel公式语言编写任何计算,"微软研究人员在1月25日的博客文章中说。

为了到达那里,Calc Intelligence项目的研究人员解决了LAMBDA项目的两个缺点,该项目是在Excel团队的协作下进行的,该项目于上个月初宣布。他们是:

尽管研究人员最初对LAMBDA可能是编程语言爱好者感兴趣的事实表示怀疑,但实际上却对日常用户来说太难了,但他们表示,早期的社区反应令人鼓舞。用户已经采用了LAMBDA并将其应用于各种用例,团队甚至从未设想过其中的一些用例。

"即使编写lambda花费了更多的技能和知识,也不需要额外的技巧来称呼它,"研究人员说。 " LAMBDA允许熟练的作者使用特定于应用程序域的功能来扩展Excel,这些功能无缝地出现在Excel中,对他们的同事(简称他们)来说。

"有趣的是,用户如何继续进行实验并不仅适用于LAMBDA,而且适用于数据类型和动态数组。我们相信,这些新的函数式编程功能将改变人们使用Excel做出决策的方式。"

当然,程序员和编码人员的听众很多,因为Microsoft声称" Excel公式由用户编写的数量比世界上所有C,C ++,C#,Java和Python程序员的总和还多。 "

在此阶段,LAMBDA仍有一些实施问题需要在将来的开发中解决,这些问题还将看到很多其他增强功能。

"在短期内,我们希望看到完全可嵌套的数组和以lambda函数作为参数的数组处理组合器(例如MAP和REDUCE)的有效实现,"研究人员说。 "除此之外,我们希望不仅通过单个公式来定义函数,还希望通过整个工作表来定义函数,即所谓的工作表定义函数,甚至是弹性工作表定义函数。实际上,工作表定义的函数将随流程一起使用。通过允许用户通过散布在多个单元格上的多个公式来定义更大的功能,对典型的电子表格设计进行了说明。"

1月25日冗长的帖子详细介绍了技术细节,数学爱好者和程序员可能对此感兴趣。还有一个视频,解释了更多信息。要真正使用它,您必须是Insiders:Beta计划的成员。

请注意,LAMBDA并不是唯一尝试进行更多编程的项目。 Excel用户掌握了这种优势,他们使用Visual Basic编辑器(VBE)在VB的Visual Basic for Applications变体中编写宏。举一个这样的例子,我们去年报道了Rubberduck项目,该项目旨在“将VBE带入本世纪!”