Java 导致JVM语言替代的真实用例是什么?

Java 导致JVM语言替代的真实用例是什么?,java,groovy,dynamic-languages,Java,Groovy,Dynamic Languages,我最近在读Groovy,它更多地与Java有关。我在动态语言方面没有任何经验。我读到Groovy的创始人希望将动态特性添加到现有Java语言中。我的问题是 Q1提出在JVM上运行Groovy这样的语言的令人信服的原因是什么?这引起了我的兴趣。请有人能帮我一下 谢谢, 努万·阿兰贝奇你在倒着问这个问题。考虑到Groovy或Clojure等语言的概念,如果它可以在广泛部署的运行时(如JVM)上运行,那么它广泛采用的一个巨大障碍就消除了。你是在反问这个问题。考虑到Groovy或Clojure等语言的概

我最近在读Groovy,它更多地与Java有关。我在动态语言方面没有任何经验。我读到Groovy的创始人希望将动态特性添加到现有Java语言中。我的问题是

Q1提出在JVM上运行Groovy这样的语言的令人信服的原因是什么?这引起了我的兴趣。请有人能帮我一下

谢谢,
努万·阿兰贝奇

你在倒着问这个问题。考虑到Groovy或Clojure等语言的概念,如果它可以在广泛部署的运行时(如JVM)上运行,那么它广泛采用的一个巨大障碍就消除了。

你是在反问这个问题。考虑到Groovy或Clojure等语言的概念,如果它可以在广泛部署的运行时(如JVM)上运行,那么它广泛采用的一个巨大障碍就消除了。

对我来说,它有大量的增强功能,而这在普通Java中是不可用的

语法糖、闭包、常用数学和i/o库的包含、JavaBean特性、duck类型 是一些-它可能会花费一些性能开销,是最大的拦截器

基本上,它为您提供了Ruby用户所喜欢的,简洁而富有表现力的脚本,同时遵守Java生态系统的各个方面,并重新使用架构良好的Java类

事实上,既然Groovy 1.8即将推出,我已经完全停止编写Java了 它只是一个放入类路径的jar
这很简单…

对我来说,这是香草Java中没有的大量增强功能

语法糖、闭包、常用数学和i/o库的包含、JavaBean特性、duck类型 是一些-它可能会花费一些性能开销,是最大的拦截器

基本上,它为您提供了Ruby用户所喜欢的,简洁而富有表现力的脚本,同时遵守Java生态系统的各个方面,并重新使用架构良好的Java类

事实上,既然Groovy 1.8即将推出,我已经完全停止编写Java了 它只是一个放入类路径的jar
这很简单…

众所周知,Java是一种非常强大的语言,但我们可以看到它缺少了一些东西。总的来说,java是一种面向对象的编程语言。但果真如此吗?你能对像这样的整数调用这个方法10次吗。答案是不,你不能。但是groovy使Java成为完全面向对象的语言。在java处理列表中,映射是一些乏味的任务,因为程序员需要非常简单的映射,groovy就是这样做的。 更重要的是,groovy易于阅读和维护,您的项目算法将成为精确的代码! 这就是算法=groovy代码


我喜欢groovy

众所周知,Java是一种非常强大的语言,但我们可以看到它缺少了一些东西。总的来说,java是一种面向对象的编程语言。但果真如此吗?你能对像这样的整数调用这个方法10次吗。答案是不,你不能。但是groovy使Java成为完全面向对象的语言。在java处理列表中,映射是一些乏味的任务,因为程序员需要非常简单的映射,groovy就是这样做的。 更重要的是,groovy易于阅读和维护,您的项目算法将成为精确的代码! 这就是算法=groovy代码


我喜欢groovy

我不能告诉你为什么还有其他语言存在,但我可以告诉你我是如何来到Groovy的。对我来说,当时有两点很重要: *如果你懂一些编程语言,Java就糟透了。它像小孩子一样处理你,而编译器是你的母亲不断地告诉你该做什么,而在更困难的领域失败了。 *我需要一种脚本语言。当时的Jython和JRuby看起来已经死了,Beanshell太像Java了。而且,因为那时我主要编程Java,所以Groovy对我来说几乎是自然的选择,因为它允许重用我的旧代码,而无需过多地考虑转换


关于用例的问题有点难以回答,因为我的个人历史更像是我的偏好之一。能够用更少的行编写更多的代码并不完全是一个用例,但原型设计与我和一个用例有关。在Groovy中,通常可以更快地编写应用程序并交付原型。如果客户坚持,您通常可以轻松地将现有代码再次迁移到Java。很好的一点是,您可以在每个类的基础上完成这项工作,因为Java和Groovy交互良好。

我不能告诉您为什么存在其他语言,但我可以告诉您我是如何来到Groovy的。对我来说,当时有两点很重要: *如果你懂一些编程语言,Java就糟透了。它像小孩子一样处理你,而编译器是你的母亲不断地告诉你该做什么,而在更困难的领域失败了。 *我需要一种脚本语言。当时的Jython和JRuby看起来已经死了,Beanshell太像Java了。因为我那时主要是编程Java,所以Groovy几乎是最自然的 这对我来说是一个选择,因为它允许重用我的旧代码,而不必太在意转换


关于用例的问题有点难以回答,因为我的个人历史更像是我的偏好之一。能够用更少的行编写更多的代码并不完全是一个用例,但原型设计与我和一个用例有关。在Groovy中,通常可以更快地编写应用程序并交付原型。如果客户坚持,您通常可以轻松地将现有代码再次迁移到Java。很好的一点是,您可以在每个类的基础上执行此操作,因为Java和Groovy交互良好。

Java可能与“JVM”中的“J”重复。确实如此。从评测到安全性,再到现代JIT的性能,等等。Java和Java一样,语言并没有那么震撼。没关系,但真的不太好。看看像Trove这样速度惊人的集合的作者必须做什么:基本上编写一个定制的预处理器,以避免对所有Java原语重复8次相同的代码。诸如此类。Java在某些方面有点糟糕。令人遗憾的是,Scala已经证明,您可以用更少的代码获得同样的安全性。等。可能重复的Java以及“JVM”中的“J”。确实如此。从评测到安全性,再到现代JIT的性能,等等。Java和Java一样,语言并没有那么震撼。没关系,但真的不太好。看看像Trove这样速度惊人的集合的作者必须做什么:基本上编写一个定制的预处理器,以避免对所有Java原语重复8次相同的代码。诸如此类。Java在某些方面有点糟糕。令人遗憾的是,Scala已经证明,您可以用更少的代码获得同样的安全性。等