哪种可能成为一种强大的JVM替代语言:Scala、Clojure、Fan、JavaFX脚本或其他?
我目前正在决定使用另一种JVM语言来移植用Java6编写的现有Swing桌面应用程序。鉴于JavaFX专门针对此类应用程序,我的最佳选择似乎是JavaFXScript 但是,其他类型的应用程序和库呢?JavaFX脚本通常是第二种JVM语言的最佳选择吗 目前看来,Scala似乎是Java语言最受关注的替代方案。本月(2009年10月),它在中处于第34位,而JavaFX脚本位于第44位,Clojure、Fan和Groovy位于50位以下哪种可能成为一种强大的JVM替代语言:Scala、Clojure、Fan、JavaFX脚本或其他?,clojure,jvm-languages,Clojure,Jvm Languages,我目前正在决定使用另一种JVM语言来移植用Java6编写的现有Swing桌面应用程序。鉴于JavaFX专门针对此类应用程序,我的最佳选择似乎是JavaFXScript 但是,其他类型的应用程序和库呢?JavaFX脚本通常是第二种JVM语言的最佳选择吗 目前看来,Scala似乎是Java语言最受关注的替代方案。本月(2009年10月),它在中处于第34位,而JavaFX脚本位于第44位,Clojure、Fan和Groovy位于50位以下 那么,你的印象如何?假设您可以自由选择在JVM中运行的给定项
那么,你的印象如何?假设您可以自由选择在JVM中运行的给定项目的语言,您会将时间花在学习和使用哪种语言上(以及为什么?这些听起来都是不错的选择。您可以添加到列表中…最佳替代语言,总体而言,最好的语言IMO是最适合您以最佳模式编写程序的语言 因此,如果您正在编写GUI应用程序,那么Scala可能是错误的选择,因为您不会离开Swing 如果JavaFX最能满足您的需求,那么就使用这种语言 如果您知道LISP,那么Clojure将是一个很好的选择,但是,像Scala一样,对于这个问题,它听起来像 如果您不懂lisp,并且想要/需要一种函数式编程语言,那么Scala将是最佳选择
基本上,没有一种语言在所有情况下都是最好的,它有助于了解您想要做什么,以及各种选项的优缺点。我的主要问题是:为什么要移植现有的应用程序?这个问题的答案可能会让你知道你想去哪里 关于主要选择的一些快速观点:
- 在我看来,Scala是比Java更好的Java。如果您希望一种语言能够充分利用Java的优点,但又能添加许多新的创新和特性,那么它很可能适合您
- Clojure是一种设计精良的语言,特别是如果您相信未来会出现高度复杂的并发应用程序。它的效率也非常高——我可能可以用Clojure比任何其他语言每小时创造更多的价值。然而,除非你已经知道Lisp,否则一开始它看起来很陌生。如果你愿意生活在最前沿以获得这些好处,Clojure很可能适合你
- JavaFX脚本-具有一些非常好的GUI设计功能,并且显然支持Sun/Oracle。另一方面,我不认为它在这个领域之外有巨大的吸引力。我建议试运行一下,看看它是否满足您的需要
- Java-应该仍然在您的列表中!如果您进行移植的原因是因为代码变得难以维护,那么在继续使用Java的同时,重新分解的重点阶段可能会为您带来想要的好处。用Java编写完美的GUI应用程序是可能的
- Groovy——JVM上非常好的脚本语言。如果您想在现有Java/JVM应用程序中嵌入脚本功能,这一点尤其好。但我不确定我会选择它来(重新)编写一个完整的应用程序
- JRuby/Jython-我自己没见过这么多,但听到了一些好消息。如果您在团队中拥有Ruby/Python技能,并且希望获得JVM平台的好处,那么这可能是最合适的