Scala 与Java
Java是一种通用的计算机编程语言,它是并发的、基于类的、面向对象的等Java应用程序被编译为可以在任何Java虚拟机 (JVM) 上运行的字节码,而与计算机架构无关。
Scala 是一种通用的、高级的、多范式的编程语言。它是一种纯面向对象的编程语言,也为函数式编程方法提供支持。没有原始数据的概念,因为在 Scala 中一切都是对象。它旨在以一种精炼、简洁和类型安全的方式表达一般编程模式。
以下是 Scala 和Java之间的一些主要区别:
Scala | Java |
---|---|
Scala is a mixture of both object oriented and functional programming. | Java is a general purpose object oriented language. |
Scala is less readable due to nested code. | Java is more readable. |
The process of compiling source code into byte code is slow. | The process of compiling source code into byte code is fast. |
Scala support operator overloading. | Java does not support operator overloading. |
Scala supports lazy evaluation. | Java does not support lazy evaluation. |
Scala is not backward compatible. | Java is backward compatible means the code written in the new version can also run in older version without any error. |
Any method or function present is Scala are treated like they are variable. | Java treats functions as an object. |
In Scala, the code is written in compact form. | In Java, the code is written in long form. |
Scala variables are by default immutable type. | Java variables are by default mutable type. |
Scala treated everything as an instance of the class and it is more object oriented language as compare to Java. | Java is less object oriented as compare to Scala due to presence of primitives and statics. |
Scala does not contain static keyword. | Java contains static keyword. |
In Scala, all the operations on entities are done by using method calls. | In Java, operators are treated differently and is not done with method call. |