我們熟悉的Excel電子表格成程式語言了? 微軟表示它有圖靈完備性

在我們以前的認知裡,Excel僅僅是辦公軟體套件裡的一種辦公工具而已。而在所有人——不管是小白使用者還是資深使用者——的認知裡,即便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處理表格的使用者)又陌生(對於處理普通表格,不寫表示式和程式設計的使用者)的程式語言。

相關文章