瞎扯淡 Lisp 抽象级

yfractal · 2013年08月30日 · 最后由 yfractal 回复于 2013年09月04日 · 2925 次阅读

觉得 lisp 的中缀表达可以很好的把关系放在同一个抽象级上。

比如 “适合思考和作家的二楼”。觉得用 lisp 会是这样(二楼(适合(和 思考 写作))) 这样看起来会很舒服。lisp 的优点之一就是可以把“关系”很好的放在同一个抽象级上(abstract level)。clean code 好的代码最后一条,个人认为是最难的一条。但 lisp 做起来很自然。

前几天写了一小点 scheme(一个求导的程序),感觉写出来很舒服(主要原因是大框架已经有了,我填入细节就好),于是有了上面的感触。

还有就是 scheme 的 cond 和递归用起来感觉比 python 舒服。

个然感触,对 scheme 了解不多,说错了望大家指正!

感觉上楼主说的应该是对的,不过举得那个例子却起到了反效果,因为这样的表达恰恰是错误的表述了原文(我指的是从表达层面上看代码的是否易读易懂,而不是别的什么)

适合思考和作家的二楼

这句话明显想表达的是:“二楼有很多,但只有原句里特指的二楼才是适合思考和作家的”

(二楼 (适合 (和 思考 写作) ) )

这看起来表达的意思却是:“二楼是适合思考和写作的(不是一楼,也不是三楼)”

也许要这样:

适合思考和作家的 二楼

原文才能和代码表达一致吧。

我不是想说 Lisp 不好或是怎样,完全没那个意思,我只是觉得这个例子举得不好。如果用 Lisp 真的是这样表达的话,反而会对代码的原意造成一种误读,可读性并不算好。

#1 楼 @nightire 日语:我 狗 是 汉语:我 是 狗

#1 楼 @nightire 有道理!我就是偶尔看到这句话,突然想到了这些。。。没考虑那么多。。。:-)。 但我觉得应该把思考和写作放在一起才比较整齐,具体也说不太清楚。

#2 楼 @LiKour 。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号