1、Scala是一门静态类型语音,是一门以Java虚拟机为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。
2、Scala完全支持面向对象编程(OOP),trait能通过使用混合结构简洁地实现新的类型,在Scala中,一切都是对象,即使是数值类型。
3、Scala完全支持函数式编程(FP),函数式编程已经被视为解决并发、大数据以及代码正确性问题最佳工具。
4、提升系统的扩展性:
1)使用trait实现的混合结构
2)抽象类型成员和泛型
3)嵌套类
4)显式自类型(self type)
扩展:
动态语言和静态语言:
1、动态类型语言:是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量制定数据类型,该语言会在你第一次
赋值给变量时,在内部将数据类型记录下来。Python和Ruby是典型的动态类型语言。
2、静态语言类型:与动态类型语言相反,它的数据类型检查发生在编译阶段,在写程序时要声明变量的数据类型。C/C++、C#,Java典型静态类型语言。
强类型语言和弱类型语言:
1、强类型语言:使之强制数据类型定义的语言。没有强制类型转化前,不允许两种不同类型的变量相互操作。强类型定义语言是类型安全的语言,如Java,C#和Python。
2、弱类型语言:数据类型可以被忽略的语言,一个变量可以赋不同数据类型的值,允许将一块内存看做多种类型,比如直接将整型变量与字符变量相加。JavaScript、PHP都是弱类型语言。
注意:强类型语言在速度上略逊于弱类型语言,使用弱类型语言可以节省很多代码量,有更高效的开发效率。而对于构建大型项目,使用强类型语言可能会比使用弱类型更加规范可靠。
5、Scala REPL(read evaluate print loop)