上班时间在知乎瞎逛,程序员每天的代码量是多少——知乎 某答案下看见一个名词:语法糖。
专业词汇高达上,专门去百度了下:
———————————————语法糖 百度百科———————————————
语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
举个例子:在C语言里用a[i]表示*(a+i),用a[i][j]表示*(*(a+i*数组a第二维的长度)+j),看来语法糖不是“现代语言”才有啊,连我们的老大哥C也有,而且这种写法简洁明了,也更好懂了。
————————————————引用结束—————————————————
百度百科真丫不正规...不过基本意思懂了,语法糖是对语言规则的再封装,以减少开发人员犯错的机会。
我更喜欢 语法糖——Andy Niu 这一篇里面的解释:
“语法糖 是计算机语言中的一种语法,语法糖并没有为计算机语言添加新的功能,而是对已有的功能进行了封装,提供给用户更好的编程方式和编码风格。”
这篇文章里面用了一个C#的例子来解释语法糖,我觉得很不错:
“很多人认为,语法糖只是进行了封装,提供更方便的接口,不具有很大的意义。事实并非如此,语法糖的更大意义在于,影响了程序员的编程思想。比如:
var personList = persons.Where(p=>p.Name == "Bill")表达的意思是,找出persons集合中Name为Bill的Person组成的集合。
var maxAge = persons.Max(p => p.Age) 表达的意思是,找出persons集合中最大的年龄。
是不是有一点声明式编程的味道,而C#中的Linq更是体现了声明式编程的思想。”
让我产生写点东西记录一下语法糖的直接根源其实是这两句C#,它实在是太简单太易读了!#麻麻我也要学C sharp
!!!#