有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java什么是导致可供选择的JVM语言的实际用例?

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

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

谢谢, 努万阿兰贝奇


共 (4) 个答案

  1. # 1 楼答案

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

    我喜欢groovy

  2. # 2 楼答案

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

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

  3. # 3 楼答案

    对我来说,它有很多增强功能,而这些功能在vanilla Java中是不可用的

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

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

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

  4. # 4 楼答案

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