🏠 个人主页:csdn春和
📒 推荐专栏:JavaWeb专栏(从入门到实战超详细!!!)
📜 本期文章:Scala的简述
如果对您有帮助还请三连支持,定会一 一回访!
Scala简述
1、什么是Scala?
首先看看官网对于scala的简介
从英文的角度来讲,Scala并不是一个单词,而是Scalable Language两个单词的缩写,表示可伸缩语言的意思。从计算机的角度来讲,Scala是一门完整的软件编程语言,那么连在一起就表示Scala是一门可伸缩的软件编程语言。之所以说它是可伸缩,是因为这门语言体现了面向对象,函数式编程等多种不同的语言范式,且融合了不同语言新的特性。即Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。
Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库
2.、Scala的历史
Scala编程语言是由联邦理工学院洛桑(EPFL)的Martin Odersky(马丁.奥德斯基)于2001年基于Funnel的工作开始设计并开发的。由于Martin Odersky之前的工作是开发通用Java和Javac(Sun公司的Java编译器),所以基于Java平台的Scala语言于2003年底/2004年初发布。
3、Scala的特点
1、面向对象
scala是一门纯面向对象的语言,每一个值都是对象。对象的数据类型以及行为由类和特质描述。
类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。
2、函数式编程
Scala也是一种函数式语言,其函数也能当成值来使用。
支持
匿名函数
、高阶函数
、嵌套函数
、函数柯里化
、模式匹配
3、静态类型
Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。
4、扩展性
Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构
4、Scala与Java的关系
Martin Odersky是狂热的编译器爱好者,长时间的编程后,希望开发一种语言,能够让写程序的过程变得简单,高效,所以当接触到Java语言后,感受到了这门语言的魅力,决定将函数式编程语言的特性融合到Java语言中,由此产生了2门语言(Pizza & Scala),这两种语言极大地推动了Java语言的发展
1、JDK1.5的泛型,增强for循环,自动类型转换等都是从Pizza语言引入的新特性
2、JDK1.8的类型推断,λ(lambda)表达式是从Scala语言引入的新特性
1由上可知,Scala语言是基于Java开发的,所以其编译后的文件也是字节码文件,并可以运行在JVM中。