Object 闭包和对象

Object 闭包和对象,object,functional-programming,closures,imperative,Object,Functional Programming,Closures,Imperative,函数式编程。。就像经典一样()。 在阅读另一篇关于SICP的文章时,人们谈论的是什么 关闭对那里的思想产生了巨大的影响,我想起了这一点, 这是我很久以前读过的 闭包是穷人的东西 物体是穷人的封闭物 (不记得确切的来源,但它是程序员罗塞塔·斯通,或编程大师禅宗, 或者编程的tau…谷歌变得如此拥挤以至于无法访问原始源代码) 所以共同程序员。。。你认为。。。 你是不是总是错过一些东西。。或者只是一些语法糖, 这是预处理器可以做的 闭包不仅仅是语法糖,尽管我认为它在某种程度上取决于你对“语法糖”的定义

函数式编程。。就像经典一样()。 在阅读另一篇关于SICP的文章时,人们谈论的是什么 关闭对那里的思想产生了巨大的影响,我想起了这一点, 这是我很久以前读过的

闭包是穷人的东西 物体是穷人的封闭物

(不记得确切的来源,但它是程序员罗塞塔·斯通,或编程大师禅宗, 或者编程的tau…谷歌变得如此拥挤以至于无法访问原始源代码)

所以共同程序员。。。你认为。。。 你是不是总是错过一些东西。。或者只是一些语法糖,
这是预处理器可以做的

闭包不仅仅是语法糖,尽管我认为它在某种程度上取决于你对“语法糖”的定义

对我来说,Java1.5对每一个来说都是语法上的甜点,但举例来说,Ruby块远远不止于此。闭包提供了一个方便的抽象级别,这对于隐式的意图声明非常有用——这是迈向DSL语法的一大步。

可敬的圣安娜大师与他的学生安东同行。希望 安东说:“大师,我听说了 “物体是一件很好的事情——这是真的吗?”Qc Na可怜地看着他 他的学生回答说:“愚蠢的学生物件只是穷人的 关闭。”

受到惩罚后,安东离开了主人,回到牢房, 专注于研究闭包。他仔细地阅读了整本《兰姆达:故事》 《终极…》系列论文及其近亲,并实现了一个小型 具有基于闭包的对象系统的方案解释器。他学到了很多,而且 期待着通知他的主人他的进展

在与Qc Na的下一次散步中,安东试图通过 说:"师父,我已经认真研究了这件事,现在明白了 “这些东西真是穷人的封盖。”Qc Na用拳头回应 安东拿着他的棍子说:“你什么时候能学会?闭包是穷人的 这时,安东开悟了

--安东·范斯特拉顿


我已经在Javascript中使用闭包很长时间了。有时它们会形成一个“对象”,有时它们是向回调提供实例数据的有用方法


就我而言,它们是盒子里另一个有用的工具,但它不仅仅是糖。Sugar与另一种更复杂的语法有关。在一个不直接支持它们的语言中实现闭包将是非常困难的。

闭包和匿名块是非常重要的编程结构,在爪哇、C++、C和其他任何缺少它们的语言中,我都遇到了快速缺失。它们在异步和事件处理方面特别有用。它们还使函数获取函数更易于使用,并提供了在不使用额外语法的情况下执行更多操作的选项。(请参阅:smalltalk和scheme)

闭包类似于OO语言中的对象。但是函数式语言缺少子类型和继承。

这是引用的原始来源还是引用的另一个来源?链接的消息是这个特定koan的原始来源。它是针对闭包/对象二元性的讨论而产生的,因此这个概念的存在时间比这个特殊的说法要长。按照链接查看完整详细信息。
Qc Na
/
Anton
的回调是什么?我环顾四周,搜索这些术语只会找到对koan本身的引用。@Elanor Zimmermann lol请查看链接。安东是安东·范斯特拉顿。Qc是奎因内克·克里斯蒂安。Na是诺曼·亚当斯。C#C的代表和兰博达不是很好地涵盖了它吗?代表似乎是一个有趣的特征。我从列表中删除C。@Cherry:为什么要从列表中删除C?因为委托似乎和闭包和匿名块一样。但我不确定,这取决于它们的行为。更糟糕的是,用一种不直接支持闭包的语言实现闭包提供的功能将有效地混淆使用闭包的意图。它们是糖;但是当你做冰糖的时候,你不能低估糖的重要性…@Shog9:我完全同意你的第一句话。我不知道我是否同意第二个,因为我发现这很难理解。对不起,当我限制在300个字符时,我切的太多了。冰糖是简单的结晶糖;如果你不喜欢糖,那就没有意义了。许多高级编程结构——闭包、对象——只是与其他程序员进行通信的工具——sugar。我们写冰糖,你都知道,是吗?