当将现有的Java代码库逐步迁移到Scala时,最需要注意的要点和解决办法是什么?有一个(可能很长的)中间阶段,这两种语言都在使用。
我在想的事情是:
发布于 2010-10-19 11:34:41
Scala不喜欢:
Java不喜欢:
发布于 2010-10-19 11:33:18
最初(即迁移的第一阶段),我想说,您不希望用难以使用的Java scala构造导出API (接口/公共方法等)。
实际上,我会将其限制为导出任何特定于scala的内容(同样,我在这里讨论的是迁移的第一阶段):
那还剩下什么呢?那么,类的内部(私有方法、字段等)可以转换为使用scala构造和库类。
如果您有任何API(特别是您打算迁移的面向客户的API),我将在Scala中从头开始设计它们;最初使用Java后端。然后,我会慢慢地吃掉中间的代码。
在您强调的要点中,我同意Scala的不变范式和Java的可变范式并不能很好地结合在一起。另外一点,我觉得问题较少。
范式失配的另一个要点是如何转换您拥有的任何并发代码(即使用java.util.concurrent的代码)。当然,这可以按原样进行转换,但问题是是将基于锁定的并发模型替换为基于演员或STM的并发模型。在任何一种情况下,这也可能是一个完全的重新设计,而不是转换本身。
发布于 2010-10-19 15:52:51
is 给出了一些关于主题的见解,这是大卫·科普兰( David )的偷偷地将Scala带入您的组织。
https://stackoverflow.com/questions/3967683
复制相似问题