<分区>
自从开始使用 Smalltalk 以来,我已经成为 Java 程序员 10 多年了。我认为下一个大语言很可能是在无处不在的 Java 虚拟机上运行的语言。我想利用 Scala(以及其他语言)的一些特性 - case
类层次结构、闭包、类型推断的语句,因为它可以让我写得更简洁明了(我希望)代码。更接近 Smalltalk!
Java 中的所有第二天性:
- 使用
ant
构建
- 将应用程序/库部署到逻辑
jar
中
- 强大的 IDE 工具支持
- 编写 GUI(或者通过某种远程处理让 Swing GUI 与其对话?)
- 第 3 方库/框架
- 配置(属性、
XML
、Spring
等)
- 数据库驱动等
我担心玩弄一些宠物项目与实际在工作场所愤怒地使用它之间的区别有点太大了。
- 有人实现了这一飞跃吗?
- 值得吗?
- 你学到了什么?
(显然人们正在使用 Scala - 但是有人构建实际的企业应用程序吗?)
我在我们现有的 Java 基础架构上使用 Scala 来查询和操作大型 xml 文档。使用标准 Java xml 库是不可能的,或者不那么容易。
我很想用它来计算投资组合的表现,但已经完成了 Java 版本。 Scala 版本会更容易维护,因为它更容易将公式直接转换为代码。
您可以潜入 Scala 的另一个领域是多线程。没有这方面的实际经验,但在 Scala 中似乎更容易。
要点是,暂时不要试图将其视为 Java 的替代品,而是在可以利用现有 Java 代码旁边的优势的地方使用它。
我将 Intellij 与 Scala 插件一起用作 IDE,但目前还没有。它可以与 maven 插件和控制台结合使用。
我也是一名 Smalltalk 程序员,喜欢在 Scala 中使用代码块。与 Java 相比,代码更少,但仍然不如 Smalltalk 代码可读。
顺便说一句,由于 Seaside 框架,smalltalk 社区再次壮大,因此您可能想返回
我学到或更好理解的东西:
- 构造函数的使用
- 不变的概念
- 使用列表和递归
- 一般的函数式编程
所以,是的,我认为这是值得的。