Scala  编程语言

  Scala是一门现代的多范式编程语言,志在以简练、优雅和类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。Scala编程语言分别有:

   1.Scala是一个纯面向对象语言,就是从某种意义上来讲所有数值都是对象。也就是对象的类型和行为是由classtrait来描述的,class的抽象可由于类化和一种灵活的基于mixin的组合机制。(它可作为多重继承的的简单替代方案)来扩展。 2.Scala是函数式的:Scala还是一个函数是语言,在某种意义来讲所有函数都是数值。Scala为定义函数提供了一种轻量级的语法,它支持高阶(higher-order ) 函数、允许函数嵌套支持局部套用(currying)。Scalacase类及其内置支持的模式匹配模型、代数类型在许多函数式编程语言中都被使用。

3.Scala是静态类型的:Scala配备了一套富有表现力的类型系统,该抽象概念以一种安全的和一致方式被使用。

4.Scala是可扩展的:Scala的设计承认了实践的事实,领域特定应用开发通常需要领域特定语言扩展。Scala提提供了一个独特语言组合机制,这样可以更加容易地与类库的形式增加新的语言结构:

      (1)任何方式可以被用作中缀(infix)或后缀(postfix)操作符。

    (2)闭包按照所期望的类型(目标类型)自动地构造。

这样能够使两者之间相结合使用可以方便地定义新语句,无需扩展语

法,也无需要使用类似宏的元编程工具。

5.Scala可与JavaNET进行互操作:Scala设计时就考虑了与流行编程环境里良好的交互,如:Java 2运行时自己年纪环境(  JRE )和(NET)框架,  (CLR )。特别是与主流面向对象而言。如:JavaC#尽量无缝交互。Scala有像JavaC#样的编译模型(独立编译、动态装载类)也就是允许访问成千上万的高质量类库。

在以上Scala编程语言的分析,与平常所用的Java的用法是有所相同的,只是在大量的函数功能已经被引入Scala的语言中(也就是大大超出了Java的列出本文的范围),还添加了Java中没有的许多功能,比如:操作符重载(它完全不像Java开发人员想象的那样),具有“更高和更低的类型边界的泛型、视图等。

与其它功能相比,这些功能确实使Scala在处理特定任务方面极其强大,就像处理或生成 XML

 Scala还可以和Java互动操作,它是一种支持组件操作的语言,也可以从Java的应用程序中调用Scala的代码,就是说完全可以把Java的代码全部迁移到Scala 中操作。在应用Scala的程序操作中,它的语言功能和函数功能都超出了Java的所需,也就是说软件应该由可重用的部件构造而成,Scala是一种编程语言,分别来自面向对象和函数式两种不同风格关键概念;包括有:面向对象风格、函数式风格、更高层的并发模型。

 ScalaErlang风格的基于actor并法带进了JVM。开发者现在可以利用Scalaactor模型在JVM上设计具伸缩性的并发应用程序,它会自动获得多核心处理器带来的优势,而不必依照复杂的Java线程模型来编写程序。

  轻量级函数语法 :a.高阶  

                   b.嵌套 

                   c.局部套用(Currying)  

                   d.匿名与XML集成    

                   a. 可在Scala程序中直接书写XML   

                   b. 可将XML转化成ScalaJava无缝地互操作