我是一名 Java 开发人员,我想知道,学习 Scala 或 Groovy 等语言的主要好处是什么?
9 回答
您可以从学习另一种 JVM 语言中获得与学习任何新语言相同的好处。它总体上增加了您对编程的理解,更重要的是,它为您的工具箱添加了另一个工具。
所以下次你必须解决一个问题时,你可能会去拿钉枪而不是锤子。
更具体地说,Groovy 是一种用于快速模拟代码的好语言,而 Scala 虽然我从未使用过它,但由于它的函数式方法,它被认为非常适合编写并发应用程序。正如其他人所提到的,JVM 语言可以与 Java 代码交互。这对于添加到遗留系统或快速模拟应用程序的各个部分非常有用。
我想到了一些很好的理由:
- 它们具有 Java 所没有的特性,并且在某些情况下您可能会发现这些特性很有用。
- 他们使用不同的编程范式,不同的思维方式。
- 学习其他语言会打开你的思路。
- 学习语言会让你意识到它们各自的长处和短处。
- 他们得到越来越多的关注和更好的 JVM 支持(使用 Java 7)。
实际上,也许问自己一个相反的问题:
- 为什么不学习额外的 JVM 语言?
这里的其他答案有很好的观点,但我缺少一件事。
一个好的程序员很少将自己定位为“Java 开发人员”、“Python 开发人员”或任何“开发人员”。学习另一种语言(不管是不是 JVM 语言)会让你明白世界上还有很多东西要学。
如果您只对一种语言感到满意,这通常意味着您忘记了它所存在的问题,并且有许多任务更适合其他语言。
这就是实用程序员鼓励每个程序员每年学习一门语言的原因。
您提到的语言实践了一种不同的编程范式,可以帮助您提高工作效率。与他们一起工作也更有趣。
Scala 和 Clojure 等语言在 JVM 上运行,并在多核系统中表现出出色的性能,而无需强加同步要求。
当然,您仍然可以使用所有可用于 Java 的库。
来自http://groovy.codehaus.org/:
“Groovy 就像 Java 的超级版本。它可以利用 Java 的企业功能,但也具有很酷的生产力特性,例如闭包、构建器和动态类型。如果您是开发人员、测试人员或脚本专家,那么您一定会喜欢 Groovy。”
所以在很多情况下使用 Groovy 而不是 Java 是有意义的。例如在 Java 单元测试中!
因为那样你就会知道一门新的语言,这意味着更广泛的技能和看待问题的另一种方式。但是因为 Groovy 和 Scala 在 JVM 上运行并且您了解 Java,所以您可以根据需要或需要集成现有的库和代码。
jvm内部的脚本语言优势。与已编译的 java 代码的无缝交互。
我知道使用 Groovy,您可以在运行时从 Java 应用程序加载脚本(从文件中)。这允许我在客户端站点自定义应用程序操作的行为,而无需我重新编译代码。它相当可爱。
抱歉更多问题然后回答..
- 如果你不学习一门新语言,你会把时间花在什么上面?
- 你为什么要限制自己使用 JVM 语言?
- 学习测试驱动开发会更有好处吗?
- 学习标准设计专利怎么样?
- 你想用你的时间投资来实现什么?
学习一门语言总是好的,但是如果你没有很好地学习它们并使用它们,你不会得到很大的好处,因为你需要能够“<strong>用一种语言思考”以扩大你的头脑。
在公司中使用不止一种语言会导致大量额外的长期成本,因此您可以通过学习如何更好地使用您的主要语言进行编程来获得更多收益,只有您可以决定。