41,228
次編輯
變更
Scala
,创建页面,内容为“{| class="wikitable" align="right" |- | style="background: #008080" align= center| '''<big>Scala</big> ''' |- | File:267f9e2f07082838c3cddb08b399a9014d08f1ee.jp…”
{| class="wikitable" align="right"
|-
| style="background: #008080" align= center| '''<big>Scala</big> '''
|-
|
[[File:267f9e2f07082838c3cddb08b399a9014d08f1ee.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]]
|-
| style="background: #008080" align= center|
|-
| align= light|
|}
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
=='''简介'''==
Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格。Christopher Diggins认为:不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)。
与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、柯里化(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上[[运行]]。
=='''评价'''==
Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。用David Rupp的话来说,它也可以访问现存的数之不尽的Java类库,这让(潜在地)迁移到Scala更加容易。这让Scala得以使用为Java1.4、5.0或者6.0编写的巨量的Java类库和框架,Scala会经常性地针对这几个版本的Java进行测试。Scala可能也可以在更早版本的Java上运行,但没有经过正式的测试。Scala以BSD许可发布,并且数年前就已经被认为相当稳定了。联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。Funnel是把函数式编程思想和Petri网相结合的一种编程语言。Odersky先前的工作是Generic Java和javac(Sun Java编译器)。Java平台的Scala于2003年底/2004年初发布。.NET平台的Scala发布于2004年6月。该语言第二个版本,v2.0,发布于2006年3月。<ref>[https://zhuanlan.zhihu.com/p/171756902 Scala]搜狗</ref>
=='''参考文献'''==
|-
| style="background: #008080" align= center| '''<big>Scala</big> '''
|-
|
[[File:267f9e2f07082838c3cddb08b399a9014d08f1ee.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]]
|-
| style="background: #008080" align= center|
|-
| align= light|
|}
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
=='''简介'''==
Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格。Christopher Diggins认为:不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)。
与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、柯里化(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上[[运行]]。
=='''评价'''==
Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。用David Rupp的话来说,它也可以访问现存的数之不尽的Java类库,这让(潜在地)迁移到Scala更加容易。这让Scala得以使用为Java1.4、5.0或者6.0编写的巨量的Java类库和框架,Scala会经常性地针对这几个版本的Java进行测试。Scala可能也可以在更早版本的Java上运行,但没有经过正式的测试。Scala以BSD许可发布,并且数年前就已经被认为相当稳定了。联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。Funnel是把函数式编程思想和Petri网相结合的一种编程语言。Odersky先前的工作是Generic Java和javac(Sun Java编译器)。Java平台的Scala于2003年底/2004年初发布。.NET平台的Scala发布于2004年6月。该语言第二个版本,v2.0,发布于2006年3月。<ref>[https://zhuanlan.zhihu.com/p/171756902 Scala]搜狗</ref>
=='''参考文献'''==