scala - 被 JVM 困住了,厌倦了 Java……去哪里?

标签 scala clojure jvm-languages

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

6 个月前关闭。




Improve this question




在接下来的 3 年中,我将不得不使用非常具体的第三方 API 来处理 JVM(项目要求)。他们想要 Java,但我得到了离开 Java 的余地。我希望我们可以回到 .NET 框架,这样我就可以用 F# 开发代码,我完全爱上了 OCaml。 .NET 开发已被我们的客户拒绝。这是不行的。

我转而查看、阅读和浏览编程博客/论坛,试图了解哪种语言可能更吸引我:Scala 或 Clojure。那些似乎拥有最大的社区/粉丝群。有 ML 语言经验的我看到很多人将 Scala 与 ML 进行比较。但是,在进行这种比较时,确实有一些反对者。如果 Scala 如此接近 ML,我的生产力和学习曲线将有利于进行这种转换。

互联网上充斥着错误信息,不知道我是否患有此类错误。我不喜欢 Lisp 的语法(别伤害我!)但是如果 Scala 有我正在阅读的缺点(糟糕的 IDE 支持,在通量单元测试框架中,性能问题)我想知道 Clojure 是否更好选项。我想提高工作效率,将函数用作一流的对象,并尽量减少并发的痛苦。

所以无论如何,在我花太多时间在互联网上而不是工作之前......我被JVM困住了,厌倦了Java并且想知道去哪里?

最佳答案

你考虑过 Groovy 吗?我认为它不像 Scala/Clojure 那样具有功能性,但它肯定比 Java** 具有更多的功能性。一般来说,我可以在 Groovy 中完成相同的工作,而在 Java 中大约需要 50% 的代码。

这是因为 Groovy 在语法上类似于 Java 并提供对 JDK 库的无缝访问,但是添加了许多语言特性(闭包、元编程、属性)和动态类型几乎消除了与 Java 编程相关的所有样板。

** 我指的是“函数式编程”意义上的函数式编程,而不是“正常工作”

关于scala - 被 JVM 困住了,厌倦了 Java……去哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473242/

相关文章:

scala - Spark mllib f1score 阈值

scala - 打开带有 0 或 1 个选项的列表的最佳方法是什么?

scala - 有没有办法在 Scala 的 Int 上使用++?

Clojure HashMap 查找的性能问题

java - Storm 中的延迟队列/消息处理

clojure - 为什么 ns 形式的 require 与 require 函数的行为不同

kotlin - Kotlin 的具体类型对于 JVM 上的原语是否不正确?

scala - 如何记录对http4s客户端的所有请求

java - 使用 Groovy/JRuby/Jython 或其他 JVM 语言的 UI 设计替代方案?

.net - Sun 是使用 JVM 的 .NET 的竞争对手