在我们以前的认知里,Excel仅仅是办公软件套件里的一种办公工具而已。而在所有人——不管是小白用户还是资深用户——的认知里,即便Excel电子表格能用数学公式和表达式,它也绝对不是一种编程语言,我们从不会把它当成编程语言来看待。而现在,可能真的不一样了。微软宣布,Excel是编程语言。
当然,说Excel是编程语言,并不是空穴来风,也不是无的放矢。因为,自从微软在去年在Excel中引入LAMBDA后(机智客看资讯显示目前LAMBDA提供给Beta测试用户),它就开始允许用户使用 Excel 的公式语言定义新的函数——它被称为 LAMBDA 定义的函数。而当神奇而晦涩的LAMBDA被引入后,Excel就具备了图灵完备性。理论上可以用Excel来实现编程语言里的算法。
关于lambda表达式,相信很多学过编程的朋友都知道这个神奇而晦涩的东西。说它神奇,是因为它可以很方便地用一行代码就实现一般编程语言里的一个长长的函数功能块,可谓简洁又强大。而说它晦涩,恰恰是因为它的简洁很不容易让人快速理解它,不直观不清晰。当然其实lambda表达式就是匿名函数了。
而当支持了lambda表达式,编程语言往往显得如虎添翼,可以简洁地实现很多功能函数。换句话说,由于Excel电子表格程序之前只能用数学公式公式语言来做一些简单的算法,也就是虽然支持字符串和布尔值,但也栽在函数定义上裹足不前。当然也正因为lambda表达式如此重要,在我们常见的编程语言如Python,Java,C#编程语言中都有支持。
而关于图灵完备性,我们在以前的文章里也提及过。可以这么说,任何一种能实现可能的算法的东西就意味着它具备图灵完备性,而只要具备了图灵完备性,就属于是真正的编程语言。虽然在以前——也就是微软没有引入LAMBDA表达式的时候,Excel还称不上真正意义上的编程语言,而当表达式被引入后,Excel就已经不再是以前的电子表格了,它晋升为了一种真正的编程语言,也就是我们既熟悉(所有用办公软件Excel处理表格的用户)又陌生(对于处理普通表格,不写表达式和编程的用户)的编程语言。
领取专属 10元无门槛券
私享最新 技术干货