scala - IDE 支持哪些 JVM 函数式语言? (IDE : IDEA, Netbeans、Eclipse 或类似版本)

标签 scala clojure functional-programming intellij-idea jvm-languages

我花了很多时间寻找一种可以无缝访问 Java 遗留代码(Weka 代码)的函数式语言。自动完成导入的 Java 类方法会非常好。
我将发表我的印象,如果我错了,请纠正我。

雪人 对我很有吸引力,因为它简单且毫升 -like,但我无法为它设置一个好的 IDE。我也不知道语言本身是否已经可以在现实生活中使用。

Groovy , JRuby Jython 看起来很成熟,但实际上并不实用。
斯卡拉 是成熟的,但也是面向对象的,至少在 Netbeans(如果我记得很清楚的话,还有 Eclipse)上,它是有问题的。

OCaML-Java ”也是面向对象的,还没有准备好使用(3 或 4 个单独的项目)。我想在 IDE 中它会更不适合使用。

杰斯凯尔 似乎已经死了。

Clojure 似乎成熟并且在 Intellij IDEA(La Clojure 插件)中运行良好,但我不确定在编码时每行是否要编写超过 2 个括号。

SISC ABCL 我没有尝试。我认为没有IDE支持。

CAL (或 Quark ... Blah ...)语言指向 SAP 站点,之后我对功能 JVM 语言的耐心搜索就结束了。

有类似的问题,但不全面。例如:
Which Functional programming language offers best support in Eclipse?

是否缺少一些能够直接调用 java 类的 JVM 函数式语言?
雪人 IDE 支持为 Clojure 有(在 IDEA 中),这对我来说是完美的。

谢谢

编辑 - - - - - - - - - - - - - - - - - -

我可以在 Intellij IDEA 中使用 Clojure+Scala。
互操作性示例:

斯卡拉代码

package a
class ScalaMain {
  def test = {
    "testing!"
  }
}

Clojure 代码
(import '(a ScalaMain)) ;'
(def scalainstance (new ScalaMain))
(print "printing: " (. scalainstance test))

壮观!

最佳答案

Scala + Eclipse IDE(最新版本)http://www.scala-ide.org/似乎越来越好。 IntellijIDEA 插件也是如此。现在有很多人/公司使用 Scala 进行开发……我认为他们并不都只使用文本编辑器。

我认为目前使用最多的 FP 语言是 Scala(多范式)和 Clojure(纯函数式)Scala 是 OO 有什么问题?

您可以期待新语言的出现,例如 Kotlin 和 Ceylon 也具有功能特性,但它们也将是面向对象的,所以我认为您现在唯一的选择是在 Scala 和 Clojure 之间。

从您的列表中,您缺少 Fantom 语言。它也有功能特性,但我认为它缺乏 IDE 支持(或者至少它没有更新到最新版本)

更新:现在有一个用于 Fantom 编程语言的基于 Eclipse 的 IDE,看起来非常不错。你可以在这里找到它:http://www.xored.com/products/f4/

关于scala - IDE 支持哪些 JVM 函数式语言? (IDE : IDEA, Netbeans、Eclipse 或类似版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857128/

相关文章:

ssl - Clojure:使用 aleph 连接到 TLS 启用 docker 守护进程

functional-programming - Occam-pi 是学习编程 LEGO MINDSTORMS & Surveyor Corporation SRV-1 的好语言吗?

haskell - 您是否发现仍然需要可以更改的变量,如果需要,为什么?

scala - 类型不匹配;找到 : edu. stanford.nlp.util.CoreMap => 需要单位 : java. util.function.Consumer[_> : edu. stanford.nlp.util.CoreMap]

scala - 使用 "if"作为表达式

scala - 如何合并SPARK数据框创建的文件夹中的所有零件文件并重命名为scala中的文件夹名称

postgresql - 使用保存点在 clojure.jdbc 和 postgres 中进行测试的嵌套事务

clojure - 在Clojure中绑定(bind)多个相关变量而不使用嵌套let

scala - 为什么 Scala 有时会忽略明确定义的类型?

javascript - 是否可以绑定(bind)一个javascript函数,使其本地上下文与 'this'相同?