天天看點

文法糖是什麼?

文法糖(Syntactic sugar),是由Peter J. Landin(和圖靈一樣的天才人物,是他最先發現了Lambda演算,由此而創立了函數式程式設計)創造的一個詞語,它意指那些沒有給計算機語言添加新功能,而隻是對人類來說更“甜蜜”的文法。

文法糖往往給程式員提供了更實用的編碼方式,有益于更好的編碼風格,更易讀。不過其并沒有給語言添加什麼新東西。

舉個例子:在C語言裡用a[i]表示(a+i),用a[i][j]表示(*(a+i)+j),看來文法糖不是“現代語言”才有啊,連我們的老大哥C也有,而且這種寫法簡潔明了,也更好懂了。

需要聲明的是“文法糖”這個詞絕非貶義詞,它可以給我帶來友善,是一種便捷的寫法,編譯器會幫我們做轉換;而且可以提高開發編碼的效率,在性能上也不會帶來損失。

https://www.zhihu.com/question/20651624?sort=created

注:轉載