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

Posted 随沃行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在与Java的斗争中,Scala占据了哪些优势相关的知识,希望对你有一定的参考价值。


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

Java有许多的竞争者,但是几乎都失败了,但是现在看起来Scala似乎是成功了。这个构建在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和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的功能特性示例如下:




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


以上是关于在与Java的斗争中,Scala占据了哪些优势的主要内容,如果未能解决你的问题,请参考以下文章

Java具有闭包后的Scala优势[关闭]

Scala 为 JVM 1.7 生成字节码的优势

对象存储的优势有哪些?

Struts2是什么?Struts2的优势有哪些?

Struts2是什么?Struts2的优势有哪些?

JavaWeb优势都有哪些?