`
javasee
  • 浏览: 960512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

西行漫记(7):再论语法糖

阅读更多
前一个blog里,我这样写道:“今天的object bootcamp再度证明,一切派都是纸老虎……嗯,一切面向对象都是语法糖。”读者dongbin提出了一个很有趣的问题:

“一切面向对象都是语法糖”是否意味着所有面向对象编程语言都可以形式化的转换为函数式编程语言呢?比如LISP。那么可否通过直接在LISP之上添加语法糖来得到更简洁,强大的语言呢?

首先,确实可以“直接在LISP之上添加语法糖”,在SICP第三章(还是第四章?)就做了这样的事情。这个exercise的效果是,你可以直观地看到:所谓“面向过程”和“面向对象”,其实就是同样的一组lambda,用不同的语法糖表现出来而已,背后是完全一样的事情。这并不是说语法糖不重要,而是说你可以(并且应该)根据不同的情况选择最方便的语法糖,而不是让某一种语法糖(譬如“面向对象设计原则”)绑住手脚。

但另一个问题是,并非“所有面向对象编程语言都可以形式化的转换为函数式编程语言”。问题的根源是丘奇代数(Church Calculus)理论:一切可有效计算的函数(包括定值函数)都可以归约为lambda运算。但含有内部状态的函数不是一个可有效计算的函数,因为在不同时间它给出的值不同。所以,在有内部状态存在的情况下,面向对象程序通常是不能用(严格的)函数式语言描述的。(但赋值操作并不等价于内部状态。有赋值操作的程序很多时候也可以归约为函数,在《重构》书中有很多这样的例子。)

更加有趣的问题接踵而来:对于一个web应用而言,很多时候我们可以有效地将其可变状态限制在首尾两端。也就是说,web层是有状态的(当前用户session),其他的状态都持久化地保存在数据库里,而web应用本身——或者至少是“业务逻辑”的部分——很多时候可以是完全无状态的,也就是说可以将其归约为函数。这样做的好处不仅仅是优雅。函数是不存在并发问题的,因此无状态的web应用可以最方便地实现web-farm的集群部署,从而获得线性的scalability。

另一个有趣的现象是Java5引入的静态导入(static import)特性。以前经常说“static helpers are evil”,但static import引入的只能是static helper。从某种意义上,静态导入正是面向对象借鉴函数式编程走出的一步。
分享到:
评论

相关推荐

    Python二级综合应用题:《论语》

    在这个“二级综合应用题:《论语》”中,我们面对的是一个与经典古籍《论语》相关的任务,这可能涉及到对古代汉语文本的读取、解析、分析以及可能的可视化。《论语》是儒家经典之一,记录了孔子及其弟子的言行,对于...

    高考作文素材积累:《论语》精华 50 句.pdf

    《论语》是中国古代儒家经典之一,由孔子及其弟子的言论集结而成,包含了丰富的哲学、伦理、教育等领域的智慧。以下是从给定的部分内容中提取的一些《论语》中的重要知识点: 1. 人生哲理:《论语》强调长远思考的...

    高中语文复习:《论语》选读试题精编(浙江新高考专用).doc

    高中语文复习:《论语》选读试题精编(浙江新高考专用).doc

    论语对比阅读答案版.pdf

    《论语》是中国古代思想家孔子的弟子及其再传弟子记录孔子及其弟子言行的书籍,共分为20篇,其中包括了众多的章句,每一句都包含了深厚的哲学思想和生活智慧。了解《论语》能够帮助人们理解中国古代的伦理道德、政治...

    经典文献解读:《论语》十二章的拼音及注释解析

    内容概要:本文件提供了《论语》十二章(人教版高中版)的全文,附带详细拼音以及重要字词的解释。每段内容都包含了原文、译文及简短解析,重点解释了一些难解或多义字词的正确读音及含义,特别标注了多音字、通假字...

    论语别裁 论语别裁

    《论语》由孔子的弟子及再传弟子编纂而成,成书于战国时期,对后世产生了深远的影响。 ### 知识点二:“论语别裁”的含义 “论语别裁”通常指的是对《论语》进行独特的解读或评论。这种解读往往结合了作者或评论者...

    [2021演讲稿]走进《论语》-感悟经典演讲稿.doc

    7. 生活中的快乐:《论语》中提到,孔子认为生活中的快乐是非常重要的,我们可以通过学习《论语》,来理解和掌握生活中的快乐,并将其应用于生活中。 8.积极的心态:《论语》中提到,孔子认为积极的心态是非常重要...

    论语十二章翻译及原文.pdf

    《论语》是中国古代儒家学派的经典著作之一,由孔子的弟子及其再传弟子编撰而成。它记录了孔子及其弟子的言行,集中体现了儒家的伦理思想、政治理念、教育原则和道德修养等核心内容。由于《论语》的版本众多,其中...

    有关《论语》的读后感2.doc

    7. **内省与自我完善**:“吾日三省吾身”是《论语》中提倡的自我反省精神,通过不断审视自己的行为和思想,以达到自我提升的目的。 8. **君子之道**:《论语》中多次提到君子的概念,君子不仅要有高尚的道德品质,...

    现代语境下的《论语》解读.ppt

    《论语》作为儒家经典,蕴含着深厚的文化与哲学智慧,是中华文化的重要组成部分。在现代语境下,对其进行解读是一项既具有挑战性又充满意义的任务。然而,当前的《论语》解读过程中存在一些弊端,这主要体现在以下几...

    论语读后感之十二.doc

    《论语》是中国古代儒家经典之一,由孔子的弟子及再传弟子编纂,记录了孔子及其弟子的言行,集中体现了孔子的哲学思想、道德观念和社会理想。在历史上,《论语》具有极高的地位,其影响力深远,不仅在中国,甚至在...

    浅析《论语》中孝道思想 (2).zip

    《论语·阳货》中孔子提出“色难”,意指保持和颜悦色对待父母是最难做到的孝行,反映了孝道的内在精神要求。 4. 孝与忠的关系:在《论语·微子》中,孔子提出“君君,臣臣,父父,子子”,指出孝道与忠君是...

    孔子《论语》

    从给定的文件信息来看,我们讨论的主题是《论语》,这是孔子及其弟子言行的记录,被誉为几千年前关于做人的智慧之书。以下是从标题、描述、标签以及部分内文中提炼出的关键知识点。 ### 关键知识点 #### 1. 孔子与...

    2021秋七年级语文上册第三单元11论语十二章背记手册新人教版.doc

    《论语》十二章是七年级语文上册第三单元的一篇重要学习内容,它记录了中国古代伟大的思想家、教育家孔子及其弟子的言行,对于理解儒家思想和古代文化具有深远意义。以下是关于这篇课文的一些核心知识点: 1. **...

    七年级语文上册 21《论语》六则教案 语文版

    7. 孔子与《论语》的介绍:《论语》是记录孔子及其弟子言行的典籍,对后世影响深远。孔子是中国古代伟大的思想家、教育家,他的教育理念和政治主张对儒家文化有着重要贡献。 8. 孔子的教育思想:注重“学”与“思”...

    高考语文文学名著论语复习资料扫描版 试题.doc

    《论语》是儒家经典之一,由孔子的弟子及再传弟子记录整理,汇集了孔子及其弟子的言行,反映了孔子的思想体系。在高考语文文学名著的复习中,《论语》占据着重要的地位,因为它不仅是我国传统文化的重要载体,也是...

    中考资料系列-出自《论语》中的成语(二).pdf

    8. **成事不说**:《论语·八佾篇》中提到,意指事情已完成,无需再过多解释。 9. **既往不咎**:《论语·八佾篇》里的成语,表示对过去的事情不再责备或追究。 10. **尽美尽善**:源自《论语·八佾篇》,意味着...

    论语与算盘

    ### 《论语与算盘》关键知识点解析 #### 一、涩泽荣一与“义利合一”理念 - **涩泽荣一**:被誉为“日本商业之父”,是日本近代工商业发展的核心人物之一。他提倡的“义利合一”理念,将儒家道德与商业实践相结合...

    论语文化PPT模板下载

    《论语》是中国古代儒家经典之一,由孔子的弟子及再传弟子编纂,记录了孔子及其弟子的言行,蕴含着丰富的哲学思想、道德观念和社会伦理。在制作关于《论语》文化的PPT模板时,我们可以围绕以下几个核心知识点展开: ...

Global site tag (gtag.js) - Google Analytics