登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发评论 > 正文

在与Java的斗争中,Scala占据了哪些优势

2018-01-31 23:12    it168网站 原创  作者: 编译|田晓旭 编辑: 田晓旭

  【IT168 评论】Scala自诞生之日起,就背负着与Java作斗争的使命, Green Team 1995年创建Java以来,Java一直是最流行的多功能编程语言之一。Scala于2003年推出,旨在解决开发人员对Java的许多担忧。


  Java有许多的竞争者,但是几乎都失败了,但是现在看起来Scala似乎是成功了。这个构建在Java虚拟机之上的语言提供:

  ·与Java兼容

  ·互通性

  2009年,Twitter将其大部分代码从Ruby转到Scala;2011年,Guardian也将其后端从Java切换到Scala。Scala中的代码优化和速度让这些网站不再担心速度的网站。

  Scala与其它语言

  Google 在多种语言中进行了基准测试:C ++,Java,Scala和Go。该报告阐明了这个问题:为什么要使用Scala?

  程序员经常会被要求考虑要选择最适合这个任务的语言,如果你的任务是为每天只有10个访问者的网站制作基本表单,那么PHP就足够了,Scala难免会有点过火。

  那么,Scala在哪里表现突出?根据Google的run-time measurements:

  ·Scala提供了代码复杂性优化

  ·Scala提供简洁的符号

  由于垃圾收集,Scala和Java总是很难测试基准,垃圾收集会干扰基准测试的准确性,因此开发人员必须了解Scala的整体优势。

  Scala的优点

  Scala的复杂功能促进更好的编码,并提高性能。函数,宏和元组只是Scala提供的一些改进。Scala将功能性编程和面向对象的编程融入了强大的语言。

  Scala和C ++或Go这样的语言进行比较是很困难的,但是与Java比较就相对容易一点。我们将Scala与Java进行比较的原因是因为该语言是在Java虚拟机环境中运行的,该语言是为了消除Java的限制性,为程序员提供了一个组织良好,语言清晰的语言。

  面向对象和功能性编码范例

  面向对象和函数编码范例在Scala中是可以实现的,程序员利用这两个优势可以让代码更加简洁实用。

  使用更少的代码行,Scala可以执行与Java相同的任务,不过,有些方法会脱离标准实践,代码阅读会困难一些。

  Java兼容性和互操作性

  Scala和Java是不同的语言,但这并不意味着开发人员需要重新造轮子。Scala支持与Java的兼容性和互操作性,允许开发人员利用JVM的优势、保持Java库。

  Scala中的单例对象使用,而不是Java或c++中的类静态使用,允许进行更清晰的编码。

  功能

  所有开发人员都知道掌握一门新语言需要时间,Scala当然也有学习曲线。Scala尝试添加到Java中以使其功能更强大,通过此功能,开发人员可以访问高级功能。

  Scala的功能特性示例如下:

  ·先进的String comparison

  ·模式匹配

  ·mixin,它在类定义中包含函数。

  在非java环境中有经验的开发人员更习惯于Scala提供的特性。当用Scala编写时,可伸缩的软件更容易编写、测试、调试和部署。Scala还可以用来开发桌面软件、游戏、网络应用、移动解决方案和软件。Klout, LinkedIn、亚马逊、暴雪、Coursera和Twitter都在使用Scala。

标签: java , Scala
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫一扫关注

行车视线文章推荐

首页 评论 返回顶部