关于decorator之类的语法糖的必要性

| No Comments | No TrackBacks

理论上,所有程序都是等价的。基于lambda演算的函数式和基于图灵机的过程式都是等价的。那为啥还会有汇编,C,Python这么多语言?
那是不是大家直接在图灵机层面写机器码?把LISP去掉宏直接用lambda写code?

我自己的理解,所谓语言,本质是服务于人机交互的目的。人机交互的核心问题是人脑能理解的东西和带宽都是相当有限的。因此语言,本质上就是一套抽象规则,核心目的是把信息量提升到人能读写的程度。所以衡量语言优劣的核心问题,是提升信噪比的问题。

在满足这一前提的情况下,再尽量减少规则的数量,实现小内核,提升规则的正交性等目的,来方便使得语言易于学习和理解;最后才是提升语言本身的运行性能。所以这套规则是不是严格正交的,是否无冗余之类的完美性问题,都是相对次要的。

站在这个角度来说,语法糖当然是很有必要的东西,可以大大提升信噪比。只要别滥用语法糖,让语法糖本身成为噪音的一部分,就没啥理由去反对它。

No TrackBacks

TrackBack URL: http://blog.suchasplus.com/mt/mt-tb.cgi/343

Leave a comment

About this Entry

This page contains a single entry by suchasplus published on November 11, 2014 8:09 PM.

Does ZooKeeper includes Paxos ? was the previous entry in this blog.

win8.1下外置光驱无法使用 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.2.7