今天twitting with a colleague,他告诉我Groovy就像C#但没有LINQ。
我对LINQ知之甚少,但我回答了他Groovy has similarities to LINQ,例如,Groovy的类DataSet。
你能告诉我更多关于Groovy和LINQ(C#)之间的相似之处/不同之处吗?
答案 0 :(得分:3)
我想知道是谁告诉你的; P
首先,让我澄清一下我的陈述:我喜欢c#4.0的很多东西都是在groovy上实现的,但groovy已经非常简洁了。
还有其他明显的差异,比如groovy语言的动态/脚本性质等等。
现在,linq是一个跨越闭包的步骤,就像c#中的dsl一样,在像sintax这样的查询(sql)中创建闭包,基于接口的模式和后面的提供者模型允许将这些闭包转换为sql或者任何其他代表。
在这方面,由于groovy具有闭包和精美的实现,并且它内置了许多dsl构建功能,因此应该可以制作类似linq的功能。
答案 1 :(得分:1)
C#和Groovy之间唯一的相似之处是它们的语法。换句话说,Groovy代码看起来与C#非常相似。但是,这些语言的真实性质却截然不同。 Groovy更像Ruby,因为它是动态类型并支持元编程。另一方面,C#主要是静态类型。
至于LINQ和Groovy之间的相似之处,实际上并没有。 Groovy是一种通用语言,而LINQ是用于编写查询的DSL。另一个区别是C#和LINQ在.Net上运行而Groovy在JVM上运行。