精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-19
Scala是一个以JVM为平台的面向对象的functional语言. 正当开发人员寻找各种能够在JVM上运行,并且相对与Java语言来说能大幅度提供开发人员的效率的语言时,Scala以一种强大的,但实验性的竞争者出现了. 技术发展的太快,不停的有新的东西出现,Scala这种语言对我来说真是很陌生, 但网上对这个语言的讨论好像慢慢越来越多, 最近有个David Pollak的写了一篇Blog是关于Scala的Option对象的,吸引了很多关注, 我浏览了一下觉得有些价值,就选取了一些关键的论点摘译了一下,供大家欣赏. 本文由 docman.cn 翻译家 提供 David Pollak, 使用the lift framework将Scala应用于企业级web开发的先锋,在他最近的一篇Blog : The Scala Option class and how lift uses it.里强调了Scala的这个很有用的语言特征. Pollak's 介绍Scala's 也许更可取的是抛出一个异常—但这个没有找到用户的事件很难达到使用异常的条件—Java里没有对应于null的类型和方法. 一个例子,那些可以接受null返回值的代码如果没有检查是否是null值,就会容易的导致一个NullPointerExceptions. 那些把null跟系统里类型同等对待的语言,例如Ruby,能够在null值上调用nil?,是应该受到赞赏的. 根据David Pollak Blog里介绍的,Scala's Scala上实现的有些不同.
Pollak 说在Scala丰富的collection's API中 Pollak 在他的lift framework里展示了如何使用Options进行简单的编码: 这就意味着你的代码应该象下面的样子: def confirmDelete { 这里没有显式的防止/测试这个"id"参数是否被传入,也没有显式的测试这个用户是否被找到. 如果这个id没有提供,或者是系统中没有符合这个id的用户,"else"语句就会被执行. 你可以看到这些代码是完全的类型安全的(type-safe). 尽管这里没有显式的类型声明,编译器仍然知道每个对象的类型是什么. What do you think of Scala's 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-20
语法倒是很简练
|
|
返回顶楼 | |
发表时间:2007-06-06
Scala貌似很不错,可惜作者挑错东西翻译了。开始就丢出一个陌生语言的一个小细节来,实在沟不起大家的兴趣。
挑个event-based actor或者thread actor出来,绝对能够吊起大家的胃口。 如今流行actor,看看Erlang就知道啦. |
|
返回顶楼 | |
浏览 6044 次