编程语言 Scala

编程语言 Scala

BSD
Scala
跨平台
2008-11-11

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

  • Scala是面向对象的:Scala是一个纯面向对象语言,在某种意义上来讲所有数值都是对象。对象的类型和行为是由class和trait来描述的。Class的抽象可由子类化和一种灵活的基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。
  • Scala是函数式的: Scala还是一个函数式语言,在某种意义上来讲所有函数都是数值。Scala为定义匿名函数提供了一种轻量级的语法,它支持高阶(higher- order)函数、允许函数嵌套、支持局部套用(currying)。Scala的case类及其内置支持的模式匹配模型代数类型在许多函数式编程语言中 都被使用。
  • Scala是静态类型的:Scala配备了一套富有表现力的类型系统,该抽象概念以一种安全的和一致的方式被使用。
  • Scala是可扩展的:Scala的设计承认了实践事实,领域特定应用开发通常需要领域特定语言扩展。Scala提供了一个独特的语言组合机制,这可以更加容易地以类库的形式增加新的语言结构:
    • 任何方式可以被用作中缀(infix)或后缀(postfix)操作符
    • 闭包按照所期望的类型(目标类型)自动地被构造
    两者结合使用可方便地定义新语句,无需扩展语法,也无需使用类似宏的元编程工具。
  • Scala可与Java和.NET进行互操作:Scala 设计时就考虑了与流行编程环境良好交互,如Java 2运行时环境(JRE)和 .NET框架(CLR)。特别是与主流面向对象语言,如Java和C#尽量无缝交互。Scala有像Java和C#一样的编译模型(独立编译,动态装载 类),允许访问成千上万的高质量类库。

在线Scala文档:http://www.ostools.net/apidocs/apidoc?api=scala-docs-2.9.2

加载中

评论(12)

极乐小程序
极乐小程序
我的第一个scala程序 https://zhuanlan.zhihu.com/p/32454132 #Scala#
乾坤之道
乾坤之道
有没有中文版的API文档?
s
speedhero
吓死宝宝了,感觉java都忘记怎么写了!
老枪
老枪
Java开发者对的Scala的5种反应。http://scalaeveryday.com/?p=100
小卒过河
小卒过河
推荐:Scala看起来难,其实不难。http://markusjais.com/why-scala-seems-difficult-but-reallyisnt/ 里面有提到一篇:Scala: The Static Language that Feels Dynamic。
wfifi
wfifi
右下角的广告啊~能不能含蓄点 Scala
戴威
戴威
试来试去还是 ScalaPython 写代码最爽, #nodejs# 不好用, Go 太年轻。
二进制艺术
二进制艺术
scala是我最爱的编程语言,没有之一 Scala

Scala 2.13 发布

Scala 2.13 发布了,此版本在以下几个方面都有所改进: Collections:标准库集已经过大修,进行简化,并提高了性能和安全性。这是此次发布版本的核心内容。 Standard library:Future 更快、...

06/12 07:17

Scala 2.12.4 发布,编译时间再减少 5-10%

Scala 2.12.4 已发布,与上个版本比较,基准测试显示编译时间再减少5-10%。此外,还包含对 Java 9 支持的改进以及一些功能改进。 Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型...

2017/10/21 08:15

Scala 2.12.3 发布,多范式编程语言

Scala 2.12.3 发布了,Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。 更新内容: Compiler performan...

2017/07/28 14:20

不用抓狂 三分钟带你遨游各种 JVM 语言

无论您最熟悉的 Java、Scala 还是其它 JVM 语言,总会有更多 JVM 语言不断出现并伴随着各种相关特性。最重要的是,总有一些来自某些语言的、优秀的 “基本” 元素在其它语言中难觅其踪。 正因...

2017/01/23 08:17

Scala 2.12.1 发布,多范式编程语言

Scala 2.12.1 发布了,Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。 更新内容: 提高 Vector 运行速...

2016/12/12 07:44

编程语言 Scala 2.12.0 正式版发布

编程语言 Scala 2.12.0 正式版发布了。 Scala 2.12.0编译器已经完全翻修,在Java 8中提供的新VM功能: trait使用默认方法直接编译到接口,这提高了二进制兼容性和Java互操作性。 Scala和Jav...

2016/11/04 07:42

编程语言 Scala 2.12.0-M3 发布

Scala 2.12.0-M3 发布,主要更新内容如下: The REPL received a robust and flexible implementation of tab-completion (details below) - a fruitful collaboration between @som-snytt a...

2015/10/07 07:32

编程语言 Scala 2.10.6 发布

Scala 2.10.6 发布,此版本是个维护版本,二进制包兼容之前的 2.10 系列版本。 Scala IDE 当前的 Scala IDE 支持任意的 2.10.x 版本,现已提供下载。 下载:https://github.com/scala/scala/...

2015/09/20 08:16

编程语言 Scala 2.12.0-M2 发布,要求 Java 8

Scala 2.12.0-M2 发布,相比 M1 值得关注的更新内容如下: 要求 Java 8 Lambdas 编译成 Java 8 样式闭包 此外还解决了 9 issues. 合并了 29 pull requests。 跟往常一样,2.12.0-M2 二进制不...

2015/07/20 07:42

编程语言 Scala 2.11.7 发布

编程语言 Scala 2.11.7 发布,值得关注的更新如下: The Scala REPL is now easier for projects such as Spark to embed and customize (PR #4563, SI-7747). Pattern matching is now fast...

2015/06/24 08:12

没有更多内容

加载失败,请刷新页面

2
回答
Timer定时任务,在集群cancel掉本地却还在运行?

编写了一个定时任务,用的是Scala语言的Timer,然后放在了flink集群运行,但每次cancel掉任务时,后台还是会运行,日志还是会输出,导致后台任...

04/09 20:18
9
回答
Java工程师发展问题

各位oscer大牛好,我做Java工程师大约有4个年头了,4年除Java外还学习了python、scala、hadoop、spark、这些东西,但都没有实...

2018/11/21 10:24
1
回答
Ingite如何对spark的dataframe数据进行写入?

请问我在使用ignite对spark的dataframe数据写入的时候报错如下 Exception in thread "main" class org....

2018/04/19 09:40
1
回答
sparksql中通过反射机制将RDD转换为dataframe的疑惑!求解答!!!

spark2.10 object TestRowNumber { def main(args: Array[String]): Unit = { ...

2018/06/08 12:35
1
回答
求scala两种递归区别,为什么前者没有StackOverflowError

在学习scala的时候,建议采用递归和for来做循环,但接触到其他语言的递归稍不注意就会出现栈溢出异常,于是就去测试了一下,结果让我有点意外: scala...

2018/06/07 09:15
3
回答
Scala中的react默认是4个线程,如何修改线程数量?

Scala中的react默认是4个线程,如何修改线程数量?

2013/05/28 00:25
1
回答
Sbt如果引用本地jar包

我在github上看到了一些开源工具包。项目采用sbt来管理。根据我的知识:sbt找jar包总是通过网络来找。及时本地有也不用. 那我现在如果引本地jar包呢

2017/11/16 12:19
2
回答
在scala中,如何逆序循环?

比如 val array = new Array(1,2,3,4,5) 如何不用排序输出54321,谢谢?

2017/11/17 21:56
3
回答
Scala调用Java 泛型函数

最近在用Scala调用Java的多态类。 ... bootstrap.group(bossGroup, workerGroup) //创建NioSer...

2017/11/08 11:25
5
回答
scala 学习 什么书比较好

scala 学习 什么书比较好 (非入门)。

2012/05/08 22:57

没有更多内容

加载失败,请刷新页面

Scala开发入门教程

转自 http://blog.csdn.net/mapdigit/article/details/21878083 Scala开发入门教程 Scala语言和其它语言比如Java相比,算是一个比较复杂的语言,它是一个面向对象和面向函数的统一体,使用起...

2015/03/25 10:13
197
0
Scala运行脚本时报UnknownHostException解决办法

博主最近在学习Scala,希望能在这过程中和大家分享自己的心得,也希望各位巨巨多多指点!

2016/02/02 15:22
225
1
Scala开发问题汇总(不断更新中)

1、Scala教程 Scala Tutorial 2、Java和Scala集合如何进行互转? CONVERSIONS BETWEEN JAVA AND SCALA COLLECTIONS Converting Java collections to Scala 3、如何将List转换为Map? Conver...

2018/07/05 21:04
25
0
Scala里如何进行++和--操作?

问题 Scala没有++和--运算符,是否有一些类似的操作符或方法可以替代? 解决方案 因为val字段是不可变的,它们不能递增或递减,但是声明为var的Int字段是可变的,可以使用Scala的+=和−=方法...

02/13 17:51
13
0
写给Python程序员的Scala入门教程

随着业务和数据的需要,我们引入了[`Spark`](http://spark.apache.org/)。`Spark`对`Python`的支持还是挺好的,但毕竟它还是使用`Scala`开发的,且现有的API并没有100%覆盖Python。所以就有了...

2015/11/29 23:47
954
0
简单介绍Scala的基本数据类型,与Java唯一的不同是?

简介 Scala的基本数据类型与Java中的基本数据类型是一一对应的,不同的是Scala的基本数据类型头字母必须大写。 整数类型变量定义 ``` //16进制定义法 scala> val x=0x29 x: Int = 41//十进制...

2018/10/16 16:54
7
0
scala安装

上scala官网下载对应平台的安装包,这里以Ubuntu,scala2.11版本为例 scala下载地址:https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.tgz 下载好后,进入下载目录:执行 tar ...

04/24 15:58
0
0
写给Java程序员的Scala入门教程

之前因为Spark的引入,写了一篇《写给Python程序员的Scala入门教程》。那篇文章简单对比了Scala与Python的异同,并介绍了一些Scala的常用编程技巧。今天这篇文章将面向广大的Java程序员,带领...

2016/07/25 15:34
4.3K
22

没有更多内容

加载失败,请刷新页面

返回顶部
顶部