【问题标题】:Another Java vs. Scala perspective - is this typical?另一个 Java 与 Scala 的观点 - 这是典型的吗?
【发布时间】:2010-03-20 20:52:33
【问题描述】:

我已经阅读 Scala 有一段时间了,甚至写了一些小程序来更好地理解一些更通俗的特性。

今天我决定做我的第一个“真正的项目”,将大约 60 行丑陋的 Java 代码翻译成 Scala 以使用更好的模式匹配功能重写它(为什么?因为 Java 版本由于过多而变得难以维护正则表达式和条件的组合)。

大约在编辑过程进行到一半时,Eclipse 出现了这个错误:

alt text http://img269.imageshack.us/img269/1243/errorms.jpg

我的总体印象是 Eclipse 中的 Scala IDE 比它的 Java 同类产品有很多错误和不完整。这是正确的还是我只是安装不好?有没有更好的 Scala IDE?

【问题讨论】:

  • 你能指定你使用的scala版本和eclipse插件吗?
  • 我也见过很多次了。
  • 我并不是要贬低 Eclipse 插件开发人员,但到目前为止,它的可靠性比我使用的 Scala 编程工具差得多,后者是 JetBrains 的带有 Scala 插件的 IDEA .它远非完美或没有错误,但现在非常可靠。似乎几乎每天都有关于 Eclipse 的投诉。
  • 您可能想查看这个问题stackoverflow.com/questions/2127381/… 和答案。就个人而言,虽然我每天都在 Java 上使用 Eclipse,但我已经为 Scala 切换到了 IDEA。

标签: eclipse scala


【解决方案1】:

我真的很喜欢 IntelliJ Idea Community Edition 的 Scala 支持。我从早期就一直在使用它。我也测试过 Netbeans 和 Eclipse 插件,但我真的不太喜欢它们。尤其是所有 Eclipse Scala 插件都是垃圾。我还测试了 Textmate Scala 包,它非常好,但不提供自动完成功能。

这是我的 Scala Ide 顶级列表:

  1. IntelliJ Idea Community Edition
  2. Netbeans
  3. Textmate(这里是,因为我真的很喜欢 Textmate 来编写 Rails 应用程序)
  4. Eclipse

当您学习 IntelliJ Idea 键盘快捷键并添加一些 live templates 时,您可以成为非常高效的程序员。此外,如果您购买 Intellij Idea Ultimate Edition,您甚至可以与多台计算机或您的团队共享设置。

我的建议:

  1. 下载IntelliJ Idea Community Edition
  2. 安装Scala plugin
  3. 了解键盘快捷键:Windows and LinuxMac
  4. 当您更熟悉 ide 时配置 Live Templates

【讨论】:

  • 我什至尝试了 IntelliJ Idea 的 EAP 版本。 IntelliJ Idea 9 EAP 版本可从以下位置找到:confluence.jetbrains.net/display/IDEADEV/Maia+EAP。我一直在使用 94.663 版本。它工作得很好,但几乎没有小故障。目前我正在下载最新的 95.4 版本。
【解决方案2】:

Eclipse IDE 对 Scala 的支持已经有一段时间了,但随着 Scala 2.8 和 appears to be improving 的引入,现在正在接受额外的开发工作。对于 Scala 2.7,我发现 Intellij 插件处于更好的状态。

这两个插件的一个问题是 Scala 本身是一个移动的目标 - Scala 2.8 为 Scala 2.7 引入了额外的语法和结构。

【讨论】:

  • 确实——他们刚刚改变了 scala 在.class 文件中添加自己的元数据的方式,这无疑会再次影响 IDE
  • @oxbow_lakes - 这是 2.8 或更高版本的更改吗?
  • 它适用于 2.8,实际上是在过去几周内发生的。当然,它不会影响 API,只会影响编译器(以及其他任何关心从“scala”.class 文件中获取 scala-specific 信息的东西)
【解决方案3】:

根据我自己使用 Eclipse 的经验,将它用于 Java 以外的语言从来都不是那么好。

您可能会对this post 感兴趣。

【讨论】:

    【解决方案4】:

    我的总体印象是,对于一种新的、年轻的、小众语言来说,IDE 比一种广泛、受支持、成熟的语言更容易出错,也不那么完整

    试试 Netbeans。无论如何,它的插件通常具有更简单的结构,因此应该少一些“陷阱”

    【讨论】:

      【解决方案5】:

      要说明的一点是,人们仍然可能会推迟 IntelliJ,因为他们认为许可证很昂贵,尤其是如果他们对 Eclipse 很满意并且不知道免费和开源的 Community Edition。

      由于我一直使用 IntelliJ,因此我无法与其他 IDE 进行任何比较,但是 Scala 支持确实很好,考虑到所有因素,并且越来越好。

      【讨论】:

      • 大约 5 个月前,由于更好的 Scala 支持,我从 Eclipse 切换到 IntelliJ。
      【解决方案6】:

      我们在工作中使用 Eclipse Scala 插件,使用它非常糟糕。不能真正相信 IDE 中报告的错误,运行时异常是一天中的常规。我们最好的体验是从 25-11-2009 开始构建。

      我在家里玩 IntelliJ 9 及其 Scala 插件,我发现它好多了。我是 IntelliJ 的新手,但我对所有这些小细节印象深刻(一旦你习惯了它们)就会提高你的工作效率......很多。

      缺点是在 IntelliJ 中没有即时编译错误报告(在您编写代码时)尚未实现,并且仅支持高达 2.7 的 Scala(仅支持夜间构建 2.8),但没有使用 IDE 时出现运行时异常。我建议您至少尝试社区版 IntelliJ。

      【讨论】:

      • 如果您运行的是 IDEA 9,那么 Scala 插件支持 Scala 2.7 和 2.8。绝对推荐最新的 IDEA EAP(目前为 9.0.2),它允许您使用更高版本的 Scala 插件。
      【解决方案7】:

      在最好的情况下,我从来没有真正使用过 IDE,因为它们在实际文本编辑方面通常非常糟糕,但 Eclipse 的 Scala 插件特别脆弱,以至于项目在一段时间后“忘记”它们是 Scala。对抗 Eclipse 似乎消耗的精力多于节省的精力。我刚刚回到我的 Emacs 和终端中的 sbt REPL。

      与 IntelliJ 的轻松合作证实了它至少可以胜任 Scala IDE 的工作,但我还是不喜欢它的编辑器。它也是商业软件。但是,如果您正在寻找一个强大的 Scala IDE,那么这也许就是您应该寻找的地方。

      我后来决定的可能是反常的,不适合新手,但适合对他们的文本编辑器有明确意见的人。 ENSIME 是一个编辑器插件和服务器组件,可将您需要的内容从 Scala IDE 添加到 Emacs。它还声称支持 vim、Atom 和 Sublime,但我没有测试过这些。有时它也有糟糕的一天——晦涩难懂的宏尤其会迷惑它——但它通常能胜任。

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 2020-10-14
        • 2014-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多