java - 是否有人愤怒地使用 Scala(以及对 Java 程序员的建议)?

标签 java scala jvm-languages

<分区>

自从开始使用 Smalltalk 以来,我已经成为 Java 程序员 10 多年了。我认为下一个大语言很可能是在无处不在的 Java 虚拟机上运行的语言。我想利用 Scala(以及其他语言)的一些特性 - case 类层次结构、闭包、类型推断的语句,因为它可以让我写得更简洁明了(我希望)代码。更接近 Smalltalk!

Java 中的所有第二天性:

  • 使用 ant 构建
  • 将应用程序/库部署到逻辑jar
  • 强大的 IDE 工具支持
  • 编写 GUI(或者通过某种远程处理让 Swing GUI 与其对话?)
  • 第 3 方库/框架
  • 配置(属性、XMLSpring 等)
  • 数据库驱动等

我担心玩弄一些宠物项目与实际在工作场所愤怒地使用它之间的区别有点太大了。

  1. 有人实现了这一飞跃吗?
  2. 值得吗?
  3. 你学到了什么?

(显然人们正在使用 Scala - 但是有人构建实际的企业应用程序吗?)

最佳答案

我在我们现有的 Java 基础架构上使用 Scala 来查询和操作大型 xml 文档。使用标准 Java xml 库是不可能的,或者不那么容易。

我很想用它来计算投资组合的表现,但已经完成了 Java 版本。 Scala 版本会更容易维护,因为它更容易将公式直接转换为代码。

您可以潜入 Scala 的另一个领域是多线程。没有这方面的实际经验,但在 Scala 中似乎更容易。

要点是,暂时不要试图将其视为 Java 的替代品,而是在可以利用现有 Java 代码旁边的优势的地方使用它。

我将 Intellij 与 Scala 插件一起用作 IDE,但目前还没有。它可以与 maven 插件和控制台结合使用。

我也是一名 Smalltalk 程序员,喜欢在 Scala 中使用代码块。与 Java 相比,代码更少,但仍然不如 Smalltalk 代码可读。

顺便说一句,由于 Seaside 框架,smalltalk 社区再次壮大,因此您可能想返回

我学到或更好理解的东西:

  • 构造函数的使用
  • 不变的概念
  • 使用列表和递归
  • 一般的函数式编程

所以,是的,我认为这是值得的。

关于java - 是否有人愤怒地使用 Scala(以及对 Java 程序员的建议)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554913/

相关文章:

java - 通过在 Groovy 闭包中通过引用传递参数来动态设置变量

java - 通过 Java 在 Chrome 中下载没有 .zip 扩展名的 Zip 文件

java - jsp页面调用Servlet的多个方法

generics - Java 代码中 "? extends"上的 Scala 类型推断失败

java - 将常规 Servlet 编码转变为我的 DSL 的起点

java - 我可以从小程序触发对话框吗?

scala - Scala 中两个 map 的交集和合并/连接

scala - 计算文件中单词的最简单方法

java - 解释 Java 的脚本引擎

clojure - 学习如何编写 Clojure/Lisp 宏的书