手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

scala是什么

首页 > Scala & Ruby >

前两天一直在说scala,有几个朋友问我什么 是Scala,每次让他们翻一下google也太累了,所以我就贴在博客上,当然这也是找出来的东西,我没有能力写这么多。

我个人还是认为,不管怎么样,WEB、winform、console(shell)三种编程效果的程序语言最好都要熟悉一种,不管是为了将来的职业发展还是工作应用,都会有很大的方便。
OK,开始介绍:

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#一样的编译模型(独立编译,动态装载 类),允许访问成千上万的高质量类库。

来源:http://www.oschina.net/p/scala




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: scala, java

« 上一篇 | 下一篇 »

只显示10条记录相关文章

scala之hello world调试成功【基于netbeans IDE】 (浏览: 30185, 评论: 0)
JDK最新版本下载及JDK安装与配置 (浏览: 26372, 评论: 0)
netbeans更换jdk路径 (浏览: 25556, 评论: 1)
Android 手机上的 Scala 编程 (浏览: 25139, 评论: 0)
一些基于xmpp的server列表 (浏览: 23005, 评论: 0)
PHP+MYSQL的OA为何没有Java的值钱 (浏览: 20718, 评论: 0)
Scala分类建立 (浏览: 20400, 评论: 3)
JDK自带的native2ascii工具 (浏览: 19370, 评论: 0)
Java and C# Comparison (浏览: 19058, 评论: 4)
scala是个有趣的语言 (浏览: 18632, 评论: 0)

1条记录访客评论

期待你出一系列的scala的文章,现在scala的书籍还是太少,我很看好动态语言的

Post by popo on 2010, May 28, 12:41 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):