2010年10月18日 星期一 09:46
Scala从去年开始扫了几本书, 看了一些资料, 但随着项目的“压迫”, 暂时就搁置了。今年十一长假我有半个月时间, 把OReilly的Progamming Scala又搞定了, 另外手头上的这个产品2.0.1的上线之后, 又有了空闲,Scala相关的资料就又啃了一些,所以, 如大家所见,我现在还都是理论阶段, 一直没有找到实践的机会(当然,或许是自己找借口,呵呵), 下一个产品因虽然没有其他依赖,可以采用Scala开发,但考虑到工期还是紧,而且估计就我一个能玩玩Scala的,所以, 暂时就不打算在这个项目上用了, 等成型之后,考虑搞一个Java版本,一个Scala版本,然后从各个方面对比一下,也好为以后的应用做个参考。
至于为什么看好Scala, 有几个原因, 首先, 她跟Java集成很好, Java平台的庞大的积淀可以沿用到Scala当中, 这是她的最大优势; 其次, OO+FP的组合可以提高开发效率, 减少维护成本, 个人感觉FP抽象要比OO更进一步; 剩下的就没啥好说的了, Ordesky的演讲中也提到很多,感兴趣可以看一下。
不过感觉Scala当前最不爽的一个地方就是外围支持不太完善,尤其是IDE支持, TextMate的bundle虽然提供了,但个人用过之后不好用,不知道是不是TextMate版本的问题, 等Scala的外围支持好了之后,我觉得Scala的推行就不是什么问题了。
关于Scala项目的管理(往简单了说, 编译之类), 可以是用 GoogleCode上的SBT(Simple Build Tool), 这个项目很有意思,从使用上来说, 与maven很相似, 比如`sbt clean compile run`, 而从其设计上来说,它很好的遵循了Scala的一致性原则, 项目的定义完全就是一个Scala类/对象,SBT编译的目标项目(project)是scala项目, 而SBT编译定义相关的artifacts也组成一个scala项目, 呵呵, 完全的一致而统一!
先说这些, 得搞下个项目的技术调研了, 有时间再补, 欢迎大家参与和讨论;-)
Zeuux © 2024
京ICP备05028076号