Java 我应该学习Scala吗? 我是一个经验丰富的C++程序员,具有Python的平均技能。我首先学习Python的原因是: 从不同的角度看待编程(静态与动态、解释与编译等) 增加我可以从事的项目的广度(Python允许我进行web开发、为Symbian手机开发或编写快速系统管理脚本) 以补充我的C++技巧。
我认为Python很棒,我相信我已经实现了上述目标。我将继续在小项目、脚本和web开发中使用它 不过,我怀疑我能否将其用于中大型项目。虽然动态类型很方便,但它允许某些我认为令人不安的bug。单元测试和linting可以缓解这个问题,但是静态类型可以完全消除它 在研究了一些编程语言之后,我认为Scala看起来是一个很好的候选者: 我喜欢类型推断,它在JVM上运行,因此它应该在JVM可用的任何地方都可用。在使用函数式编程时,我还可以学到更多有关函数式编程的知识 但是。。。我也有一些疑问,这就是我希望Stack Overflow社区能够提供帮助的地方:Java 我应该学习Scala吗? 我是一个经验丰富的C++程序员,具有Python的平均技能。我首先学习Python的原因是: 从不同的角度看待编程(静态与动态、解释与编译等) 增加我可以从事的项目的广度(Python允许我进行web开发、为Symbian手机开发或编写快速系统管理脚本) 以补充我的C++技巧。,java,scala,jvm-languages,Java,Scala,Jvm Languages,我认为Python很棒,我相信我已经实现了上述目标。我将继续在小项目、脚本和web开发中使用它 不过,我怀疑我能否将其用于中大型项目。虽然动态类型很方便,但它允许某些我认为令人不安的bug。单元测试和linting可以缓解这个问题,但是静态类型可以完全消除它 在研究了一些编程语言之后,我认为Scala看起来是一个很好的候选者: 我喜欢类型推断,它在JVM上运行,因此它应该在JVM可用的任何地方都可用。在使用函数式编程时,我还可以学到更多有关函数式编程的知识 但是。。。我也有一些疑问,这就是我希望
- 可移植性:至少我希望是Linux和Windows。那手机呢,有可能让它在那里运行吗
- 编程范例:现在我对切换到函数式编程(FP)感到不舒服。我是否可以先将面向对象和过程与某些FP结合使用,然后在学习时更改比例
- 工具链成熟度:您对IDE和调试器有何经验?我现在正在使用Eclipse,看起来还可以
- 学习速度:考虑到我的经验,你认为我用Scala达到可行水平的速度有多快
- 部署:您究竟如何部署Scala程序?它是一个jar,它是一个可执行文件吗
最后,您认为Scala的一些缺点是什么?Scala是一种值得投资的不断发展的语言,特别是如果您来自Java世界。Scala在网站上被广泛报道。从Bill Venners那里可以看到这一点,也可以读到a 关于你的问题:
- Java可以在任何有JVM的地方运行。然而,手机的运气并不好。您需要的是完整的JRE,而不是可用的子集
- 这在JNI中是可能的。如果Java可以实现某些功能,那么Scala也可以。Scala可以调用Java类
- 函数式编程是Scala的一个优点-您确实需要学习它。但是,您也可以在不充分利用它的情况下开始使用它,并按照自己的方式使用它
- 有一个Eclipse插件。这不是最好的,但它会起作用。更多细节
- 如果你有经验,我会说真的很快。我建议你先找一本书
- 有关部署,请参阅此条目
- 可移植性:至少我希望是Linux和Windows。那手机呢,有人成功地让它在那里运行吗
- 编程范例:现在我对切换到FP感到不舒服。我可以先将OO和过程与一些FP一起使用,然后在学习时更改比例吗