首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >句法糖与特征

句法糖与特征
EN

Stack Overflow用户
提问于 2009-09-07 17:47:51
回答 9查看 1.5K关注 0票数 14

在C# (和Java)中,字符串只不过是一个字符数组,具有存储的长度和一些方法。类似地,(除了引用和值之外)对象只不过是添加了继承和接口的美化结构。

在某种程度上,这些添加感觉就像清晰的特性和自身的增强。在另一个层面上,他们感觉像是从“句法糖”的地位边缘升级。

为了进一步理解这一想法,请考虑(我可能有些细节错误,但重点仍然是):

代码语言:javascript
复制
transistor
elementary logic gate
compound gate
  |         |
 ALU    flip-flop
   |    |       |
   | register  RAM
   | |
   CPU
   microcode
   assembly
   C
   C++
   | |
MSIL JavaScript
C#   jQuery

很多时候,任何一个抽象层看起来都很像语法糖,但是多个层次的分离却让人感到彼此之间的隔阂很大。

,你怎么知道什么时候一些东西不再是语法糖,而开始成为真正的特性?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-09-07 18:06:21

当它暗示着一种不同的思维方式时,它被证明是一种特征,而不是句法糖。

当您说对象实际上是带有方法和继承的美化结构时,您是正确的。然而,这只是实现细节。对象允许的是以一种不同的方式思考。在考虑对象时,您可以更容易地与现实世界实体联系起来。同样的事情发生在更早的时候,我们从使用go- to到过程性编程。在引擎盖下,处理器仍然继续从OP到OP运行jmp,但是我们可以用另一种更黑的方式来思考。

尽管如此,在极端的情况下,你可以说所有的东西都是语法糖,但是当它允许你以不同的方式思考时,其中的一些糖是一种特性。

票数 27
EN

Stack Overflow用户

发布于 2009-09-07 17:54:48

句法糖是一种特征。

票数 12
EN

Stack Overflow用户

发布于 2009-09-07 17:52:58

所有的软件都是建立在其他抽象之上的巨大的抽象堆栈。字符串可能只不过是一个字符数组,但是有许多操作在字符串上感觉很自然,但在字符数组上却很尴尬。所有这些抽象的目标是相同的:删除不相关的细节,以便开发人员能够专注于问题的重要部分。

正如您所指出的,所有现代编程语言都可能被淘汰,我们可以重新使用汇编语言。但我们的生产力会直线下降。

我猜,当人们觉得语法糖没有什么好处的时候,就会称之为语法糖,而当他们觉得语法糖有很大的好处时,他们就会称之为语法糖。这使得区别非常模糊,而且相当主观。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1390365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档