阅读更多

16顶
6踩

编程语言

原创新闻 Scala 2.9 正式版发布

2011-05-16 15:32 by 正式记者 星·涟 评论(30) 有9918人浏览


Scala 2.9 正式版已经发布了。

Scala是一种针对 JVM 将函数和面向对象技术组合在一起的编程语言。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。Scala融汇了许多前所未有的特性,而同时又运行于JVM之上。

该版本主要改进有:

  • Parallel Collections:通过新的`par`方法,每个集合都能被转化为相应的并行集合。
  • The App Trait:更安全,功能更加强大的APP工具,可通过以下方式来编写一个顶层应用:
  • 引用
    object Echo extends App {
    println("Echo" + (args mkString " "))
    }
  • The DelayedInit Trait:提供另一种工具来定制类和对象的初始化序列
  • Repl Improvements:在jline,PEPL输入处理程序方面做了改进,更强大的游标处理,新增命令如:imports, :implicits, :keybindings等
  • Scala Runner:Scala 代码可通过多种方式运行
  • Java Interop:支持@strictfp 注解
  • Generalized try-catch-finally
  • New packages
  • New methods in collections:
  • AnyRef specialization

详细信息可见:http://www.scala-lang.org/node/43

下载地址:http://www.scala-lang.org/downloads
  • 大小: 5.3 KB
16
6
评论 共 30 条 请登录后发表评论
30 楼 javamonkey 2011-06-14 21:46
我是不是保守了?我觉得这东西没有什么用
29 楼 buptwhisper 2011-06-09 17:27
每个关于scala的消息我都要丁页一下
28 楼 avidmouse 2011-05-20 15:27
已经把公司的大部分项目都迁移到scala on play了。
27 楼 hopkinside 2011-05-18 18:58
水开了 还是不错的
这个世界需要它
26 楼 placeholder 2011-05-18 18:04
john813 写道
Eastsun 写道

更糟糕的是你举的例子是错的。
def func1(x:Int){x+1}
定义的是一个方法(method),就如java里的方法。
val func1=(x:Int)=>x+1
定义了一个常量,这个常量指向一个函数。类似java里的
public final ClassName valueName = new ClassName { ... }
你说的对。我举例的两个函数其内涵确实不一样。这对熟悉scala的人来说,是“语义多样性”的不恰当的例子。但对刚开始学的人来讲(比如我自己),却实在令人懊恼(因为它们两个确实在做同样的事情)。

我认为 val func1=(x:Int)=>x+1 中的func1 一般作为参数传递,而def func1作为方法调用,这样更能分明一些。
25 楼 john813 2011-05-18 17:24
Eastsun 写道

更糟糕的是你举的例子是错的。
def func1(x:Int){x+1}
定义的是一个方法(method),就如java里的方法。
val func1=(x:Int)=>x+1
定义了一个常量,这个常量指向一个函数。类似java里的
public final ClassName valueName = new ClassName { ... }
你说的对。我举例的两个函数其内涵确实不一样。这对熟悉scala的人来说,是“语义多样性”的不恰当的例子。但对刚开始学的人来讲(比如我自己),却实在令人懊恼(因为它们两个确实在做同样的事情)。
24 楼 Eastsun 2011-05-18 16:42
23 楼 Eastsun 2011-05-18 16:40
john813 写道
juniort 写道
这东西有人用么

用的人肯定没java、python这种语言多了。但最前沿的互联网公司还是有几家用的,比如 twitter, foursquere等。另外,据说scala人都是很忙,懒得和别人争语言之优,所以搞的scala很没名气。

scala相比java或者python、ruby来说,真的是锋利很多。同时它还有蛮多缺点。包括:

  • 水平不行不要玩真的,容易自残。这里的“水平”是指函数式编程思想、geek品质等等
  • 要想掌握它不容易。至于有多难,总之比java、python之类的要难
  • scala最大缺点是“语义多样性”。希望 Martin 能在这方面下大功夫改进。所谓“语义多样性”是指,你即可以 "val func1=(x:Int)=>x+1" 这样定义函数,也可以 “def func1(x:Int){x+1}” 这样定义函数。而其他语言,比如java、python、clojure等,在语义上一致性上要好的多。这点实在太糟糕了。


最后我要说,我爱Scala, o'yeah !


更糟糕的是你举的例子是错的。
def func1(x:Int){x+1}
定义的是一个方法(method),就如java里的方法。
val func1=(x:Int)=>x+1
定义了一个常量,这个常量指向一个函数。类似java里的
public final ClassName valueName = new ClassName { ... }


22 楼 wuxian_Abs 2011-05-18 16:14
john813 写道
juniort 写道
这东西有人用么

用的人肯定没java、python这种语言多了。但最前沿的互联网公司还是有几家用的,比如 twitter, foursquere等。另外,据说scala人都是很忙,懒得和别人争语言之优,所以搞的scala很没名气。

scala相比java或者python、ruby来说,真的是锋利很多。同时它还有蛮多缺点。包括:

  • 水平不行不要玩真的,容易自残。这里的“水平”是指函数式编程思想、geek品质等等
  • 要想掌握它不容易。至于有多难,总之比java、python之类的要难
  • scala最大缺点是“语义多样性”。希望 Martin 能在这方面下大功夫改进。所谓“语义多样性”是指,你即可以 "val func1=(x:Int)=>x+1" 这样定义函数,也可以 “def func1(x:Int){x+1}” 这样定义函数。而其他语言,比如java、python、clojure等,在语义上一致性上要好的多。这点实在太糟糕了。


最后我要说,我爱Scala, o'yeah !


支持!个人看好scala,准备在未来的系统开发中使用。
21 楼 john813 2011-05-18 13:45
juniort 写道
这东西有人用么

用的人肯定没java、python这种语言多了。但最前沿的互联网公司还是有几家用的,比如 twitter, foursquere等。另外,据说scala人都是很忙,懒得和别人争语言之优,所以搞的scala很没名气。

scala相比java或者python、ruby来说,真的是锋利很多。同时它还有蛮多缺点。包括:

  • 水平不行不要玩真的,容易自残。这里的“水平”是指函数式编程思想、geek品质等等
  • 要想掌握它不容易。至于有多难,总之比java、python之类的要难
  • scala最大缺点是“语义多样性”。希望 Martin 能在这方面下大功夫改进。所谓“语义多样性”是指,你即可以 "val func1=(x:Int)=>x+1" 这样定义函数,也可以 “def func1(x:Int){x+1}” 这样定义函数。而其他语言,比如java、python、clojure等,在语义上一致性上要好的多。这点实在太糟糕了。


最后我要说,我爱Scala, o'yeah !
20 楼 Julien 2011-05-18 11:01
ray_linn 写道
yecllsl 写道
个人觉得,scala用来解决并发问题比较好,前提是并发的算法设计要设计好。



这个并发的灵感,貌似来自PLINQ。

并发王道还是ADA语言,或者MS的Axum


PLINQ对并发的asParallel支持跟SCALA的角色模型完全是两码事。前者是自动的多线程,后者则是不再在线程上设计软件了。
19 楼 viking.liu 2011-05-18 10:34
菜鸟飘过,学习了
18 楼 placeholder 2011-05-18 09:48
jilen 写道

个人感受而已,不必激动,好吧,我确实是小菜,没发言权,大家请无视。

我只是做个比喻,不必较真,L次便宜,D次贵。
17 楼 ray_linn 2011-05-18 09:38
yecllsl 写道
个人觉得,scala用来解决并发问题比较好,前提是并发的算法设计要设计好。



这个并发的灵感,貌似来自PLINQ。

并发王道还是ADA语言,或者MS的Axum
16 楼 jadylen 2011-05-17 21:33
jadylen 写道
不错不错 

15 楼 jadylen 2011-05-17 21:32
不错不错 
14 楼 jadylen 2011-05-17 21:32
13 楼 Leon.Wood 2011-05-17 20:55
groovy的飘过
12 楼 徐风子 2011-05-17 17:46
唉,tiobe 上 scala已经跌出TOP 50了。
现在还有多少人在用scala? 感觉一阵风后,用的人就少了。
11 楼 jilen 2011-05-17 15:46
jilen 写道
用惯了scala之后,就没多少欲望去用java了。

一直坐L次火车,终于坐了一把D次,就没多少欲望去坐L次了...

placeholder 写道
jilen 写道
用惯了scala之后,就没多少欲望去用java了。

个人感受而已,不必激动,好吧,我确实是小菜,没发言权,大家请无视。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • DockMagic

    VisualBasic一个大缺点就是不支持Dock功能,DockMagic是一个实现VB窗口Dock的功能的OCX控件。2.1版本在2.0版本基础上做了较大的改进,DockMagic支持Visual Studio6, OfficeXP, CaptionBar等几种样式的Dock窗口风格,支持保存Dock的窗口的位子的保存,下次程序启动自动显示上次程序退出时的位子。DockMagic的使用很简单,只要在主窗口中增加DockMagicMan控件,在要实现Dock功能的窗口中增加DockMagicItem控件,设置相关的属性就可以实现Dock功能了。如果你是DockMagic的用户,请多提宝贵意见,你的建议是我改进的动力。 请到下面的地址下载DockMagicVersion 2.1版本 http://www.appspeed.com/download/DockMagic2.1.rar

  • Delphi使用VB编写的ActiveX控件全攻略

    Delphi使用VB控件全攻略前言       在最近几周的工作里,始终被一个头疼的问题所困扰,那就是VB6编写的ActiveX控件在Delphi环境下存在着诸多稀奇古怪的问题,几经周折,终于在搜索了几乎全部的论坛、资料后,找到了针对不同Delphi版本发生的问题的解决办法。 Delphi 5 莫名其妙的致命异常之一       首先,我们来看看VB写的ActiveX控件在De

  • Delphi使用VB开发的ActiveX控件

    背景:某客户使用威尔考勤机,需要从考勤机读取打卡数据,厂家提供了二次开发接口文件,是一个ActiveX控件。操作:按以往的方法,在Delphi6中导入改ActiveX控件,发现生成的***_TLB.pas中没有对应的类。解决:通过查找资料,发现对于此类ActiveX,导入时需要设置一些参数。  设置步骤:菜单Tool=>Enveronment Options=>Type Library中,选中Ignore   special   CoClass   Flags   When   Importing,选中ca

  • 快速学会ActiveX控件开发

    ActiveX 是一个打开集成平台提供用于开发Internet和Intranet程序集成和内容。

  • Kafka 发布版本和发布历史

    Kafka的发展历史: Kafka早期是由LinkedIn公司内部开发的,并于2011年早期开源,2012-10-23 日从apache incubator 毕业。...scala 2.11 表示的scala的版本号。 前面的版本号是编译 Kafka 源代码的 Scal...

  • Spark2.1.0之基础知识

    但在此之前,读者先跟随本人来一次简单的时光穿梭,最后还将对Java与Scala在语言上进行比较。版本变迁 经过5年多的发展,Spark目前的版本是2.3.0。Spark主要版本的发展过程如下:Spark诞生于UCBerkeley的AMP实验室...

  • android studio 正式版本

    3.1 正式版 Windows android-studio-ide-173.4670197-windows.exe 794898984 bytes d787baa8d9282cbbc671b82b127c3e6bfe9f73a5674ceed17a9e68f926aac526 查看 android-studio-ide-173.4670197-windows32...

  • Android Studio 3.1 正式版

    3.0.1 正式版 Windows android-studio-bundle-171.4443003-windows.exe 683 MB 1f71333fc8f31281b643a12d7f9d4c22e75ee7c14dc1faf00ce3d5291ef40bb0 查看 android-studio-ide-171.4443003-windows32.zip...

  • Myeclipse 安装Scala环境

    在正式介绍之前,先要以下软硬件准备: 软件准备: Eclipse Juno版本(4.2版本),可以直接点击这里下载:Eclipse 4.2 Scala 2.9.3版本,Window安装程序可以直接点击这里下载:Scala 2.9.3 Eclipse ...

  • vb开发的activex 与javascript 交互

    1) javascript操作activex。    开发工程中,我们常会用到这种情况。比如说,当点击web控件时,使activex的某个按妞变灰。为了实现上面的功能,我们要在activex中加一个let属性。然后在let~~中加如相应的操作代码。这样在网页里我们就可以通过javascript来操作这个属性。    我们在activex程序中加入:    Public Property Let T

  • 手把手教你用VB制作ActiveX控件

    随着控件在可视化编程中地位地位提高,控件也成了编程中最重要的一部分。许多VB编程者也许苦于没有好看的控件,今天登高望远来教大家如何制作ActiveX控件。 一、新建工程       1.选择ActiveX控件 2.打开工程 我们会看到工程资源管理器中多了一个UserControl1,这就相当于是应用程序中的Form1。        下面来介绍UserControl1的基本属性

  • Delphi 调用VB写的控件[转]

    前言        在最近几周的工作里,始终被一个头疼的问题所困扰,那就是VB6编写的ActiveX控件在Delphi环境下存在着诸多稀奇古怪的问题,几经周折,终于在搜索了几乎全部的论坛、资料后,找到了针对不同Delphi版本发生的问题的解决办法。   Delphi 5 莫名其妙的致命异常之一        首先,我们来看看VB写的ActiveX控件在Delphi 5下面的奇怪表现。 例

  • Delphi 中使用 VB 开发的控件

    在Delphi 中1. [Tools]->[Environment Options]->[Type Library] 选中 [Ignore special CoClass Flags When Importing] 再选中[Can Create] 2. [Component] -> [Import ActiveX Control] -> 选中要导入的 OCX 控件 -> 改修[Palette pa

  • scala和java_Scala还是Java? 探索神话和事实

    scala和java Scala编程语言的普及,在博客和社交网络上的大量评论和批评(例如GridGain的Nikita Ivanov和流行的Yammer案例 )引起了人们的广泛关注,这极大地增加了有关该语言的信息量。 但是,此类信息的质量通常有...

  • 利用Eclipse构建Spark集成开发环境(包括scala环境的搭建)

    在正式介绍之前,先要以下软硬件准备: 软件准备: Eclipse Juno版本(4.2版本),可以直接点击这里下载:Eclipse 4.2 Scala 2.9.3版本,Window安装程序可以直接点击这里下载:Scala 2.9.3 Eclipse ...

  • scala编程_2012年的Scala? 决定是否投资编程语言

    scala编程 我发现大约每年学习一种新的编程语言或主要框架既有趣又有意义。 如果被迫使用任何一种编程语言进行自我识别,那将是Java。 但是,这些年来,我已经相当广泛地使用了C和C ++,并且已经使用并学到了足够...

  • 2012年的Scala? 决定是否投资编程语言

    特别是, 用于Eclipse的Scala IDE过去具有过硬的优势-Typesafe作为Scala的主要商业贡献者,已经投入了大量资源来检修2.0版的IDE(于2011年12月发布 )。 。 采用的另一个挑战是,Scala确实在函数式编程中引入了一种...

  • Scala IDE 2.0增加重构支持

    Scala IDE赶在年底发布了2.0版。Scala IDE项目最初由Miles Sabin创立,后与Typesafe携手,造就了一个达到产品级质量的Scala开发...2.0版在正式发布之前,经历了2011年全年一系列beta测试,成功将Scala环境带到Eclips...

Global site tag (gtag.js) - Google Analytics