当前位置: 首页 > 面试题库 >

Scala作为新的Java?

赵越
2023-03-14
问题内容

我只是在业余时间开始探索Scala。

我必须说,到目前为止,我印象深刻。Scala位于JVM之上,与现有Java代码无缝集成,并具有Java所没有的许多功能。

除了学习新语言之外,切换到Scala的不利之处是什么?


问题答案:

不好的一面是,您必须为Scala做一些准备工作,使其边缘有些粗糙:

  • 您将得到奇怪的Scala神秘编译器内部错误
  • IDE支持不如Java(调试支持也不如Java)
  • 在将来的版本中,向后兼容性会有所突破(尽管会受到限制)

您还必须冒一定风险,将Scala语言淘汰。

就是说, 我认为您不会回头
!我的经历总体上是积极的;IDE可用,您会习惯于隐秘的编译器错误的含义,并且,尽管您的Scala代码库很小,但是向后兼容的突破并不是主要的麻烦。

对于集合, 闭包参与者 模型,提取器,协变类型等Optionmonad 功能,这是值得的。这是一种很棒的语言。

能够以不同的角度来解决问题,这对 个人 也是非常有益的,这是上述构造所允许和鼓励的。



 类似资料:
  • 本文向大家介绍Scala选项作为集合,包括了Scala选项作为集合的使用技巧和注意事项,需要的朋友参考一下 示例 Option具有一些有用的高阶函数,通过将选项查看为具有零个或一个项目的集合,可以很容易地理解它们-None行为类似于空集合,而Some(x)行为类似于具有单个项的集合x。            

  • 我对scala语言(和一般编程)比较陌生。我最近安装了JDK和Scala IDE(用于eclipse)。安装进行得很顺利,但我在尝试运行Hello World应用程序时遇到了一个问题。当我尝试“运行方式”时,唯一可用的选项是“Java小程序”和“Java应用程序”。如何继续尝试作为“Scala应用程序”运行?非常感谢!

  • 本文向大家介绍Scala使用方法作为函数值,包括了Scala使用方法作为函数值的使用技巧和注意事项,需要的朋友参考一下 示例 Scala编译器将自动将方法转换为函数值,以将其传递给高阶函数。 在上面的示例中,MyObject.mapMethod不是函数调用,而是map作为值传递给。实际上,map 需要传递给它的函数值,如其签名所示。对于签名map的List[A](类型的对象的列表A)是: 该f:

  • 我有这个密码 但是,如果要更新节点的值,该怎么办?我试着在箱子里做value=newValue,但似乎不被允许。 我的树/节点的结构:

  • 我有Intellij-IDEA 13.1.2。[已编辑,以前是13.0.2]我使用scala-plugin。我正在尝试使用工作表来评估代码。 但我得到的只有两个错误: 更新:现在它在Intellij13.1.5、Scala Plugin0.41.2和Scala-2.10和2.11下都能正常工作

  • 我已经在Ubuntu 16.04 LTS上安装了intelliJ-IDEA 2017.2.5和scala插件。当我创建新的scala项目并尝试运行它时,我得到: 错误:Scalac:Scala SDK中的Scala编译器类路径中没有“scala-library*.jar”sbt:org.scala-lang:scala-library:2.12.4:jar 我可以通过转到Project Struc