本节主要内容
- Scala简介
- 为什么要学习Scala
- Scala语言初步
1. Scala简介
Scala(Scala Language的简称)语言是一种能够运行于JVM和.Net平台之上的通用编程语言,既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发,2004年开始程序运行在JVM与.Net平台之上,由于其简洁、优雅、类型安全的编程模式而受到关注。
Scala的创建者——Martin Odersk
在Scala的创建之初,并没有怎么引起重视,随着Apache Spark和Apache Kafka这样基于Scala的大数据框架的崛起,Scala逐步映入大数据从业者的眼帘。Scala的拥护者们认为Scala的主要优势是速度和它的表达性。目前使用scala的作为支撑公司开发语言的包括Foursquare和Twitter。2009年Twitter把大部分后台系统的开发语言从Ruby换成了Scala。参见这篇文章:Twitter on Scala: A Conversation with Steve Jenson, Alex Payne, and Robey Pointer,” Scalazine, April 3,2009, www.artima.com/scalazine/articles/twitter_on_scala.html.
Scala语言具有如下特点:
1 纯面向对象编程语言
- (1) Encapsulation/information hiding.
- (2)Inheritance.
- (3)Polymorphism/dynamic binding.
- (4)All predefined types are objects.
- (5) All operations are performed by sending messages to objects.
- (6)All user-defined types are objects.
2 函数式编程语言
定义:Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data.
函数式编程语言应支持以下特性:
(1)高阶函数(Higher-order functions)
(2)闭包( closures)
(3)模式匹配( Pattern matching)
(4)单一赋值( Single assignment )
(5)延迟计算( Lazy evaluation)
(6)类型推导( Type inference )
(7)尾部调用优化( Tail call optimization)
(