scala攻略--简介

  在我的学习scala的过程当中,产生了写一系列随笔的想法,这些随笔包括:翻译自官网、其余英文网站的文章以及本身的心得体会,本文章做为这个系列中的第一个。html

  因为本人能力所限,以及对scala还处于初级阶段,有任何错误或者问题,欢迎你们指正,多谢。web

  原文连接:http://docs.scala-lang.org/tour/tour-of-scala.html编程

  

 

  scala是一个现代的多范式编程语言,经过简洁、优雅和类型安全的方式搭建通用编程模型。它巧妙的结合了面向对象和函数式编程特性。数组

  scala是面向对象的

  scala是一个纯粹的面向对象语言,全部的值都是对象。类型和对象的行为经过class和trait的方式进行描述。class能够被子类继承,经过灵活的mixin模式组装机制来实现多继承的效果。安全

  scala是函数式编程

  scala也是一种函数式编程,每一个函数都是值。scala提供一种轻量语法来定义匿名函数,它支持高阶函数,它支持内置函数,支持柯里化。scala的case class和内置的规则匹配模型,在许多函数式编程语言中都在使用。singleton object提供了一种方便的方式,将不属于类实例的函数组合。
  进一步讲,scala的规则匹配概念扩展自XML数据处理,借助先行匹配的模式,经过extractor object实现。在上下文中,for 推导式有助于准确查询。这些特性使scala成为开发web服务相似应用的理想语言。

  scala是静态类型

  Scala拥有强大的静态类型系统,抽象能够经过安全的、一致的方式进行使用。
  一个本地类型引伸机制帮助用户不须要编写冗余的类型信息。综合上述特性,scala为安全的抽象复用和类型安全扩展提供了一个强有力的基础。

  scala是可扩展的

  实践中,特定领域应用的开发须要特定领域语言的支持。scala提供一种统一的语言组合机制。很是方便地经过库的方式添加新的语言组件。
  Scala与JRE有很好的交互。特别是与主流面向对象编程语言Java的结合很是天然。Java的新特性例如注解和泛型受到scala的启发。那些在Java中没有相似的特性,如默认值和命名式参数,也会以合理的方式进行编译。scala与Java有相似的编译模型,容许访问数以千计的已经存在的高质量库。
相关文章
相关标签/搜索