设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

Groovy创始人:Java面临终结Scala将取而代之

2009-8-7 09:05| 发布者: joejoe0332| 查看: 7578| 评论: 5

  一些Scala资料的链接和在线演示文档

  ◆我强烈推荐由 Martin Odersky,Lex Spoon 和 Bill Venners编写的《Programming in Scala》 一书。它非常好地介绍了Scala的特点以及设计时的选择。这本书相当厚,但是你可以先跳着读,必要时再深入细节。

  ◆《O'Reilly Scala book》这本书我只跳着读了一点,但是看起来也非常不错。

  ◆如果你想在短时间内就知道个大概语法,那么可以看看《Tour of Scala》。不过看了之后你也还得花上一些时间来真正理解为什么它跟Java会有这样那样的不同。

  ◆Martin Odersky 的JavaOne 2008上关于Scala的演说

  ◆Jonas Bonér在 Real-World Scala上作的报告

  ◆Gert's的 对他如何创建 Apache Camel DSL for Scala 的介绍

  ◆用于JDBC类型安全查询的一个Scala版LINQ,顺便再了解下DBC。

  ◆一份非常不错的报告,介绍了把Scala和OSGi与DSL结合使用

  ◆如何使用 Scala和XML ( 语言里已经自带了处理XML,XPath , XSLT, XQuery的简洁语法)

  ◆Scala的例子

  ◆Scala快速参考表

  ◆这个例子显示了如何 创建的bean风格的属性 (或C #风格的getter函数)

  ◆创建一个 用Lift实现的聊天演示程序 或查看 Lift网站上的更详细介绍

  如果你还有一些空余时间的话,这些视频资料也非常不错

  ◆Bill Venners所发表的The Feel of Scala

  ◆Lex Spoon所作的Scala: 把未来的语言带到JVM里来

  好用的Scala框架和库

  ◆liftweb :Scala的rails

  ◆语言规范和ScalaTest for BDD 以及其它一些入门测试(literate testing)能让你体会到类型安全的DSL对于编写IDE友好 的简洁代码有多大帮助。

  ◆scalaz是一个很有用的例程库。

  ◆用HTTP /JSON服务进行调度

  另外,顺便说一下,对于那些像我一样一喜欢JAXRS的,现在可以通过jersey-lift模块使用lift模板和Jersey了。

  作为这的实例,你可以看看RestMQ,这是一个我最近也参与了的开源项目,它旨在为面向消息的中间件提供REST风格的API和Web控制台,它也是基于JAXRS(Jersey),Scala,Lift构建的。

  至于开发工具方面,有Ant/Maven插件,它带有一个交互式Scala控制台(REPL)和一个用于IDEA的IDE插件,还有Eclipse,NetBeans,以及TextMate,Emacs这些通用编辑器,都可以供你选择。在IDE插件的丰富程度上与Java还是有差距的,但是这些工具所提供的代码导航和自动补全功能还是很有用的。

  我试用过NetBeans,Eclipse和IDEA这几个IDE上的插件,它们都各有优劣。看起来,Scala的追随者也因为这些工具分裂成了几派。如果要代码导航和自动补全,那我发现IDEA非常不错。当你打开一个Maven pom.xml,它好像就能非常好地自动解析代码,找出Scala源,那样你就能很方便地在任意的类型/方法以及它们对应的文档/源代码中跳转浏览。(通常你必须在运行/调试任务里手动添加Scala)。不过IDEA在错误代码高亮上并不是最好的。在作上一些弥补后,它们都能变得与对应的Java工具一样好用。试试这几个工具吧,找出你最习惯的那个。

  Scala Nit

  任何一种语言都有你喜欢的一面,也有你不是那么热衷的一面。Scala给你的最初印象可能确实是符号太多了点,但是你并不需要使用所有的这些符号——如果你喜欢的话,你可以继续沿用很多Java里的东西。但我想到了那个时候最好还是用符号来实现“特殊任务”以避免标识符冲突。

  我对嵌套的引入声明不太感冒,使用_root_.java.util..List来把一个”全局“引入和相对引入区别开来。我还更愿意使用子引入。例如,如果你引入了com.acme.cheese.model.Foo,然后,为了引入model.impl.FooImpl,我就更喜欢用一个明确的相对前缀,就像:import _.impl.FooImpl。这对简化任务有一些好处,对于保持和Scala的简洁性就更有帮助了。

  然而,和Java里大把的毛病相比,再考虑到Scala的优美,简洁和强大,Scala的这一些负面因素和根本不算什么了。

  结语:   

  既然MrJava(Adam Bien),MrJRuby(Charles Nutter) 和 MrGroovy(作者本人) 都认为Scala将会是javac的的替代者,那肯定是有些原因的。那你还在等什么呢?赶快去买《Programming in Scala》 或 《O'Reilly Scala book》一探究竟吧!


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部